私は次のxmlを持っています
<TopLevel>
<data m="R263">
<s ut="263firstrecord" lt="2013-02-16T09:21:40.393" />
<s ut="263secondrecord" lt="2013-02-16T09:21:40.393" />
</data>
<data m="R262">
<s ut="262firstrecord" lt="2013-02-16T09:21:40.393" />
<s ut="262secondrecord" lt="2013-02-16T09:21:40.393" />
</data>
</TopLevel>
呼び出しテンプレートを実行する XSLT がいくつかありますが、正しく繰り返されません。
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="data">
<xsl:value-of select="@m" />
<xsl:variable name="vYourName" select="@m"/>
<xsl:choose>
<xsl:when test="@m='R262'">
<xsl:call-template name="R262"/>
</xsl:when>
</xsl:choose>
<xsl:choose>
<xsl:when test="@m='R263'">
<xsl:call-template name="R263"/>
</xsl:when>
</xsl:choose>
</xsl:template>
<xsl:template name="R262">
<xsl:for-each select="/TopLevel/data/s">
Column1=<xsl:value-of select="@ut" />
Column2=<xsl:value-of select="@lt" />
</xsl:for-each>
</xsl:template>
<xsl:template name="R263">
<xsl:for-each select="/TopLevel/data/s">
Column1=<xsl:value-of select="@ut" />
Column2=<xsl:value-of select="@lt" />
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
これにより、4 つのレコードの代わりに 8 つのレコードが得られます(<s> level)
。私はそれが私の反復に関係していることを知っています...しかし、これに対処する方法がわかりません。
スタイルシートの適用についても認識していますが、その謎を解明することもできませんでした...レベルで m の値をチェックし、レベルでスタイルシートを適用することからすべてを処理するだけの XSLT で<TopLevel>
<\TopLevel>
<data>
<s>
<s>
誰かが私を助けることができれば私は信じられないほど素晴らしいものになるでしょう 。