0
無法成功傳遞xsl(1.0)中的參數。看來,不能動態修改'select'的內容。下面是不會引發錯誤,但無法識別$實體參數的嘗試:xslt apply-template
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output cdata-section-elements="" encoding="UTF-8" indent="yes" method="xml" omit-xml-declaration="yes"/>
<xsl:param name="entity">CreditController[]</xsl:param>
<xsl:template match="/">
<xsl:element name="variable">
<xsl:attribute name="type">NameValuePair[]</xsl:attribute>
<xsl:apply-templates select="variable/*[@type='$entity']/item"/>
</xsl:element>
</xsl:template>
<xsl:template match="item">
<xsl:element name="item">
<xsl:attribute name="type">NameValuePair</xsl:attribute>
<xsl:element name="value">
<xsl:attribute name="type">String</xsl:attribute>
<xsl:value-of select="Code"/>
</xsl:element>
<xsl:element name="name">
<xsl:attribute name="type">String</xsl:attribute>
<xsl:value-of select="Code"/>-<xsl:value-of select="Value"/>
</xsl:element>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
在此先感謝。其他帖子似乎建議使用並設置元素的「模式」屬性。我沒有贏得任何一個。
用字符串文字'CreditController []'替換實體變量將按預期工作。
您可以發佈您輸入XML的樣本? – 2012-04-17 15:03:42
它不應該只是'@ type = $ entity'嗎?在'$ entity'周圍用引號使它成爲'$ entity'字符串。 – 2012-04-17 15:06:37
阿維拉的答案我認爲是正確的,應該作爲答案輸入,以便可以接受。 – 2012-04-17 15:14:19