我正在尝试理解xsl:element如何正常工作,我有这个测试转换:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml">
<xsl:template match="test">
<output>
<test1/>
<xsl:element name="test2"/>
<xsl:variable name="three" select="3"/>
<xsl:element name="test{$three}"/>
</output>
</xsl:template>
</xsl:stylesheet>
应用于此文档时:
<?xml version="1.0" encoding="UTF-8"?>
<test/>
我使用xsltproc
获得此结果<?xml version="1.0"?>
<output xmlns="http://www.w3.org/1999/xhtml">
<test1/>
<test2/>
<test3 xmlns=""/>
</output>
为什么test3节点与test1和test2不在同一名称空间?
答案 0 :(得分:0)
使用Visual Studio并将其应用于XSLT我得到以下内容(格式化为可读性),所以我想说它是xsltproc中的一个错误。
<?xml version="1.0" encoding="utf-8"?>
<output xmlns="http://www.w3.org/1999/xhtml">
<test1 />
<test2 />
<test3 />
</output>