XML و XLink و XPointer
يستخدم XLink لإنشاء ارتباطات تشعبية في مستندات XML.
|
دعم متصفح 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="https://www.w3schools.com">Visit W3Schools</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: type و xlink: href في عناصر <الصفحة الرئيسية> من مساحة الاسم 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="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: type = "simple" ارتباطًا بسيطًا "يشبه HTML"
- تحدد السمة xlink: href عنوان URL للارتباط (في هذه الحالة - صورة)
- يحدد xlink: show = "new" أن الارتباط يجب أن يفتح في نافذة جديدة
إكسلينك - المضي قدما
في المثال أعلاه أظهرنا XLinks بسيطة. أصبح XLink أكثر تشويقًا عند الوصول إلى المواقع البعيدة كموارد ، بدلاً من الصفحات المستقلة.
إذا قمنا بتعيين قيمة السمة xlink: show على "embed" ، فيجب معالجة المورد المرتبط بشكل مضمّن داخل الصفحة. عندما تفكر في أن هذا قد يكون مستند XML آخر ، يمكنك ، على سبيل المثال ، إنشاء تسلسل هرمي لمستندات XML.
يمكنك أيضًا تحديد متى يجب أن يظهر المورد ، مع السمة xlink: actuate.
مرجع سمة XLink
Attribute | Value | Description |
---|---|---|
xlink:actuate | onLoad onRequest other none |
Defines when the linked resource is read and shown:
|
xlink:href | URL | Specifies the URL to link to |
xlink:show | embed new replace other none |
Specifies where to open the link. Default is "replace" |
xlink:type | simple extended locator arc resource title none |
Specifies the type of link |
XPointer
|
دعم متصفح 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>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="https://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 أعلاه يستخدم سمات معرف لكل عنصر!
لذلك ، بدلاً من الارتباط بالمستند بأكمله (كما هو الحال مع XLink) ، يتيح لك XPointer الارتباط بأجزاء معينة من المستند. للارتباط بجزء معين من الصفحة ، أضف علامة الرقم (#) وتعبير XPointer بعد عنوان URL في سمة xlink: href ، مثل هذا: xlink: href = "https://dog.com/dogbreeds.xml #xpointer (معرف ('Rottweiler')) ". يشير التعبير إلى العنصر الموجود في المستند الهدف بقيمة معرّف "Rottweiler".
يسمح XPointer أيضًا بطريقة مختصرة لربط عنصر بمعرف. يمكنك استخدام قيمة المعرف مباشرة ، مثل هذا: 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>
Anton is my favorite dog. He has won a lot of.....
</description>
<fact xlink:type="simple" xlink:href="https://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="https://dog.com/dogbreeds.xml#FCRetriever">
Fact about flat-coated Retriever
</fact>
</mydog>
</mydogs>