2016-08-18 9 views
0

xsltの新機能ここに入力xmlがあります。ここで特定の要件のxsltを作成できません

<Response> 
    <RecordNumber/> 
    <id>2014-12-24</id> 
    <person>    
     <gender>MALE</gender> 
     <genericLocations>    
      <effective>2012-11-28</effective> 
     </genericLocations> 
     <genericLocations>    
      <expiration>2012-11-27</expiration>    
      <effective>2008-12-09</effective> 
     </genericLocations> 
     <genericLocations> 
      <expiration>2008-12-08</expiration>    
      <effective>2006-01-13</effective> 
     </genericLocations> 
     <genericLocations> 
      <expiration>2006-01-12</expiration>    
      <effective>2001-07-17</effective> 
     </genericLocations> 
     <genericLocations>    
      <expiration>2001-07-16</expiration>    
      <effective>1901-01-01</effective> 
     </genericLocations> 
     </person> 
    </Response> 

は、必要な出力XMLです:

<Response> 
    <RecordNumber/> 
    <id>2014-12-24</id> 
    <person>    
     <gender>MALE</gender> 
     <genericLocations>    
      <effective>2012-11-28</effective> 
     </genericLocations>    
     </person> 
    </Response> 

出力XMLは、「有効期限」は、空の(または欠落)または「有効期限」のいずれかである唯一の「genericLocations」ノードを格納する必要があります将来(今日の日付よりも大きい)です。

ご協力いただきありがとうございます。 XSLT 2.0と仮定すると

+0

関連:http://stackoverflow.com/questions/20342805/xslt-1-0-compare-dates –

+0

** 1 ** ** XSLT 1.0または2.0を使用している場合は記載してください。 XSLT 1.0の場合、特定のプロセッサは? ** 2。**基準を満たす複数のノードがある場合はどうなりますか?何もない場合はどうなりますか? –

答えて

0

は、あなたは変わらず、他のすべてをコピーする

<xsl:template match="person"> 
    <xsl:copy-of select="gender, 
    genericLocations[not(xs:date(expiration) le current-date())][1]"/> 
</xsl:template> 

プラスアイデンティティテンプレートをしたいです。

関連する問題