أحدث البرامج التعليمية وتطوير الشبكة
 

XML XLink وXPointer


يستخدم XLink لإنشاء ارتباطات تشعبية في وثائق XML.


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

دعم متصفح XLink

لا يوجد أي دعم المتصفح لXLink في وثائق XML. ومع ذلك، فإن جميع المتصفحات الرئيسية تدعم XLinks في 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="http://www.w3ii.com">Visit w3ii</homepage>
  <homepage xlink:type="simple" xlink:href="http://www.w3.org">Visit W3C</homepage>
</homepages>

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

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

وxlink: نوع = "بسيط" يخلق بسيط "HTML-like" الارتباط (يعني "انقر هنا للذهاب الى هناك").

و xlink:href تحدد السمة عنوان URL لربط.


XLink مثال

وتتضمن الوثيقة XML الميزات التالية XLink:

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

<bookstore xmlns:xlink="http://www.w3.org/1999/xlink">

<book title="Harry Potter">
  <description
  xlink:type="simple"
  xlink:href="/images/HPotter.gif"
  xlink:show="new">
  As his fifth year at Hogwarts School of Witchcraft and
  Wizardry approaches, 15-year-old Harry Potter is.......
  </description>
</book>

<book title="XQuery Kick Start">
  <description
  xlink:type="simple"
  xlink:href="/images/XQuery.gif"
  xlink:show="new">
  XQuery Kick Start delivers a concise introduction
  to the XQuery standard.......
  </description>
</book>

</bookstore>

وأوضح سبيل المثال:

  • تم إعلان مساحة الاسم XLink في الجزء العلوي من الوثيقة (xmlns:xlink="http://www.w3.org/1999/xlink")
  • وxlink: نوع = "بسيط" يخلق بسيطة "HTML-like" صلة
  • و xlink:href السمة يحدد URL لتصل إلى (في هذه الحالة - صورة)
  • وxlink: عرض = "الجديد" يحدد أن هذا العنوان يجب أن تفتح في نافذة جديدة

XLink - المضي قدما

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

إذا وضعنا قيمة xlink:show يعزو إلى "embed" ، ينبغي معالجة الموارد المرتبطة مضمنة داخل الصفحة. عندما تفكر في أن هذا يمكن أن يكون مستند XML آخر يمكن، على سبيل المثال، بناء التسلسل الهرمي من وثائق XML.

يمكنك أيضا تحديد متى يجب أن تظهر الموارد، مع xlink:actuate السمة.


XLink السمة المرجعي

السمة القيمة وصف
xlink:actuateonLoad
onRequest
other
none
يعرف عند قراءة الموارد المرتبطة وأظهرت:
  • ONLOAD - يجب أن يتم تحميل الموارد وأظهرت عند تحميل وثيقة
  • onRequest - لا تقرأ أو التي يتم عرضها قبل النقر على الرابط في الموارد
xlink:href URL تحديد عنوان URL لتصل إلى
xlink:showembed
new
replace
other
none
تحدد مكان لفتح الارتباط. الافتراضي هو "replace"
xlink:typesimple
extended
locator
arc
resource
title
none
يحدد نوع من الارتباط

XPointer

كسباث
  • XPointer يسمح صلات للإشارة إلى أجزاء معينة من مستند XML
  • يستخدم XPointer تعبيرات كسباث للتنقل في مستند 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="http://dog.com/rottweiler.gif" />
  <history>The Rottweiler's ancestors were probably Roman
  drover dogs.....</history>
  <temperament>Confident, bold, alert and imposing, the Rottweiler
  is a popular choice for its ability to protect....</temperament>
</dog>

<dog breed="FCRetriever" id="FCRetriever">
  <picture url="http://dog.com/fcretriever.gif" />
  <history>One of the earliest uses of retrieving dogs was to
  help fishermen retrieve fish from the water....</history>
  <temperament>The flat-coated retriever is a sweet, exuberant,
  lively dog that loves to play and retrieve....</temperament>
</dog>

</dogbreeds>

لاحظ أن وثيقة XML أعلاه يستخدم سمات الهوية على كل عنصر!

وهكذا، بدلا من ربط المستند بأكمله (as with XLink) ، XPointer يسمح لك لربط أجزاء محددة من الوثيقة. لتصل إلى جزء معين من الصفحة، إضافة علامة الرقم (#) وتعبير XPointer بعد URL في xlink:href السمة، مثل هذا: xlink: أ href = "http://dog.com/dogbreeds.xml #xpointer (معرف ( 'الروت وايلر')) ". يشير التعبير إلى عنصر في الوثيقة المستهدفة، مع قيمة id من "Rottweiler" .

كما يسمح XPointer طريقة الاختزال لربط عنصر مع معرف. يمكنك استخدام قيمة معرف مباشرة، مثل هذا: xlink: أ href = "http://dog.com/dogbreeds.xml#Rottweiler".

وتتضمن الوثيقة XML الروابط التالية لمزيد من المعلومات من سلالة الكلب لكل من بلدي الكلاب:

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

<mydogs xmlns:xlink="http://www.w3.org/1999/xlink">

<mydog>
  <description>
  Anton is my favorite dog. He has won a lot of.....
  </description>
  <fact xlink:type="simple" xlink:href="http://dog.com/dogbreeds.xml#Rottweiler">
  Fact about Rottweiler
  </fact>
</mydog>

<mydog>
  <description>
  Pluto is the sweetest dog on earth......
  </description>
  <fact xlink:type="simple" xlink:href="http://dog.com/dogbreeds.xml#FCRetriever">
  Fact about flat-coated Retriever
  </fact>
</mydog>

</mydogs>