我得到了一个xhtml文件,其中包含带有多个参数的链接:
index.jsp?foo=bar&foo2=bar2&foo3=bar3.
Saxon 9.5试图解释&foo2作为一个实体,显然失败了。我不能更改我的xml(它是一个来自互联网的网页),我可以用一些regex预处理它,但如果可能的话,我想避免编程。
java -jar %SAXON_HOME%saxon9he.jar -xsl:transfo.xsl -s:pageWeb.xml -o:result.html -dtd:off --recognize-uri-query-parameters:false
不起作用。是否可以不修改xml?
感谢
如果你向一个XML解析器提供的东西不是格式良好的XML,那么解析器就会拒绝它,这就是为什么有规范的原因。Saxon仅仅依靠XML解析器来处理其输入文档和样式表。
如果您的输入格式不正确,那么您可以尝试使用不同的解析器,如TagSoup或HTML5解析器,您需要告诉Saxon使用-x
选项,例如java -jar %SAXON_HOME%saxon9he.jar -x:org.ccil.cowan.tagsoup.Parser ...
或java -jar %SAXON_HOME%saxon9he.jar -x:nu.validator.htmlparser.sax.HtmlParser ...
。