اصطلاحات (XQuery Terms)
قبل از نوشتن پرس وجو، باید واژه ها را بشناسیم. در XQuery، «گره (Node)» بخش های XML است. مثل درخت خانوادگی کلاس، هرکس جایی دارد. ساده و مرحله ای جلو می رویم.
واژگان پایه XQuery
گره ها (Nodes)
در XQuery هفت نوع گره داریم: عنصر، ویژگی، متن، فضای نام، دستورِ پردازش، توضیح، و گرهِ سند. 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>
نمونه شناسایی گره ها: <bookstore> ریشه است. <author> یک گرهِ عنصر است. lang="en" گرهِ ویژگی است.
مقادیر اتمی (Atomic values)
«اتمی» یعنی بی فرزند و بی والد. فقط خود مقدار است. مثل نام نویسنده یا مقدار یک ویژگی.
J K. Rowling
"en"
آیتم ها (Items)
«آیتم» می تواند یک مقدار اتمی باشد یا یک گره. یعنی هر واحد داده در XQuery.
روابط بین گره ها
والد (Parent)
هر عنصر و ویژگی یک والد دارد. در مثال زیر، book والد title، author، year و price است.
<book>
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
فرزندان (Children)
یک عنصر می تواند صفر یا چند فرزند داشته باشد. در همین مثال، همه تگ های داخل book فرزند هستند.
<book>
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
خواهر-برادرها (Siblings)
گره هایی با یک والد مشترک، «خواهر-برادر» هستند. title، author، year و price هم سطح اند.
<book>
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
نیاکان (Ancestors)
نیاکان یعنی والد، والد والد، و بالاتر. برای title، نیاکان book و bookstore هستند.
<bookstore>
<book>
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
</bookstore>
نوادگان (Descendants)
نوادگان یعنی فرزندان و فرزندانِ آن ها. برای 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>
نکته: در ذهن، XML را مثل شجره نامه ببین. مسیرها ساده تر می شوند.
مطالب مرتبط: HTML (XQuery HTML) · FLWOR (XQuery FLWOR) · مثال (XQuery Example).
جمع بندی سریع
- XML یک درخت از گره هاست.
- اتمی یعنی فقط مقدارِ خالص.
- آیتم می تواند گره یا مقدار باشد.
- روابط والد و فرزند مسیرها را روشن می کند.