1

DOBをYYYY-MM-DDフォーマットで取得しています。

年齢を計算する必要があり、年齢が 18 歳以上の場合は、名前を渡す必要があります。

XSLT でこれを行う方法

お気に入り

   <xsl:if test="age>18">
      <xsl:element name="first_nam" ">
   <xsl:value-of select="FirstName_TEXT/text()"/>
      </xsl:element>
    </xsl:if>

これで年齢を計算する方法。そして、このキャンペーン> 18は機能します..

4

1 に答える 1

2

1.0 でそれを行う方法はわかりませんが、2.0 を使用できる可能性がある場合は簡単です。

XML 入力

<person>
    <dob>1980-05-22</dob>
    <FirstName_TEXT>Pac</FirstName_TEXT>
</person>

XSLT 2.0

<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" exclude-result-prefixes="xs" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xsl:output indent="yes"/>
    <xsl:strip-space elements="*"/>

    <xsl:template match="/person">
        <xsl:variable name="age" select="floor(days-from-duration(current-date() - xs:date(dob)) div 365)"/>
        <xsl:if test="$age > 18">
            <first_nam>
                <xsl:value-of select="FirstName_TEXT"/>
            </first_nam>
        </xsl:if>
    </xsl:template>

</xsl:stylesheet>

結果

<first_nam>Pac</first_nam>
于 2013-02-15T16:47:40.243 に答える