XSLT を使用して XML を HTML に変換しています。現在、XSLT で配列変数を作成する方法を見つけようとしています。
これは私の XML です:
<data>
<ACCOUNTS elem="0">
<ACCOUNT_NO>12345</ACCOUNT_NO>
</ACCOUNTS>
<ACCOUNTS elem="1">
<ACCOUNT_NO>67890</ACCOUNT_NO>
</ACCOUNTS>
</data>
これは、私が理解しようとしているが機能していない私の XSLT です。
<xsl:variable name="accounts">
<xsl:for-each select="data/ACCOUNTS">
<child elem="<xsl:value-of select='position()' />"><xsl:value-of select="ACCOUNT_NO" /></child>
</xsl:for-each>
</xsl:variable>
を使用して表示できるように、XML ノードに位置を追加するにはどうすればよいですか?
<xsl:value-of select="$account[@elem=1]" />
私を助けてください。懸念がある場合はお知らせください。ありがとう。
更新しました :
私の完全な XSLT コード:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="utf-8" indent="yes"/>
<xsl:variable name="accounts">
<xsl:for-each select="data/ACCOUNTS">
<child elem="{@elem}"><xsl:value-of select="ACCOUNT_NO" /></child>
</xsl:for-each>
</xsl:variable>
<xsl:template match="/">
<html>
<head><title>testing</title></head>
<body>
<xsl:value-of select="$accounts/child[@elem='0']" />
</body>
</html>
</xsl:template>
</xsl:stylesheet>
そして、私がコンパイルすると、このエラーが発生します:
JAXPSAXProcessorInvoker - Error checking type of the expression 'FilterParentPath(variable-ref(accounts/result-tree), step("child", 40, pred(=(step("attribute", 18), literal-expr(0)))))'.