2011-10-10 50 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模型中,有兩種項目,節點和原子值。我建議你使用不同的資源,通過提供錯誤的信息不會造成不必要的混淆。