我已創建了一個模板whic是這樣的:在XSLT文件調用模板
<xsl:template name="loop">
<xsl:param name="yeni"></xsl:param>
<xsl:choose>
<xsl:when test="$yeni !=''">
<span style="color:#ff0000">
<br/>
<xsl:value-of select="$yeni"/>
</span>
<xsl:call-template name="loop">
<xsl:with-param name="yeni" select="substring($yeni,2)"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:text>I am out of the loop</xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
我可以打電話的地方它和它works.But我想從這個代碼XSLT的設計打破了調用它。爲什麼我不能在<xsl:template match="//n1:Invoice/cac:InvoiceLine">
調用這個模板
<xsl:template match="//n1:Invoice/cac:InvoiceLine">
<tr>
<td id="lineTableTd" align="right">
<xsl:template match="/">
<xsl:call-template name="loop">
<xsl:with-param name="yeni">"hello"</xsl:with-param>
</xsl:call-template>
</xsl:template>
</td>
</tr>
你不能在''內部有一個''。你想做什麼? –
Tomalak
我有xml文件哪些標籤在Invoice tag.i循環這個標籤與這個模板 .And Invoice/InvoiceLine中的一個標籤具有像這樣的值aaa !bbb!ccc!.i必須循環這個值並根據!解析它。我嘗試這個循環 –
altandogan
正如Tomalak所說,問題是**沒有**調用命名模板。由於它位於另一個模板(匹配'// n1:Invoice/cac:InvoiceLine')內,因此它是周圍的模板'',它會破壞您的代碼。這是不允許的。刪除周圍的模板,它會起作用(假設你的循環模板確實工作)。 –