2014-01-31 101 views
0

有输入XML许多特殊字符的参数,如& ndash的; ,& mdash; ,& rsquo;特殊字符不会转换在XSLT转换

是有办法,我可以用&#8211更换这些部件& ndash的,类似的还有其他

我的XSLT是定义为

<?xml version="1.0" encoding="UTF-8" ?> 
<xsl:stylesheet version="2.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml"> 
<xsl:output method="html" omit-xml-declaration="yes" indent="yes" /> 
<xsl:strip-space elements="*" /> 
<xsl:param name="pDest" select="'XSLT_Transform/Output/'" /> 
<xsl:template match="CHAPTER"> 
    <xsl:variable name="token" select="tokenize(@ABC,'-')[last()]" /> 
    <xsl:variable name="chapVal" select="replace($token,'C','')" /> 
    <!--<xsl:variable name="chapVal" select="replace($val,'_','-')"/> --> 
    <xsl:result-document href="{$pDest}chapter{$chapVal}.xhtml" 

我相信他们应该自动变换指我应该改变编码?

回答

0

实体引用,如&ndash;由XML解析器XSLT处理器能够看到他们之前自动扩展;到XSLT处理器,它们被视为普通字符。该XML或HTML序列化器将在输出文件的选择编码包括这些字符,否则串行输出它们作为普通字符将他们输出字符引用(例如&#8211;

我希望这个信息可以帮助你的天堂”吨真的说你的问题是什么,所以我能做的就是给背景信息。