دروس XML

الصفحة الرئيسية لـ XML مقدمة XML كيفية استخدام XML شجرة XML بناء جملة XML عناصر XML سمات XML مساحات أسماء XML عرض XML طلب XML HttpRequest محلل XML XML DOM XML XPath XML XSLT XML XQuery XML XLink مدقق XML XML DTD مخطط XML خادم XML أمثلة XML مسابقة XML شهادة XML

XML AJAX

مقدمة أجاكس أجاكس XMLHttp طلب AJAX استجابة AJAX ملف AJAX XML أجاكس بي إتش بي أجاكس آسيا والمحيط الهادئ قاعدة بيانات أجاكس تطبيقات أجاكس أمثلة AJAX

XML DOM

مقدمة حول DOM عقد DOM الوصول إلى DOM معلومات عقدة DOM قائمة عقدة DOM عبور DOM التنقل في DOM DOM احصل على القيم DOM تغيير العقد DOM إزالة العقد استبدل DOM Nodes DOM إنشاء العقد DOM أضف العقد عقد استنساخ DOM أمثلة DOM

دروس XPath

مقدمة XPath عقد XPath بناء جملة XPath محاور XPath مشغلي XPath أمثلة XPath

XSLT التعليمي

XSLT مقدمة لغات XSL تحويل XSLT XSLT <template> XSLT <قيمة> XSLT <للجميع> XSLT <ترتيب> XSLT <if> XSLT <اختر> XSLT تطبيق XSLT على العميل XSLT على الخادم XSLT تحرير XML أمثلة XSLT

XQuery تعليمي

XQuery مقدمة مثال XQuery XQuery FLWOR XQuery HTML شروط XQuery بناء جملة XQuery XQuery إضافة XQuery حدد وظائف XQuery

XML DTD

مقدمة DTD مكعبات بناء DTD عناصر DTD سمات DTD عناصر DTD مقابل Attr كيانات DTD أمثلة DTD

مخطط XSD

مقدمة XSD XSD كيف XSD <المخطط عناصر XSD سمات XSD قيود XSD

مجمع XSD

عناصر XSD XSD فارغ عناصر XSD فقط نص XSD فقط XSD مختلط مؤشرات XSD XSD <أي> XSD <أي سمة> تبديل XSD مثال XSD

بيانات XSD

سلسلة XSD تاريخ XSD XSD الرقمية XSD متفرقات مرجع XSD

خدمات الويب

خدمات XML XML WSDL صابون XML XML RDF XML RSS

مراجع

أنواع عقدة DOM عقدة DOM قائمة عقدة DOM DOM NamedNodeMap مستند DOM عنصر DOM سمة DOM نص DOM DOM CDATA تعليق DOM DOM XMLHttpRequest محلل DOM عناصر XSLT وظائف XSLT / XPath

XQuery تحديد وتصفية _


مستند مثال XML

سوف نستخدم وثيقة "books.xml" في الأمثلة أدناه (نفس ملف XML كما في الفصول السابقة).

اعرض ملف "books.xml" في متصفحك .


اختيار العناصر وتصفيتها

كما رأينا في الفصول السابقة ، نقوم باختيار العناصر وتصفيتها إما بتعبير المسار أو بتعبير FLWOR.

انظر إلى تعبير FLWOR التالي:

for $x in doc("books.xml")/bookstore/book
where $x/price>30
order by $x/title
return $x/title
  • for - (اختياري) يربط متغيرًا بكل عنصر يتم إرجاعه بواسطة التعبير
  • اسمحوا - (اختياري)
  • حيث - (اختياري) تحدد معايير
  • ترتيب حسب - (اختياري) يحدد ترتيب فرز النتيجة
  • إرجاع - يحدد ما سيتم إرجاعه في النتيجة

للشرط

تربط جملة for متغيرًا بكل عنصر يتم إرجاعه بواسطة التعبير in. ينتج عن جملة for التكرار. يمكن أن يكون هناك عدة جمل في نفس تعبير FLWOR.

لتكرار عدد معين من المرات في عبارة for ، يمكنك استخدام الكلمة الأساسية to :

for $x in (1 to 5)
return <test>{$x}</test>

نتيجة:

<test>1</test>
<test>2</test>
<test>3</test>
<test>4</test>
<test>5</test>

يمكن استخدام الكلمة الأساسية في لحساب التكرار:

for $x at $i in doc("books.xml")/bookstore/book/title
return <book>{$i}. {data($x)}</book>

نتيجة:

<book>1. Everyday Italian</book>
<book>2. Harry Potter</book>
<book>3. XQuery Kick Start</book>
<book>4. Learning XML</book>

كما يُسمح باستخدام أكثر من واحد في التعبير في عبارة for. استخدم الفاصلة للفصل بين كل منها في التعبير:

for $x in (10,20), $y in (100,200)
return <test>x={$x} and y={$y}</test>

نتيجة:

<test>x=10 and y=100</test>
<test>x=10 and y=200</test>
<test>x=20 and y=100</test>
<test>x=20 and y=200</test>


فقرة السماح

تسمح جملة let بالتخصيصات المتغيرة وتتجنب تكرار نفس التعبير عدة مرات. لا ينتج عن بند let التكرار.

let $x := (1 to 5)
return <test>{$x}</test>

نتيجة:

<test>1 2 3 4 5</test>

شرط أين

يتم استخدام جملة where لتحديد معيار واحد أو أكثر للنتيجة:

where $x/price>30 and $x/price<100

الترتيب حسب الشرط

يتم استخدام الترتيب حسب الجملة لتحديد ترتيب فرز النتيجة. هنا نريد ترتيب النتيجة حسب الفئة والعنوان:

for $x in doc("books.xml")/bookstore/book
order by $x/@category, $x/title
return $x/title

نتيجة:

<title lang="en">Harry Potter</title>
<title lang="en">Everyday Italian</title>
<title lang="en">Learning XML</title>
<title lang="en">XQuery Kick Start</title>

شرط العودة

يحدد بند الإرجاع ما سيتم إرجاعه.

for $x in doc("books.xml")/bookstore/book
return $x/title

نتيجة:

<title lang="en">Everyday Italian</title>
<title lang="en">Harry Potter</title>
<title lang="en">XQuery Kick Start</title>
<title lang="en">Learning XML</title>