【发布时间】:2013-05-13 10:46:03
【问题描述】:
我制作了一个描述 XPath 中各个轴的信息图。但是,我不确定它们是否正确。
我对@987654324@、following-sibling、preceding 和preceding-sibling 感到困惑
我的图表正确吗?
原图在这里:http://imgur.com/4ekJxca (取自 Pro XML Development with Java)
这是我对我感到困惑的节点的理解:descendant:: 选择作为上下文节点的子节点和孙子节点的节点(仅限元素和文本)。
following:: 选择未被后代选择的任何节点(仅限文本)。
following-sibling:: 上下文节点的所有“兄弟”。也就是说,文本和元素节点是与上下文节点相同的父节点的子节点,在上下文节点之后。
preceding::sibling 上下文节点的所有“兄弟”。也就是说,文本和元素节点是与上下文节点相同的父节点的子节点,在上下文节点之前。
preceeding:: 不沿ancestor:: 轴出现且未嵌套在任何元素节点中的所有节点(仅文本)。 (我确定我搞砸了)
XML
<?xml version="1.0" encoding="UTF-8"?>
<catalog xmlns:journal="http://www.apress.com/catalog/journal" >
<journal:journal title="XML" publisher="IBM developerWorks">
<article journal:level="Intermediate"
date="February-2003">
<title>Design XML Schemas Using UML</title>
<author>Ayesha Malik</author>
</article>
</journal:journal>
<journal title="Java Technology" publisher="IBM developerWorks">
<article level="Advanced" date="January-2004">
<title>Design service-oriented architecture
frameworks with J2EE technology</title>
<author>Naveen Balani</author>
</article>
<article level="Advanced" date="October-2003">
<title>Advance DAO Programming</title>
<author>Sean Sullivan </author>
</article>
</journal>
</catalog>
【问题讨论】:
-
正确。不过,这不是 Java 问题。
-
@MarkoTopolnik 检查新图像
-
查看此页面以获得漂亮的交互式 XPath 可视化pimpmyxslt.com/axesviz.aspx
-
@MadsHansen 你不知道这对我有多大帮助。
-
这有点令人担忧。命名空间声明可能类似于属性,但绝对不是。此外,无论如何它都没有正确的命名空间,XML 示例将命名空间提供为
http://www.apress.com/catalog/journal,而不是 w3.org 地址。
标签: xpath