如何使用XSLT转换强制XML文件中的空命名空间

时间:2015-08-19 14:05:39

标签: xml xslt

我有一个转换XML的XSLT转换,我需要在一个标记中包含以下空名称空间:

<RPS xmlns="">

XML文件的标题是:

<?xml version="1.0" encoding="UTF-8"?>
<RPS>...</RPS>

XSLT的标题是:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:g="http://www.g2ka.com.br" xmlns:g2ka="com.g2ka.nfse.offline.util.OffLineUtils" xmlns:util="com.g2ka.nfse.util.Util" exclude-result-prefixes="g g2ka util">
<xsl:output method="xml" version="1.0" encoding="ISO-8859-1" standalone="yes" indent="yes"/>

如何在RPS标记中强制使用xmlns =“”?谢谢你的帮助。

2 个答案:

答案 0 :(得分:1)

这在XSLT中无法完成。根元素上的空命名空间声明完全是冗余的,将被删除(除非您使用的是libxslt处理器)。

答案 1 :(得分:0)

通常,XSLT处理器将决定需要哪些命名空间声明。您的工作是使用正确的命名空间中的名称创建元素。如果在没有命名空间的情况下创建RPS元素,处理器将输出xmlns =&#34;&#34;如果有必要取消外部名称空间声明,但如果它是多余的,它就不会输出它。