微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在XSLT中处理HTML实体.无需更改输入文件

我正在尝试使用XSLT将HTML文件转换为XML文件(使用 Oxygen 9.0进行转换).

当我使用HTML文件配置和运行XSLT转换时,然后输出Oxygen

实体’nbsp’已被引用,但未被声明.

我的输入html文件是:

<div><span>&nbsp;some text</span></div>

注意:我想知道如何使用XSLT处理该实体,我不想对输入文件进行任何更改.

解决方法

您可以使用XML实体创建定义实体的XML文件,并包含(损坏的)XML片段.

例如,假设您的片段保存为名为“invalid.xml”的文件

<div><span>&nbsp;some text</span></div>

创建一个这样的XML文件

<!DOCTYPE wrapper [
   <!ENTITY nbsp "&#160;">
   <!ENTITY invalid-xml-document SYstem "./invalid.xml">
]><wrapper>
&invalid-xml-document;</wrapper>

当该文件被解析时,它将定义实体,包含“invalid.xml”中的内容,并正确解析该实体.结果如下:

<wrapper>
  <div>
    <span> some text</span> 
  </div>
</wrapper>

然后,只需调整您的XSLT以容纳新的文档元素(在此示例中为元素< wrapper>).

原文地址:https://www.jb51.cc/html/231852.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐