我在做XML
到HTML
轉換和我需要轉換一些字符實體。我的XML文件具有Unicode值,如è
,我需要將其轉換爲其相應的html值è
。其他實體也需要分別轉換。對於每個實體的字符映射可能會很困難,因爲有很多。XML到HTML:字符實體編碼
我正在使用XSLT 2.0。我的輸出方法是xhtml
。目前我在我的HTML代碼中獲取實際字符(在上例中爲è
)。需要幫忙。我的撒克遜處理器版本是9.1.0.5
。
我在做XML
到HTML
轉換和我需要轉換一些字符實體。我的XML文件具有Unicode值,如è
,我需要將其轉換爲其相應的html值è
。其他實體也需要分別轉換。對於每個實體的字符映射可能會很困難,因爲有很多。XML到HTML:字符實體編碼
我正在使用XSLT 2.0。我的輸出方法是xhtml
。目前我在我的HTML代碼中獲取實際字符(在上例中爲è
)。需要幫忙。我的撒克遜處理器版本是9.1.0.5
。
通過正常的XSLT處理,Saxon將簡單地使用Xerces之類的XML解析器或Sun/Oracle JRE附帶的Xerces版本,一旦解析器完成其工作,並且Saxon在其樹形模型上運行,則無法知道原始輸入是否具有文字字符è
或十進制字符引用如è
或十六進制類似è
。 當序列化變換的結果樹時,您當然可以使用字符映射將字符映射到任何您想要的表示,但這樣會高興地看到結果樹中的任何è
,而不僅僅是用於結果樹中的十六進制字符引用輸入。 如果你想確保所有非ASCII字符都被序列化爲字符引用,那麼你需要使用xsl:output encoding="US-ASCII"
。 Saxon 9.1還提供http://saxonica.com/documentation9.1/extensions/output-extras/character-representation.html來控制格式。
但是我同意所做的評論,這些日子有UTF-8作爲輸出編碼,然後在結果樹序列化中簡單的文字字符不應該帶來任何問題。
像'è'這樣的十六進制引用在所有瀏覽器和其他HTML用戶代理中都可以使用,所以您爲什麼需要轉換它們?如果您現在正在獲取HTML中的實際字符,那很好,只要字符編碼是UTF-8並按照它的方式聲明。 –
以十六進制表示法的E8 =十進制表示法中的232。恕我直言,轉換是可能的,不是太困難,完全沒有必要。 –