XML, XLink และ XQuery
- หน้าก่อน XML XQuery
- หน้าต่อไป XML ตรวจสอบ
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">Visit CodeW3C.coms</homepage> <homepage xlink:type="simple" xlink:href="http://www.w3.org">Visit W3C</homepage> </homepages>
ถ้าเราต้องการเข้าถึง XLink ฟังก์ชัน ต้องจำเป็นต้องประกาศ XLink namespace คือ: "http://www.w3.org/1999/xlink"
xlink:type และ xlink:href ในสมมุติฐาน <homepage> มาจาก XLink namespace
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>
ตัวอย่างที่อธิบาย:
- ชื่อสเปซิฟิก XLink ประกาศที่ด้านบนของเอกสาร (xmlns:xlink="http://www.w3.org/1999/xlink")
- xlink:type="simple" สร้างลิงก์ที่เหมือน HTML
- xlink:href แอตทริบิวต์กำหนด URL ที่จะลิงก์ไป (ในตัวอย่างนี้เป็นรูปภาพ)
- xlink:show="new" ชี้ว่าลิงก์ควรเปิดในหน้าต่างใหม่
XLink - ย้ายไปยังทางหน้าต่าง
ในตัวอย่างด้านบน เราได้แสดง XLink ที่เรียบง่าย
หากเราใช้ตำแหน่งทางไกลเป็นทรัพยากรแทนการเข้าถึงหน้าเว็บอิสระ XLink จะมีความมีน่าสนใจมากขึ้น
หากเราตั้งค่า xlink:show แอตทริบิวต์เป็น "embed" ทรัพยากรที่มีลิงก์จะถูกจัดการโดยในหน้าเว็บเช่นเดียวกับ HTML ตัวเดียวกัน ตัวอย่างเช่น หากคุณคิดว่านี่อาจเป็นเอกสาร XML อื่น คุณสามารถสร้างโครงสร้างหน้าต่าง XML
คุณยังสามารถใช้ xlink:actuate แอตทริบิวต์เพื่อกำหนดเวลาที่ทรัพยากรควรปรากฏขึ้น
ความเข้าใจของ XLink แอตทริบิวต์
รายละเอียด ค่า การอธิบาย xlink:actuate onLoad onRequest other none กำหนดเวลาที่จะอ่านและแสดงทรัพยากรที่มีลิงก์ onLoad - ทรัพยากรควรที่จะโหลดและแสดงขณะที่เอกสารกำลังโหลด onRequest - จะไม่มีการอ่านหรือแสดงทรัพยากรก่อนที่จะคลิกลิงก์ xlink:href URL กำหนด URL ที่จะไปที่ xlink:show embed new replace other none กำหนดที่จะเปิดลิงก์ ตามเรื่องที่เรียกใช้โดยมาตราฐาน คือ "replace" xlink:type simple extended locator arc resource title none กำหนดประเภทของลิงก์XPointer
XPath- 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>บิดาทางสายของ Rottweiler คงจะเป็นชาวโรมัน... dogs.....</history> <temperament>มั่นใจ กล้าหาญ มีความเฝ้าระวังและมีความเสมอภาค ความฝันของ Rottweiler... เป็นทางเลือกที่นิยมสำหรับความสามารถในการปกป้อง... </dog> <dog breed="FCRetriever" id="FCRetriever"> <picture url="https://dog.com/fcretriever.gif" /> <history>หนึ่งในการใช้สุนัขนำกลับที่เก่าแก่ที่สุดคือ... ช่วยประมงแก้ตัวปลาจากน้ำ... <temperament>The flat-coated retriever is a sweet, exuberant, สุนัขที่มีสุขภาพแข็งแกร่ง รักเล่นและนำมากมาย....</temperament> </dog> </dogbreeds>
โปรดเข้าใจว่า XML แบบไฟล์ด้านบนใช้ id attribute ในแต่ละองค์ประกอบ!
ดังนั้น XPointer อนุญาตให้คุณลิงก์ไปยังส่วนเฉพาะของเอกสาร ไม่ใช่ลิงก์ไปยังเอกสารทั้งหมด (เช่น XLink)
ถ้าต้องการลิงก์ไปยังส่วนเฉพาะของหน้าเว็บ เพิ่มเครื่องหมาย # และ XPointer สำหรับ XPointer ตามนี้:
xlink:href="https://dog.com/dogbreeds.xml#xpointer(id('Rottweiler'))"ประโยคนี้หมายถึงองค์ประกอบในเอกสารเป้าหมายที่มี id ค่า "Rottweiler"。
xlink:href="https://dog.com/dogbreeds.xml #xpointer(id('Rottweiler'))"。XPointer ยังอนุญาตให้ใช้วิธีลิงก์ชัดเจนไปยังองค์ประกอบที่มี id ด้วยวิธีดังนี้:
xlink:href="https://dog.com/dogbreeds.xml#RottweilerXML แบบไฟล์ด้านล่างมีลิงก์ที่นำไปสู่ข้อมูลเกี่ยวกับสายพันธุ์ของสุนัขต่างๆ มากมาย:
<?xml version="1.0" encoding="UTF-8"?> <mydogs xmlns:xlink="http://www.w3.org/1999/xlink"> <mydog> <description> Anton คือสุนัขที่ชอบของฉัน. เขาชนะรางวัลมากมาย..... </description> <fact xlink:type="simple" xlink:href="https://dog.com/dogbreeds.xml#Rottweiler"> ข้อเท็จจริงเกี่ยวกับ Rottweiler </fact> </mydog> <mydog> <description> Pluto คือสุนัขที่น่ารักที่สุดบนโลก...... </description> <fact xlink:type="simple" xlink:href="https://dog.com/dogbreeds.xml#FCRetriever"> Fact about flat-coated Retriever </fact> </mydog> </mydogs>
- หน้าก่อน XML XQuery
- หน้าต่อไป XML ตรวจสอบ