[英]XML to HTML:Character entities encoding
我正在做XML
到HTML
转换,我需要转换一些字符实体。 我的XML文件具有Unicode值,例如è
我需要将其转换为相应的html值è
。 其他实体也需要分别进行转换。 每个实体的字符映射非常困难,因为有很多实体。
我正在使用XSLT 2.0。 我的输出方法是xhtml
。 目前,我正在HTML代码中获取实际字符(在上述情况下为è
)。 需要帮忙。 我的Saxon处理器版本为9.1.0.5
。
使用常规的XSLT处理,Saxon将仅使用XML解析器(例如Xerces或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作为输出编码,然后在结果树的序列化中仅使用文字字符就不会造成任何问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.