XML، XLink و XQuery

يستخدم XLink لإنشاء روابط في مستندات XML

XPath

  • يستخدم XLink لإنشاء روابط في مستندات XML
  • يمكن لأي عنصر في مستند XML أن يكون رابطًا
  • من خلال XLink، يمكنك تعريف الروابط خارج ملفات الروابط
  • XLink هو معيار مقترح من قبل W3C

دعم المتصفح لـ XLink

لا يدعم المتصفح XLink في مستندات XML.

لكن جميع المتصفحات الرئيسية يدعمونها XLink في SVG.

جملة XLink

في HTML، يحدد عنصر <a> رابطًا. ولكن هذا ليس كيفية عمله في XML.

في مستند XML، يمكنك استخدام أي اسم عنصر تريده - لذلك لا يمكن للبرنامج المساعد التنبؤ بالعناصر التي سيتم استدعاؤها من قبل عناصر الروابط في مستند XML.

هذا مثال بسيط على كيفية استخدام XLink لإنشاء روابط في مستند XML:

<?xml version="1.0" encoding="UTF-8"?>
<homepages xmlns:xlink="http://www.w3.org/1999/xlink">
  <homepage xlink:type="simple" xlink:href="https://www.codew3c.com">زيارة CodeW3C.com</homepage>
  <homepage xlink:type="simple" xlink:href="http://www.w3.org">زيارة W3C</homepage>
</homepages>

إذا كنا بحاجة إلى الوصول إلى ميزات XLink، فيجب علينا إعلان مساحة الاسم XLink. مساحة الاسم XLink هي: "http://www.w3.org/1999/xlink".

خصائص xlink:type و xlink:href في عناصر <homepage> تأتي من مساحة الاسم XLink هذه.

xlink:type="simple" يخلق رابطًا بسيطًا "مثل HTML" (يعني "انقر هنا للانتقال إلى مكان آخر").

خصائص xlink:href تحدد URL التي سيتم ربطها إليها.

مثال على XLink

يحتوي هذا المستند XML على وظائف XLink:

<?xml version="1.0" encoding="UTF-8"?>
<bookstore xmlns:xlink="http://www.w3.org/1999/xlink">
<book title="حديث الديار عن الطعام">
  <description
  xlink:type="simple"
  xlink:href="/images/cswd.jpg"
  xlink:show="new">
  يمكن القول إن "حديث الديار عن الطعام" هو دليل على الطعام في تشاو شوان، حيث يقدم للعشاق للطعام والباحثين عن النكهة الدليل وال مساعدة المطلوبة;
  يمكن القول أيضًا أن هذا الكتاب هو نص قراءة حول الطعام المزروع في تشاو شوان، حيث يقدم الكتاب معلومات عن الطعام المزروع في تشاو شوان وليس عن الطعام في تشاو شوان، ويستخرج بعمق الثقافة المحلية والتعليمات الغذائية والتواريخ التاريخية التي تخفي وراء الطعام.
  </description>
</book>
<book title="الفأر الأب العظيم">
  <description
  xlink:type="simple"
  xlink:href="/images/mrfox.jpg"
  xlink:show="new">
  بوجيس، بونس وبين، هم أكثر الناس إجرامية وغيرة، وهم يكرهون السيد الفأر، وقرروا قتل عائلته.
  وهكذا، هؤلاء الثلاثة أشخاص يحملون الأسلحة، ينتظرون بشراسة أمام كهف السيد الفأر... ولكن السيد الفأر لديه خطة سحرية لمواجهتهم!
  وهكذا، بدأت معركة الذكاء والقوة...
  </description>
</book>
</bookstore>

توضيح المثال:

  1. مساحة الاسم XLink يتم إعلانها في أعلى المستند (xmlns:xlink="http://www.w3.org/1999/xlink")
  2. xlink:type="simple" يخلق رابطًا بسيطًا يشبه HTML
  3. تحدد الخاصية xlink:href URL الهدف الذي يجب ربطه به (في هذا المثال صورة)
  4. xlink:show="new" يشير إلى أن يجب فتح الرابط في نافذة جديدة

XLink - الذهاب أبعد

في المثال السابق، قمنا بشرح XLink بسيط.

إذا قمنا بتعيين الموقع البعيد كموارد بدلاً من الوصول إلى الصفحة المستقلة، فإن XLink سيصبح أكثر إثارة للاهتمام.

إذا قمنا بتعيين قيمة الخاصية xlink:show إلى "embed"، فإن الموارد المربوطة يجب أن يتم معالجتها داخل الصفحة.

يمكنك أيضًا استخدام الخاصية xlink:actuate لتحديد الوقت الذي يجب فيه ظهور الموارد.

مرجع خصائص XLink

الخصائص القيمة الوصف xlink:actuate onLoad onRequest آخر لا شيء تحديد متى يتم قراءة وعرض الموارد المربوطة: onLoad - الموارد يجب أن يتم تحميلها وعرضها عند تحميل المستند onRequest - لن يتم قراءة أو عرض المصدر قبل النقر على الرابط xlink:href URL يحدد URL الذي سيتم ربطه. xlink:show إدراج جديد replace آخر لا شيء يحدد أين يفتح الرابط. افتراضيًا هو "replace". xlink:type بسيط متعدد المحدد الخط المورد العنوان لا شيء يحدد نوع الرابط.

XPointer

XPath
  • يسمح XPointer بتحديد جزء معين في مستند XML
  • يستخدم XPointer XPath Expressions للتنقل في مستندات XML
  • XPointer هو معيار مقترح من W3C

دعم متصفح XPointer

لا يوجد متصفح يدعم XPointer. لكن XPointer يستخدم أيضًا في لغات XML أخرى.

مثال XPointer

في هذا المثال، سنستخدم XPointer و XLink معًا للإشارة إلى جزء معين في مستند آخر.

دعنا نبدأ بالنظر في هذا المستند الهدف XML (المستند الذي نربط به):

<?xml version="1.0" encoding="UTF-8"?>
<dogbreeds>
<dog breed="Rottweiler" id="Rottweiler">
  <picture url="https://dog.com/rottweiler.gif" />
  <history>قد تكون أجداد الكلب الروماني قد كانوا رومانيين
  كلاب الحمل.....</history>
  <temperament>مطمئن، جريء، منتبه، وملفت للانتباه، الكلب الروماني
  اختيار شائع بسبب قدرته على الحماية....</temperament>
</dog>
<dog breed="FCRetriever" id="FCRetriever">
  <picture url="https://dog.com/fcretriever.gif" />
  <history>كان استخدام الكلاب المخصصة لإعادة الاسترداد واحد من أبرز الاستخدامات المبكرة
  يساعد الصيادين في استعادة الأسماك من الماء....</history>
  <temperament>The flat-coated retriever is a sweet, exuberant,
  كلب نشط يحب اللعب والإرجاع....</temperament>
</dog>
</dogbreeds>

لاحظ أن المستند XML في الأعلى يستخدم id الخاصية في كل عنصر!

لذلك، يسمح لك XPointer بربط جزء معين من المستند بدلاً من ربط المستند بأكمله (كـ XLink).

إذا كنت ترغب في ربط جزء معين من الصفحة، فأضف رمز الـ (#) وإلى ذلك XPointer Expression، مثلما هو موضح أدناه:

xlink:href="https://dog.com/dogbreeds.xml#xpointer(id('Rottweiler'))"

يشار إلي العنصر الذي يحتوي على id القيمة "Rottweiler" في المستند الهدف بهذا التعبير.

xlink:href="https://dog.com/dogbreeds.xml #xpointer(id('Rottweiler'))"。

ي允许 XPointer استخدام الطريقة القصيرة للروابط إلى العناصر التي تحتوي على id. يمكنك استخدام قيمة id مباشرة، مثلما هو موضح أدناه:

xlink:href="https://dog.com/dogbreeds.xml#Rottweiler

المستند XML التالي يحتوي على الروابط التي تشير إلى معلومات أكثر عن كل نوع كلب:

<?xml version="1.0" encoding="UTF-8"?>
<mydogs xmlns:xlink="http://www.w3.org/1999/xlink">
<mydog>
  <description>
  أنطون هو كلبي المفضل. لقد ربح الكثير......
  </description>
  <fact xlink:type="simple" xlink:href="https://dog.com/dogbreeds.xml#Rottweiler">
  حقيقة عن كلب روت وايلر
  </fact>
</mydog>
<mydog>
  <description>
  كوكب بلوت هو كلب الأرض الأكثر حلاوة......
  </description>
  <fact xlink:type="simple" xlink:href="https://dog.com/dogbreeds.xml#FCRetriever">
  الحقيقة عن golden Retriever
  </fact>
</mydog>
</mydogs>