xslt新手。这是输入xml。
<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只需要包含一个&#34; genericLocations&#34;其中&#34;到期的节点&#34;是空的(或缺失)或&#34;到期&#34;是在未来(超过今天的约会。)
非常感谢任何帮助。
答案 0 :(得分:0)
假设您需要XSLT 2.0
<xsl:template match="person">
<xsl:copy-of select="gender,
genericLocations[not(xs:date(expiration) le current-date())][1]"/>
</xsl:template>
加上一个身份模板来复制其他所有内容。