xml是这样的:
< cell i='0' j='0' vi='0' parity='Odd' subType='-1'> & #34;String& #39;</cell>
但是在xsl的解释之后,输出是这样的:
< td nowrap="true" class="gridCell" i="0" j="0">"String'< /td>
我想保持&amp; #34;和&amp; #39 ;.我尝试了角色地图,但它不起作用。代码是这样的:
< xsl:character-map name="raquo.ent">
<xsl:output-character character="'" string="&apos;"/>
<xsl:output-character character="'" string="&apos;"/>
< /xsl:character-map>
< xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" use-character-maps="raquo.ent"/>
有人可以帮忙吗?非常感谢你!
答案 0 :(得分:1)
此转化:
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xsl:output omit-xml-declaration="yes" indent="yes"
use-character-maps="raquo.ent"/>
<xsl:character-map name="raquo.ent">
<xsl:output-character character=""" string='&#34;'/>
<xsl:output-character character="'" string='&#39;'/>
</xsl:character-map>
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
应用于提供的XML文档:
<cell i='0' j='0' vi='0' parity='Odd' subType='-1'>"String'</cell>
生成想要的正确结果:
<cell i="0" j="0" vi="0" parity="Odd" subType="-1">"String'</cell>