【问题标题】:Set namespace from variable in XML从 XML 中的变量设置命名空间
【发布时间】:2018-04-15 16:50:57
【问题描述】:

当尝试根据发送的数据动态设置XMLNS 属性时,打开 XML 文件时会显示以下错误消息:

第 1 行第 76 列的错误:xmlns: '{Table/namespace}' is not a 有效的 URI

正常将值打印到元素时,如下面的节点namespace,可以看到值是正确的。

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
    <xsl:output method="xml"/>
    <xsl:template match="/NewDataSet">
        <MyRoot xmlns="{Table/namespace}" >
            <namespace>
                <xsl:value-of select="{Table/namespace}" />
            </namespace>
        </MyRoot>
    </xsl:template>
</xsl:stylesheet>

如何根据发送的数据动态设置XMLNS属性?

【问题讨论】:

    标签: xml xslt


    【解决方案1】:

    您必须显式使用xsl:element 才能使用其namespace 属性,该属性确实在输出XML 中设置xmlns 属性:

    <xsl:element name="MyRoot" namespace="{Table/namespace}">
        <namespace>
            <xsl:value-of select="Table/namespace" />
        </namespace>
    </xsl:element>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多