XSLT2.0提供了字符映射功能。
对于特殊字符或特殊字符,我们可以通过指定某个字符来代替。例如:
在JSP中,我们经常用到<%和%>,我们可以利用XSLT2.0的字符映射功能。
XML文档:
< ?xml version="1.0"? >
<
root >
<
p >@page language="java" < /p >
<
/root >
XSLT文档:
<?xml version='1.0'?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output use-character-maps="jsp"/>
<xsl:character-map name="jsp">
    <xsl:output-character character="&#x150;" string="&lt;%"/>
    <xsl:output-character character="&#x151;" string="%&gt;"/>
</xsl:character-map>
<xsl:template match="/root">
    <xsl:result-document href="jsp" >
    &#x150;<xsl:value-of select="p"/>&#x151;A
    
</xsl:result-document>
</xsl:template>
</xsl:stylesheet>
 查看输出文件,得到文件内容:
  <% @page language="java" %>
当然,我们还可以利用#,~等一些不常用的字符来代替&#x150;以及&#151;的位置,来实现同样的功能。但一般不建议这样做,因为存在一个风险,就是我们有可能用到它们的原义字符。