|
Attribute XML::Xlink
ผู้ออกแบบ XLink รู้ว่าจะต้องหาวิธีการประมวลผลของซอฟแวร์ที่เชื่อถือได้ในการจำแนกว่าอิลิเมนต์ใดเป็นอิลิเมนต์ที่เป็นลิงก์
วิธีการที่อาจใช้ได้ก็คือ สงวนชื่อแท็ก(เช่น <A>ในHTML) หรือสงวนชื่อแอตทริบิวต์
และอีกวิธีหนึ่งคือไม่ต้องทำอะไรเลย โดยปล่อยให้เป็นหน้าที่แอพริเคชั่นซอฟแวร์
และวิธีการสงวนชื่อแอตทริบิวต์เป็นวิธีที่ได้รับการยอมรับว่าทำให้ผู้สร้างสะดวกต่อการสร้างสื่อว่าอิลิเมนต์ตัวนี้เป็นลิงก์อิลิเมนต์ของตนเอง
และผลการออกแบบที่ได้ก็คือ แอตทริบิวต์ XML:Xlink ซึ่งกำหนดค่าแอตทริบิวต์ได้
2 ค่า คือ simple หรือ extended ในตัวอย่างต่อไปนี้ได้กำหนดค่า แอตทริบิวต์
ตัวนี้เป็นค่า simple เพราะต้องการสร้างลิงก์พื้นฐาน(Simple link)ในที่นี้เรากำหนดใช้ในอิลิเมนต์
Slink ปรากฎในเอกสารที่แสดง ดังนี้
<SLINK XML:LINK="simple" HREF="http://mspress.microsoft.com">
Microsoft Press Home Page
</SLNK>
ไม่จำเป็นต้องมีแอตทริบิวต์ XML:Link .ในอิลิเมนต์ Slink ที่แสดงข้างต้นในโค้ดก่อนหน้านี้ก็สามารถทำงานได้
เพราะว่าโค้ดก่อนหน้านี้ได้กำหนดค่าแอตทริบิวต์เป็นค่า #FIXED ในตอนประกาศอิลิเมนต์
แอตทริบิวต์ HREF
อิลิเมนต์ที่เป็นตัวลิงค์ทุกตัวใน XML ต้องมี แอตทริบิวต์ซึ่งเป็นส่วนที่แสดงตัวตนของทรัพยากรที่ลิงก์เชื่อ
ใน Xlink แอตทริบิวต์โลเคเตอร์คือแอตทริบิวต์ HREF ซึ่งทำงานเหมือนกับ แอตทริบิวต์ตัวหนึ่งใน
HTML แต่แตกต่างตรงที่มีความสามารถมากกว่า
โลเคเตอร์(Locator) และ Fragment Identifier
ความสามารถพิเศษของโลเคเตอร์(Locator)ใน Xlink แต่เดิมใน HTML ค่าโลเคเตอร์(Locator)ที่แสดงอยู่ภายในแอตทริบิวต์
Href คือค่า Fragment Identifier ซึ่งแสดงด้วยโค้ด ดังนี้
This is a <A HREF="Lst7_2.html#jumplocation">simple link</A>
ค่าใน Fragment Identifier จัดเตรียมลิงกที่ใช้อ้างอิงตำแหน่งไปยังส่วนใดส่วนหนึ่งในเอกสารเดียวกันหรือเอกสารอื่น
แต่ใน XML ค่าของโลเคเตอร์(Locator) สามารถจัดเตรียมย้อมูลซึ่งอนุญาตให้เฉพาะแอพริเคชั่นทำงานไปตามลิงก์ที่เป็ฯโครงสร้างเอกสาร,ID
ของอิลิเมนต์ หรือส่วนเนื้อหาในอิลิเมนต์ ทั้งหมดนี้ทำได้ผ่านกลไกการกำหนดตำแหน่ง
Xpointer โดยมีไวยากรณ์ที่แสดงไว้ 2 แบบที่คุณสามารถเลือกใช้ได้ดังนี้
HREF="uri#Xpointer"
HREF="uri|Xpointer"
Xpointer ทำให้ผู้สร้างสามารถใช้ลิงก์อ้างอิงไปยังส่วนใดๆในเอกสาร และด้วยความสามารถเอกสารของกลไกโลเคเตอร์
ซึ่งเป็นวิธีการท่องไปในเอกสารที่มีความยืดหยุ่น แต่ละจุดที่โลเคเตอร์อ้างอิงอยู่มีการคืนค่าเอกสารออกมาเป็นส่วนย่อยๆมันจึงเป็นวิธีการที่ลดขนาดแบนวิดธ์และการประวลผลของไคลเอนต์เนื้อหารายละเอียดของ
Xpointer
แอตทริบิวต์ INLINE
อิลิเมนต์ลิงก์ของ Xlink(Xlink Linking Element) มี 2 แบบ คือ Inline หรือ
Out-of-line ลิงค์แบบ Inline เสมือนเป็นส่วนหนึ่งของทรัพยากรทีมันลิงกอยู่
หมายถึง อิลิเมนต์ซึ่งทำการลิงค์จัดเก็บรายละเอียดขอ้มูลและปลายทางของลิงก์
ตัวอย่างของลิงก์ชนิดนี้ที่เห็นได้ชัด คือ อิลิเมนต์ Anchor ของ HTML ซึ่งเป็นอิลิเมนต์ที่จัดเก็บข้อมูลของทรัพยากรและปลายทางของลิงก์
กลับมาที่ตัวอย่าง ในส่วนการประกาศแอตทริบิวต์ INLINE ค่าดีฟอลต์ของมันมีค่าเป็น
true ดังนั้นจึงไม่จำเป็นต้องระบุค่าของแอตทริบิวต์นี้ในอิลิเมนต์ก็ได้
แอตทริบิวต์ ROLE
แอตทริบิวต์ ROLE เป็นความสามารถอันยิ่งใหญ่ของอิลิเมนต์ของ Xlink(Xlink
Linking Element) ใช้แสดงความหมายและนัยสำคัญของลิงก์ ให้กับแอพริเคชั่นซอฟต์แวร์
จุดประสงค์เพื่อจัดเตรียมข้อมูลโดยรวมกับลิงก์ ไม่ว่าจะเป็นทรัพยากรระยะไกลซึ่งลิงก์ก็อ้างอิงอยู่
ข้อมูลนี้จัดเตรียมเฉพาะแอพริเคชั่นเท่านั้น ดังนั้นมนุษย์จึงไม่สามารถอ่านทำความเข้าใจได้
การใช้งานแอตทริบิวต์ ROLE ทำให้เราจัดเตรียมแอพริเคชั่นร่วมกับข้อมูลรายละเอียดเกี่วกับกับลิงก์มากกว่าที่จะเรียนรู้แต่เพียงว่าลิงก์ไปที่ใด
เช่น ลิงก์ไปที่กลุ่มของอภิธานศัพท์,ไปที่ข้อมูลที่มีอยู่ในหัวข้อ และลิงก์ไปที่ข้อมูลคุณลักษณะของทรัพยากร(เช่น
ข้อมูลเวอร์ชัน)ซึ่งแอพริเคชั่นสามารถรู้ชนิดของข้อมูลได้จากลิงก์โดยตรงและนำไปใช้ได้อย่างเหมาะสม
แอตทริบิวต์ TITLE
แอตทริบิวต์ TITLE มีความคล้ายคลึงกับ แท็ก <ALT>ใน HTML ใช้จัดเก็บข้อความที่แสดงผลเป็นข้อมูลเสริมให้กับผู้ใช้
เป็นแอตทริบิวต์ของทรัพยากรต่างถิ่น (Remote Resource Attribute) ซึ่งข้อมูลใน
แอตทริบิวต์ TITLE ไม่ได้เกี่ยวกับการลิงก์แต่เพียงอย่างเดียว แต่ว่าจะใช้แสดงข้อมูลให้ผู้ใช้ทราบกันว่าทรัพยากรมีความสัมพันธ์กับลิงก์อย่างไร
เมื่อเปรียบเทียบกับแอตทริบิวต์ ROLE ที่มีจุดประสงค์ให้ใช้งานกับแอพพริเคชั่นแต่
แอตทริบิวต์ TITLE มีไว้เพื่อให้ใช้งานได้โดยมนุษย์
แอตทริบิวต์ SHOW
แอตทริบิวต์ SHOW ใช้แสดงความหมายและบริบทให้กับทรัพยากรต่างถิ่นของ XML
เช่นกัน และเป็นส่วนของการทำงานที่ดีเหนือกว่าลิงก์ของ HTML อย่างเห้นได้ชัด
ค่าที่สามารถมีได้ใน แอตทริบิวต์ SHOW คือ replace,new และ embed แต่ละค่าของแอตทริบิวต์เป็นวิธีการที่ลิงค์จะท่องไปในเอกสาร
ค่า replace แสดงว่าทรัพยากรทอ้งถิ่นจะถูกแทนที่ด้วยทรัพยากรท้องถิ่น ซึ่งเป็นเทคนิคปกติที่ใช้อยู่ในลิงก์ของ
HTML ในการทำงานจริง อีเวนต์นี้จะเกิดขึ้นเมื่อเปราเซอร์กระโดดไปยังหน้าเอกสารใหม่เมื่อผู้ใช้คลิกลิงก์
ต่อไปนี้คือค่า new เมื่อระบุใช้ค่านี้ ทรัพยากรปลายทางจะแสดงในสภาพแวดล้อมใหม่
ซึ่งคล้ายกับการทำงานของแอตทริบิวต์ TARGET ในอิลิเมนต์ Anchor ของ HTML
ที่ปลายทางลิงก์จะเปิดด้วยสภาพแวดล้อมใหม่ ปกติจะเป็นหน้าต่างเบราเซอร์บานอื่น
ถ้าไม่สามารถหาสภาพแวดล้อมใหม่จากชื่อที่อ้างอิงไว้ได้ สภาพแวดล้อมใหม่จะถูกสร้างขึ้นมา(ปกติด้วยการเปิดหน้าต่างเบราเซอร์บานใหม่)
สุดท้ายคือค่า embed เป็นเทคนิคชั้นเยี่ยมในการทำลิงก์เมื่อระบุใช้ ข้อมูลของลิงก์ปลายทางจะถูกฝังลงในข้อมูลของลิงก์ต้นทาง
ตัวอย่าง เช่น เอกสารตัวหนึ่งมีลิงก์ไปยังข้อมูลแบ็คกราวด์ของอีกหัวข้อหนึ่ง
เมื่อผู้ใช้คลิกลิงก์ที่ระบุค่า embed แบ็คกราวด์ของหัวข้อนั้นจะเข้ามาแทรกในเนื้อหาของเอกสารต้นทาง
ณ ตำแหน่งของลิงก์
แอตทริบิวต์ ACTUATE
แอตทริบิวต์ ACTUATE ใช้แสดงความหมายและบริบทใหักับทรัพยากรต่างถิ่น เช่นกัน
โดยจะระบุวิธีการลิงก์จะท่องไปในเอกสาร ค่าของแอตทริบิวต์ตัวนี้คือค่าใดค่าหนึ่งระหว่าง
auto และ user ถ้าหากแอตทริบิวต์มีค่า auto แสดงว่าลิงก์จะท่องไปอย่างอัตโนมัติ
เมื่อได้รับการประมวลผลจากแอพริเคชั่น ส่วนค่า user ระบุว่าลิงก์จะท่องไปด้วยกลไลจากภายนอก
เช่น การคลิกเมาส์ เป็นต้น
แอตทริบิวต์ BEHAVIOR
เท่าที่ศึกษามาจนถึงตอนนี้ แอตทริบิวต์ส่วนใหญ๋ใช้นิยามลิงก์ว่าเป็นลิงก์ชนิดใด
หรือประกอบขึ้นจากอะไรเป็นต้น แอตทริบิวต์BEHAVIOR เองก็เป็นแอตทริบิวต์ตัวหนึ่งที่ใช้แสดงความหมายและบริบท
เช่นกัน มันเป็นแอตทริบิวต์ที่จัดเตรียมพื่นที่ให้กับผู้สร้างใช้นิยามรูปแบบลิงก์
โดยกำหนดให้เกิดขึ้นก่อนและหลังลิงก์ทำงาน ตัวอย่าง เช่น ก่อนที่ลิงก์จะทำงาน
คุณกำหนดจัดรูปแบบ,ฟอนต์,สีและอื่นๆให้ลิงก์ (สังเกตว่า Xlink ไม่สามารถจัดรูปแบบลิงก์ได้
เนื่องจากมันถูกควบคุมโดย Handle ของแอพลิเคชั่น) และสามารถกำหนดรูปแบบลิงก์หลังจากลิงก์ทำงานแล้ว
แอตทริบิวต์ BEHAVIOR ไม่บังคับค่าในแอตทริบิวต์ ว่าจะเป็นค่าอะไร ภายในสามารถบรรจุคำสั่งให้แอพลิเคชั่นประมวลผลลิงก์
ซึ่งต่างจากแอตทริบิวต์ SHOW และ ACTUATE ตรงที่ แอตทริบิวต์ BEHAVIOR ให้ผู้สร้างกำหนดเหตุการณ์ได้มากว่าที่กำหนดได้จากแอตทริบิวต์
ทั้งสอง เนื่องจาก Xlink ไม่ได้กำหนดค่าเฉพาะเจาะจงให้แก่แอตทริบิวต์ BEHAVIOR
แอตทริบิวต์ CONTENT-ROLE
แอตทริบิวต์ตัวนี้มีจุดประสงค์ในการทำงานเช่นเดียวกับ แอตทริบิวต์ ROLEแต่ใช้ทรัพยากรท้องถิ่นในการระบุเป้าประสงค์การทำงานของทรัพยากรท้องถิ่นซึ่งเป็นส่วนหนึ่งของลิงก์ให้กับแอพริเคชั่น
ดังนั้นมนุษย์จึงไม่สามารถอ่านและทำความเข้าใจค่าในแอตทริบิวต์ตัวนี้ได้
เลียนแบบ HTML
|