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

前端之家收集整理的这篇文章主要介绍了如何在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.f2er.com/html/231852.html

猜你在找的HTML相关文章