با سلام خدمت کاربران گرامی سایت پی وی لرن و علاقمندان و کاربرانی که علاقمند به یادگیری دوره XML هستند. در جلسه گذشته شما را با قابیلت XQuery آشنا کردیم و کاربردهای آن را معرفی نمودیم. در پانزدهمین جلسه از این دوره، آموزش کار با XLink در XML را به علاقمندان دوره XML ارائه می نماییم.
از XLink برای ایجاد لینک در اسناد XML استفاده می شود.
علاوه بر این :
در اسناد XML هیچ مرورگری از XLink ها پشتیبانی نمی کند.
در عوض تمام مرورگرهای اصلی از XLinks در SVG پشتیبانی می کنند.
در HTML، عنصر <a> علامت لینک را تعریف می کند.
اما در XML این روش جواب نمی دهد بنابرین می توانید از هر نام عنصری که می خواهید در اسناد XML استفاده نمایید.
پس به یاد داشته باشید که مرورگر ها نمی توانند پیش بینی کنند که عناصر لینک در اسناد XML چه نامیده می شوند.
در ادامه یک مثال ساده از نحوه استفاده از XLink برای ایجاد لینک در یک سند XML ارائه شده است.
1 2 3 4 5 6 | <?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 attributes در عناصر <homepage> از فضای نام XLink آمده است.
xlink: type = “simple” یک پیوند ساده مانند “HTML” ایجاد می کند (به این معنی “اینجا را کلیک کنید تا به آنجا بروید”).
ویژگی xlink: href نشانی اینترنتی را برای پیوند به URL مشخص می کند.
سند XML زیر حاوی ویژگی های XLink است:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | <?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 در XML به بررسی موشکافانه تر XLink می پردازیم.
در مثال بالا سعی کردیم چندان تصور پیچیده ای از XLink ایجاد نکنیم گرچه می توان استفاده های قوی تر و طبعاً پیچیده تری از آن کرد.
استفاده از XLink زمانی جذاب تر می شود که بخواهید از آن برای دسترسی به منابع دور استفاده نمایید تا این که آن را صرف صفحات ساده و کم اهمیت نمایید!
اگر مقدار ویژگی xlink:show را به صورت “embed” تنظیم نمایید در آن صورت منابع مرتبط باید درونی صفحه پردازش شوند.
اگر آن را به عنوان یک سند XML جدید در نظر بگیرید می توانید یک سلسله مراتب از اسناد XML را ایجاد نمایید.
همچنین می توانید مشخص کنید چه زمانی منبع باید با ویژگی xlink: actuate ظاهر شود.
ویژگی | مقدار | توضیحات |
xlink:actuate | onLoad onRequest other none | این ویژگی وقتی منبع، لینک شده آماده و قابل نمایش است موارد زیر را تعیین می کند.
|
xlink:href | URL | URL را برای پیوند به URL مشخص می کند. |
xlink:show | embed new replace other none | مشخص می کند که کدام لینک باز شود. پیش فرض “replace” است. |
xlink:type | simple extended locator arc resource title none | نوع لینک را مشخص می کند. |
XPointer Browser Support آخرین مبحثی است که در آموزش کار با XLink در XML به بررسی آن می پردازیم.
هیچ مرورگر پشتیبانی برای XPointer وجود ندارد. اما XPointer در سایر زبان های XML استفاده می شود.
در این مثال، XPointer را در رابطه با XLink برای اشاره به یک قسمت خاص سند دیگری استفاده شده است.
ما با نگاه کردن به سند XML هدف (سندی که قرار است به آن لینک دهیم) شروع می کنیم:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | <?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 در هر عنصر استفاده می کند!
بنابراین، به جای اتصال به کل سند (مانند XLink)، XPointer به شما اجازه می دهد تا به بخش های خاصی از سند پیوند داشته باشید. برای پیوند به یک بخش خاص از یک صفحه، علامت شماره (#) و بیان XPointer را پس از آدرس URL در xlink: href، مانند این:
“((‘xlink: href = “https://dog.com/dogbreeds.xml #xpointer (id (‘Rotwiler hs استفاده نمایید.
این عبارت به عنصر در سند هدف با ارزش شناسایی «Rottweiler» اشاره دارد.
علاوه بر این XPointer اجازه پیوند به یک عنصر با id را با استفاده از یک روش کوتاه می دهد.
می توانید مستقیما از ارزش id استفاده کنید: “xlink: href = “https://dog.com/dogbreeds.xml#Rottweiler
سند XML زیر حاوی لینک هایی برای اطلاعات بیشتر از نژاد یک نوع سگ dog breed برای هر یک از سگ های موجود است:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | <?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> |
در این جلسه آموزش کار با XLink در XML را به شما علاقمندان این دوره ارائه کردیم.
در جلسه بعدی به بررسی اعتبار دهنده ها یا Validator های XML می پردازیم.
با پی وی لرن همراه باشید.