2011-10-10 75 views
2

我正在通过关于XML的W3Schools网站的教程。这是网页我在:http://www.w3schools.com/xsl/xquery_terms.asp在XML中,原子节点与叶节点相同吗?

我有点困惑的一个原子节点和叶节点之间的区别。它们是一样的吗?我知道一个叶节点是没有任何子节点的节点,但是它也似乎是给定示例中的原子节点也没有任何子节点。

W3Schools的网站说,“原子值是没有子女或父节点。”当然,节点没有父节点是不可能的,因为XML文档中的所有节点都必须位于根节点(文档根节点)之下?我很困惑

任何人都可以给我讲解一下。

谢谢。

+1

强制性链接:http://w3fools.com/ – AakashM

+1

好像你选择了错误的答案。良好的XPath书籍和良好的术语非常重要。我的建议是*不*使用w3schools。正如@AakashM所称的:'w3fools' :) –

回答

0

该示例显示“J K.罗琳”是原子。
它没有父母,也没有孩子。它本身只是一个价值或节点。
(想象一下只有那一行的文本文件)

但是这个:<author>J K. Rowling</author>,有一个父母和一个孩子。
*家长:作者
*孩子:J K.罗琳
作者可能没有父母,但它不是原子,因为它有一个孩子。
J K.罗琳可能没有孩子,但它不是原子的,因为它有一个父母。

同时,叶节点,因为没有孩子,但它可能会或可能不会有一个父。因此,总体而言,原子节点只是叶节点的一个子组。

2

在XQuery数据模型,原子值不是一个节点。它是一个标有原子类型的值。

因此,节点(甚至叶节点)是从来没有的原子值,就像一个原子值为从未一个节点。然而,一个节点可以被“原子化”为一个原子值,在这种情况下,它的类型值将被采用(如果有的话)。

8

我发现W3Schools的往往是仰视,我知道一次,但已经忘记了的信息细节一个有用的资源,但它是学习新概念的一个非常贫穷的资源。这个例子是典型的:“原子值是没有孩子或父母的节点。”错,完全错误。原子值不是节点。在XQuery使用的XDM模型中,有两种项目,节点和原子值。我建议你使用不同的资源,通过提供错误的信息不会造成不必要的混淆。