我需要使用XSLT1.0获取XML节点,它们的小写和值,并将输出显示为XML
<main>
<ACAT>Cat Name A </ACAT>
<bcat>Cat Name b </bcat>
<ccat>Cat Name c </ccat>
<dcat>Cat Name d </dcat>
<ECAT>Cat Name E </ECAT>
<fcat>Cat Name f </fcat>
</main>亩期望产量
<main>
<bcat>Cat Name b </bcat>
<ccat>Cat Name c </ccat>
<dcat>Cat Name d </dcat>
<fcat>Cat Name f </fcat>
</main>发布于 2015-06-16 07:41:14
您所需要的只是复制现有节点的标识模板..。
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>然后是另一个模板,以忽略不是小写的节点。在XSLT1.0中,这可以通过使用translate语句、将大写字母转换为小写以及检查结果是否不同来完成。
<xsl:template match="*[translate(name(), 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz') != name()]" />试试这个XSLT
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:output method="xml" encoding="UTF-8" indent="yes" />
<xsl:template match="*[translate(name(), 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz') != name()]" />
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>https://stackoverflow.com/questions/30859544
复制相似问题