3

テンプレートが呼び出されないようですが、forループは正しく機能します。

「car」ノードが存在する回数だけ「test」を出力しますが、「doStuff」はアクセスされていないようで、「test2」は出力されません。何か案は?

<fo:table-body>
      <xsl:for-each select="car">
      test
  <xsl:apply-templates select="car" />
  </xsl:for-each>
</fo:table-body>

...。

<xsl:template match="car">
<fo:table-row height="0.40cm">
test2
dostuff()....
4

2 に答える 2

7

これは、ネストされた車を適用しようとしているためです...

for-eachすでにコンテキストを変更しているため、現在のノードにテンプレートを適用する必要があります。

<xsl:apply-templates select="."/>
于 2009-12-14T16:01:18.050 に答える
4

for-each内では、「car」がアクティブノードであり、デフォルトでは、select属性apply-templatesが子孫軸を検索するため、アクティブなcar要素の子である「car」要素を選択しようとしています。試す

<xsl:apply-templates select="."/>

代わりは。

于 2009-12-14T16:02:22.340 に答える