گروه مقاله : طراحی سایت
تاريخ انتشار : 1396/06/30 - 14:10
كد :7863

استفاده از XLink و Xpoiter در XML

در این مقاله به اهمیت لینک دادن در XML و نحوه انجام آن می پردازیم

آموزش طراحی XML با قابلیت لینک

 

Xlink برای ایجاد لینک در یک سند XML کاربرد دارد.

هر تگی در سند XML میتواند مانند یک لینک عمل کند.

با XLink ، لینک ها میتوانند خارج از فایل لینک شده تعریف شوند.

XLink توسط W3C پیشنهاد می گردد.

پشتیبانی XLink در مرورگرها

هیچ مرورگری از XLink در سند XMLپشتیبانی نمی کند.

تمام مرورگرهای معروف از XLink در SVG پشتیبانی می کنند.

قواعد دستوری XLink

در HTML برای لینک کردن از تگ a استفاده می کردیم ولی در XML باید به شیوه دیگری عمل کنیم. در 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دسترسی داشته باشیم، باید بتوانیم از فضای نامی آن استفاده کنیم ، برای استفاده از فضای نامی از http://www.w3.org/1999/xlink استفاده کنید.

گزینه XLink:type و Xlink:href در تگ homepage از فضای نامی Xlink می آیند.

گزینه xlink:type="simple" یک لینک ساده مانند لینک های HTML ایجاد می کند که شما روی لینک کلیک کرده و به مکان دیگری منتقل میشوید.

xlink:href آدرس مکانی که لینک به آن میرود را مشخص می کند.

مثال XLink

کد های زیر دارای XLink در XMl می باشند:

<?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:href آدرس صفحه یا عکسی را مشخص می کند.

دستور xlink:show="new" مشخص می کند که لینک باید در صفحه جدیدی باز شود.

با XLink میتوان فراتر از یک لینک عمل کرد

با XLink میتوان بسادگی با کمک دستور xlink:show با مقدار embed میتواند مقصد لینک را درون صفحه به نمایش بگذارد از این امکان برای ایجاد اسناد درختی XML می توان استفاده کرد.

با دستور xlink:actuate میتوان زمان دقیق نمایش مشخصات صفحه را تعیین کرد.

مرجع صفات در XLink

Attribute

Value

Description

xlink:actuate

onLoad
onRequest
other
none

Defines when the linked resource is read and shown:

  • onLoad - the resource should be loaded and shown when the document loads
  • onRequest - the resource is not read or shown before the link is clicked

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 به شما امکان میدهد که قسمتی از سند XML خود را مشخص کنید.

Xpointer از XPath برای انتقال در سند 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>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 بالا از صفت id در هر تگ استفاده می کند.

بنابراین ، بجای لینک کردن کل سند ، Xpointer امکان لینک کردن به بخش خاصی از سند را به ما خواهد داد. برای لینک کردن به بخش خاصی از سند از علامت # و دستور XPointer استفاده کنید. در صفت xlink:href مانند xlink:href="https://dog.com/dogbreeds.xml#xpointer(id('Rottweiler')) ، دستور به تگ در سند مقصد اشاره خواهد داشت. در سند id با مقدار Rottwiler را یافته و به آن قسمت هدایت میشود.

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>
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>

 

براي بهره مندي از مشاوره تخصصي در زمینه طراحی سایت در کرج با شرکت سارگون تماس بگيريد

نظرات كاربران :