私のデータモデルは次のとおりです。
<Club>
<Captain>
<Name></Name>
<DateOfBirth>15-01-1985</DateOfBirth>
</Captain>
<PlayingStaff>
<Player>
<DateOfBirth>14-01-1993</DateOfBirth>
</Player>
<Player>
<DateOfBirth>07-12-1975</DateOfBirth>
</Player>
<Player>
<DateOfBirth>11-11-1991</DateOfBirth>
</Player>
</PlayingStaff>
</Club>
ここにある回答を使用してみました: XSLT: 最新の日付を取得していますが、価値はありません。
最年少のプレーヤーを外部関数に渡そうとしています。
私はBiztalkでこれをやっているので、XSLT1に固執する必要があります
これまでの私の仕事は次のとおりです。
<xsl:variable name="youngestPlayer">
<xsl:for-each select="$ClubRoot/*[local-name()='PlayingStaff']/*[local-name()='Player']">
<xsl:sort select="./*[local-name()='DateOfBirth']" order="descending"/>
<xsl:if test="position() = 1">
<xsl:value-of select="DateOfBirth"/>
</xsl:if>
</xsl:for-each>
</xsl:variable>
<xsl:variable name="IsYoungestPlayerUnderAgeLimit" select="externalfunctionreturningboolean">
<xsl:element name="blahhh"><xsl:value-of select="$IsYoungestPlayerUnderAgeLimit"/></xsl:element>
<xsl:element name="blahhh"><xsl:value-of select="$youngestPlayer"/></xsl:element>
これは大きなテンプレートの一部です。これを実際に変更することはできませんが、ClubRoot の値は「<xsl:variable name="ClubRoot" select="/*[1]"/>"
その子ノードを確実に読み取れるようにするためです。
私はいつも得ています
<blahhh>false</blahhh>
<blahhh/>
私のデバッグ値として...だから私は期待する値を拾っていません
誰かが私が間違っている場所を強調できますか?
上記のデータから、youngestPlayer 変数の値は 14-01-1993 であると予想されます。しかし、それは空白です。