واژه ها

 

  • Nodes

 

در xquery هفت نوع node وجود دارد 

 element

attribute

text

namespace

processing-instruction

comment

document (root)

 

محتوای  یک فایل xml در اصل درختی از node های مختلف است . که ریشه این درخت یعنی اون تگ اولیه که هه تگ های دیگه تو اون قرار می گیرند نامش چیست ؟

document node (or root node)

 
 به مثال زیر که محتوای یک فایل xml را نشان می دهد توجه کنید :

 

<?xml version="1.0" encoding="UTF-8"?>

<bookstore>

<book>
  <title lang="en">Harry Potter</title>
  <author>J K. Rowling</author>
  <year>2005</year>
  <price>29.99</price>
</book>

</bookstore>

 
 نمونه هایی از node ها در مثال بالا عبارت اند از :

 

<bookstore> (document node)

<author>J K. Rowling</author> (element node)

lang="en" (attribute node)

 
  •  مقادیر atomic ( غیر قابل تجزیه ) :
 اینها node هایی هستند که هیچ فرزند یا پدری ندارند

 نمونه هایی از node های atomic :

J K. Rowling

"en"

 
  •  Items : 
 به هر مقدار atomic یا node دیگری گفته می شود
 
رابطه بین node ها 
  •  Parent
هر  ( صفت )  attribute و ( تگ ) element   یک والد دارد .
 در مثال زیر المنت book والد title, author, year, price است

 

<book>
  <title>Harry Potter</title>
  <author>J K. Rowling</author>
  <year>2005</year>
  <price>29.99</price>
</book>

 
  •  Children
node های از نوع  المنت های ( تگ ) ممکن است هیچ یا یک یا تعداد بیشتری فرزند داشته باشند
 در مثال زیر المنت های  title, author, year, price فرزندان المنت book هستند

 

<book>
  <title>Harry Potter</title>
  <author>J K. Rowling</author>
  <year>2005</year>
  <price>29.99</price>
</book>

 
  •  Siblings
 node هایی هستند که والد انها یکی است
 در مثال زیر node های title, author, year, price از نوع sibling هستند

 

<book>
  <title>Harry Potter</title>
  <author>J K. Rowling</author>
  <year>2005</year>
  <price>29.99</price>
</book>

 
  •  Ancestors
 والد node و والد والد و ...
 در مثال زیر ancestor ها برای نوود title  برابر اند با book و bookstore
 

 

<bookstore>

<book>
  <title>Harry Potter</title>
  <author>J K. Rowling</author>
  <year>2005</year>
  <price>29.99</price>
</book>

</bookstore>

 
  •  Descendants
 می شود فرزند node ، فرزند فرزند و ...
 

 در مثال زیر descendant ها برای المنت bookstore  می شود :

المنت های book, title, author, year, price

 

 

<bookstore>

<book>
  <title>Harry Potter</title>
  <author>J K. Rowling</author>
  <year>2005</year>
  <price>29.99</price>
</book>

</bookstore>