我使用的是撒克逊9分析无效的html源。具体地说html有href值如下:

<a href="blah.asp?fn=view&g_varID=1234">一些文字</a>

我得到了错误:

"错误报告的XML parser:将参照实体"g_varID"必须结束 该';'隔符。"

Xml parser是阅读"&g_varID"string和抱怨,应该有一个";"来界定该实体。但是,当然,这不是旨在作为一个HTML实体--它只是一片URI。

我怎么知道的分析器来忽略?注:我使用的非架构知道萨克逊,不撒克逊-SA。

有帮助吗?

解决方案

请确保你有一个正确的XHTML DOCTYPE。根据我正在看,href属性声明CDATA,不PCDATA,这意味着字面&是完全确定,并且不应当被解析为一个实体。所述的xhtml1-strict.dtd

其他提示

如果你的HTML不是XML,那么你怎么能指望任何XML处理器来处理呢?

如上面所提到的,这不是有效的XML,它是HTML。这个特殊的问题,虽然是一个HTML整洁默认清理: HTTP:// WWW。 w3.org/People/Raggett/tidy/ 。使用下面的命令行参数用它来HTML转换成XHTML:

tidy -asxhtml foo.html > foo.xhtml

然后,你应该能够通过你的XSLT来运行它。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top