我有一个输入xml,在我的xsl中,我称为模板。模板内的第一个标签显示为空xmlns属性,如下所示
<Section xmlns="">
可以在xslt中消除此属性吗?
请在这件事上给予我帮助..
我只是添加我的代码示例,
Input.xml:
<?xml version="1.0" encoding="utf-8"?>
<List>
<Sections>
<Section>
<Column>a</Column>
<Column>b</Column>
<Column>c</Column>
<Column>d</Column>
<Column>e</Column>
</Section>
</Sections>
</List>
样式表.xsl
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="List">
<report xmlns="http://developer.com/">
<Views>
<xsl:call-template name="Page"/>
</Views>
</report>
</xsl:template>
<xsl:template name="Page">
<Content>
<xsl:for-each select="./Sections/Section">
<Columns>
<xsl:for-each select="./Column">
<Column>
<xsl:attribute name="value">
<xsl:value-of select="."/>
</xsl:attribute>
</Column>
</xsl:for-each>
</Columns>
</xsl:for-each>
</Content>
</xsl:template>
output.xml看起来像
<?xml version="1.0" encoding="UTF-8"?>
<report xmlns="http://developer.com/">
<Views>
<Content xmlns="">
<Columns>
<Column value="a"/>
<Column value="b"/>
<Column value="c"/>
<Column value="d"/>
<Column value="e"/>
</Columns>
</Content>
</Views>
我需要<report>
标签中的xmlns属性,但标签中不需要<Content>
。之所以会出现这个xmlns属性,是因为我已经调用了一个模板,并且该模板的第一个标签就是与此属性一起添加的。
Content
在XSLT中添加名称空间到:
<xsl:template name="Page">
<Content xmlns="http://developer.com/">
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句