Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
xslt应用模板_Xslt_Xpath_Xslt 1.0 - Fatal编程技术网

xslt应用模板

xslt应用模板,xslt,xpath,xslt-1.0,Xslt,Xpath,Xslt 1.0,无法成功在xsl(1.0)中为传递参数。似乎无法动态修改“选择”的内容。下面是一个不会引发错误但无法识别$entity参数的尝试: <?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

无法成功在xsl(1.0)中为传递参数。似乎无法动态修改“选择”的内容。下面是一个不会引发错误但无法识别$entity参数的尝试:

<?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>

信用控制器[]
NameValuePair[]
名称值对
一串
一串
-
提前谢谢。其他帖子似乎建议使用并设置元素的“Mode”属性。这两个我都没有赢


将实体变量替换为字符串文字“CreditController[]”的效果与预期一样。

在XPath中,用引号将
$entity
括起来,使其成为字符串文字
$entity
,而不是要展开的变量

删除引号:



您可以发布输入xml的示例吗?它不应该是
@type=$entity
?在
$entity
周围加上引号使其成为字符串
$entity
。我认为Avila的答案是正确的,应该作为答案输入,这样才能被接受。