在xslt中的子节点中定义带有前缀的命名空间

时间:2012-06-11 10:42:01

标签: xslt xml-namespaces

有没有办法使用xslt在xml的子节点中定义(带前缀的命名空间)。所以我的命名空间也适用于它的后代,我使用

<xsl:element name="abc" namespace="{$prmPafNamespace}"> 

但它会创建默认命名空间。

当我像下面那样使用它时

<xsl:element name="paf:abc" namespace="{$prmPafNamespace}">
    <xsl:element name="paf:child_abc"/>
</xsl:element>

然后它给出了'paf'未定义的错误,如何解决这个问题......

2 个答案:

答案 0 :(得分:1)

您需要在每个元素上定义名称空间,例如

<xsl:element name="paf:abc" namespace="{$prmPafNamespace}">
    <xsl:element name="paf:child_abc" namespace="{$prmPafNamespace}"/>
</xsl:element>

答案 1 :(得分:0)

您可以尝试在文档/元素中添加xmlns:paf="{$prmPafNamespace}"属性,但我不确定它是否适用于动态命名空间URI。

相关问题