rowdataタグで、rowdataの内容を表示するときにformatsタグを使用する必要があります。
xmlは次のとおりです: "temp.xml"
<?xml version="1.0" encoding="iso-8859-1"?>
<?xml-stylesheet type="text/xsl" href="Temp.xsl"?>
<ALL_DATA>
<TITLES>
<VALUE1>Title1</VALUE1>
<VALUE2>Title2</VALUE2>
<FVALUE1>Title3</FVALUE1>
</TITLES>
<FORMATS>
<VALUE1>I5</VALUE1>
<VALUE2>I3</VALUE2>
<FVALUE1>F1.1</FVALUE1>
</FORMATS>
<MY_DATA>
<ROWDATA>
<VALUE1>5</VALUE1>
<VALUE2>33</VALUE2>
<FVALUE1>2.11</FVALUE1>
</ROWDATA>
<ROWDATA>
<VALUE1>34</VALUE1>
<VALUE2>12</VALUE2>
<FVALUE1>239.81</FVALUE1>
</ROWDATA>
</MY_DATA>
</ALL_DATA>
xslを試しました: "temp.xsl"
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt">
<xsl:template name="MY_TEMPLATE" match="/">
<html>
<body>
<table border="1">
<TR border="1">
<xsl:for-each select="/ALL_DATA/TITLES/*">
<th border="1">
<xsl:value-of select="."/>
</th>
</xsl:for-each>
</TR>
<xsl:for-each select="/ALL_DATA/MY_DATA/ROWDATA">
<TR>
<xsl:for-each select="*">
<TD width ="130">
<xsl:value-of select="."/>:-:
<xsl:variable name="cur_node_name" select="name(.)"/>
<xsl:for-each select="/ALL_DATA/FORMATS[name(.)]">
<!--<xsl:template match="$cur_node_name"> -->
<xsl:value-of select="."/>
<!--</xsl:template>-->
</xsl:for-each>
</TD>
</xsl:for-each>
</TR>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
コンテンツ全体を投稿して申し訳ありません。助けてもらえると思います。上記のxmlでは、Mydata / rowdata/value1を表示するときにformats/value1を使用したいと思います。上記のXslは、タイトルブロックを繰り返し、でタイトルを表示し<th>
ます。次に、2番目のfor-eachブロックは、rowdataとその子アイテムを繰り返し処理します。子アイテムを表示する場合、行データの子を表示するためにformatsタグを使用する必要があります。
上記のxslは、3番目のタグFValue1の出力を次のように提供しています"2.11:-: I5 I3 F1.1"
。しかし、私の期待は:"2.11:-: F1.1"
。私がこの解決策を手に入れれば、私は残りをすることができます。内側のforループを変更するだけで、それが可能になることがわかります。しかし、それを得ることができませんでした
誰かが方法の提案を持っているなら助けてください。ありがとう。