XML到HTML:字符实体编码

时间:2014-02-13 07:39:08

标签: html xml xslt

我正在进行XMLHTML转换,我需要转换一些字符实体。我的XML文件具有像è这样的Unicode值,我需要将其转换为相应的html值è。其他实体也需要分别转换。每个实体的字符映射都很安静,因为有很多。

我正在使用XSLT 2.0。我的输出方法是xhtml。目前我在HTML代码中获取实际字符(在上面的例子è中)。需要帮忙。我的Saxon处理器版本为9.1.0.5

1 个答案:

答案 0 :(得分:1)

使用正常的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作为输出编码,然后在结果树的序列化中只是文字字符不应该造成任何问题。