gpt4 book ai didi

xpath - 可以用 Saxon 处理 XHTML 吗?

转载 作者:行者123 更新时间:2023-12-03 16:55:36 30 4
gpt4 key购买 nike

我可以使用 xmllint并使用 XPath 1.0 处理 HTML/XHTML 输入。例如:
xmllint --xpath "//title" --html http://www.w3.org/TR/xslt20/ 2>/dev/null
预期输出,但使用撒克逊语:
java -cp /usr/share/java/saxon9he.jar net.sf.saxon.Query -s:"http://www.w3.org/TR/xslt20/" -qs:"//title"
没结果。
如果在 2 分钟后重新设置针对 HTTP 文档连接的运行,并且在本地文档上,它会在处理几分钟后退出而没有结果

在撒克逊 documentation我找不到与处理 XHTML 文档相关的任何内容

我发现了这个问题:Saxon Xpath namespace我正在用更多信息更新问题:

这里是 xmllint不使用 html 解析器的示例(无 --html 开关):
xmllint --xpath "//*[local-name()='title'][namespace-uri()='http://www.w3.org/1999/xhtml']" http://www.w3.org/TR/xslt20/
输出:

<title>XSL Transformations (XSLT) Version 2.0</title>

再次使用撒克逊语:
java -cp /usr/share/java/saxon9he.jar net.sf.saxon.Query -s:"http://www.w3.org/TR/xslt20/" -qs:"//*[local-name()='title'][namespace-uri()='http://www.w3.org/1999/xhtml']"

没结果

最佳答案

XHTML 文档是 XML 文档,因此您可以像处理任何其他 XML 文档一样处理它。请注意,如果它是 XHTML,那么大多数元素可能位于 namespace 中,您需要考虑到这一点。将 XHTML namespace 设置为默认 namespace 可能很有用(遗憾的是,在 XQuery 中这也使它成为输出的默认 namespace - XSLT 做得更好)。

XHTML 文档在 W3C 服务器上包含对 XHTML DTD 的引用是很常见的,并且在过去一年中,W3C 已经停止响应检索此资源的请求,因为它们无法处理负载。这意味着您可能会遇到长时间的延迟和 I/O 错误。作为对此的回应,Saxon 9.4 包含 XHTML DTD 的本地副本并满足来自其本地副本的请求。在早期版本中,您可以使用 OASIS 目录实现相同的效果。

关于xpath - 可以用 Saxon 处理 XHTML 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9010920/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com