2014-01-31 45 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;

我希望這個信息可以幫助你的天堂」噸真的說你的問題是什麼,所以我能做的就是給背景信息。