XML Namespaces.

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
เรื่อง เครือข่ายอินเทอร์เน็ตและการสืบค้นข้อมูล
Advertisements

ความหมายของไปรษณีย์อิเล็กทรอนิกส์ ( )
ชนิดของข้อมูลในโปรแกรม Interactive C
HO Session 14: Database Design Principles
การเสนอโครงการวิทยานิพนธ์
ลิมิตและความต่อเนื่อง
ปรับปรุงล่าสุด 21/03/54 โดย... จิรวัฒน์ พรหมพร แผนกสนับสนุนฝ่ายทรัพยากร อิเล็กทรอนิกส์ทางการศึกษา บริษัท บุ๊ค โปรโมชั่น แอนด์ เซอร์วิส.
Real Time Information Integration System
Address จดหมายอิเลคทรอนิกส์.
ไปรษณีย์หรือจดหมายอิเล็กทรอนิกส์
นางสาวมะลิวรรณ ระหูภา
Dublin Core Metadata tiac. or
การเลือกตัวอย่าง อ.สมพงษ์ พันธุรัตน์.
FORM อ.กันทิมา อ่อนละออ
Thesis รุ่น 1.
บทที่ 2 รูปแบบของฐานข้อมูล.
สถาปัตยกรรมฐานข้อมูล
บทที่ 12 การจดทะเบียนชื่อโดเมน (Domain Name Registration)
World Wide Web WWW.
Social Network.
Kulachatr Chatrkul Na Ayudhya Introduction to e-Commerce
การสืบทอด (Inheritance)
การเขียนโปรแกรมบนเว็บ (WEB PROGRAMMING) บทที่ 1 ความรู้เบื้งต้นเกี่ยวกับอินเทอร์เน็ตเวิลด์ไวด์เว็บ และโปรโตคอลที่เกี่ยวข้อง โดย อ.ปริญญา น้อยดอนไพร.
โดย อ.ปริญญา น้อยดอนไพร V
โอฬาริก สุรินต๊ะ CS/MIS
การสืบทอดคุณสมบัติ (Inheritance)
โครงร่างการวิจัย (Research Proposal)
หน่วยที่ 8 อาร์กิวเมนต์ของ main
สถาปัตยกรรมของระบบฐานข้อมูล
การออกแบบฐานข้อมูลเชิงสัมพันธ์
การออกแบบฐานข้อมูลและการบริหารธุรกิจ
Charter 12 1 Chapter 12 อินเทอร์เน็ต Internet.
การใช้งานไปรษณีย์อิเล็กทรอนิกส์ ( )
Data Modeling Chapter 6.
การแทนข้อมูล คอมพิวเตอร์เป็นอุปกรณ์อิเล็กทรอนิกส์ซึ่งใช้สัญญาณอิเล็กทรอนิกส์ในการทำงานเพื่อเก็บข้อมูล ประมวลผลและแสดงผลลัพธ์ การมองเห็นข้อมูลของคอมพิวเตอร์กับการมองเห็นข้อมูลของผู้ใช้จะไม่เหมือนกัน.
คอมพิวเตอร์ ร.ร.จักรคำคณาทร
คอมพิวเตอร์ ร.ร.จักรคำคณาทร
อินเทอร์เน็ตInternet
ตัวแปรกับชนิดของข้อมูล
ฐานข้อมูลเชิงสัมพันธ์ (Relational Database)
การเขียนรายงานการวิจัย
เรื่อง โดเมนเนม โดเมนเนม.
การติดต่อสื่อสารผ่านอินเตอร์เน็ต
Object-Oriented Programming
1. รายการเปลี่ยนแปลง (Transaction)
1. ศัพท์พื้นฐานของฐานข้อมูล
13 October 1. Information and Communication Technology Lab 8 Web Browser and Seach Engine โดย ผู้ช่วยศาสตราจารย์วิชัย.
๑ - ๒ พ. ค. ๕๗ น. ต. ณฤทธิ์ บุญทาเลิศ นายทหารปฏิบัติการ แผนกกรรมวิธีข้อมูล กบศ. ยศ. ทร.
Search Engine จัดทำโดย น. ส. กรรณิดา เดิมบางปิด เลขที่ 1 น. ส. เกศินี ศรีอินทร์สุทธิ์ เลขที่ 4 น. ส. เบญจวรรณ แซ่อั๊ง เลขที่ 51 1.
PHP: [8] การสร้างฟังก์ชั่นขึ้นใช้เอง (User-defined functions)
อินเทอร์เน็ต โดย.. ครูสาคร หนูอิน.
การเขียนโปรแกรมคอมพิวเตอร์ 1
อินเทอร์เน็ต.
อินเตอร์เน็ตเบื้องต้น
Uniform Resource Location ( URL)
XML ( Extensible Markup Language ). ภาษาที่ได้รับการออกแบบมาเพื่อให้สามารถ นิยามความหมายของข้อมูลได้ หรือที่เรียกว่า Data definition โดยอนุญาตให้ผู้ใช้นิยามแท็ก.
โมเดลเชิงสัมพันธ์ The relational model.
Web browser.
การสร้างฟอร์ม(Form) ด้วยภาษา HTML
ระบบชื่อเว็บไซต์. URL(Universal Resource Locators or Uniform Resource Locators ) ที่อยู่ของแหล่งข่าวสารที่เป็นสากล รูปแบบมาตรฐานของ URL เป็นดังนี้ scheme://host:port/path.
ISP ในประเทศไทย
การใช้งานอินเตอร์เน็ต
EBook Collection EBSCOhost.
เทคโนโลยีสารสนเทศ.
บทที่ 9 ซอฟต์แวร์ประยุกต์บนเครือข่ายอินเตอร์เน็ต
คำศัพท์ระบบอินเตอร์เน็ต
การเขียนรายงานผลการวิจัย
Application Layer.
หลักการออกแบบเว็บไซต์
บทที่ 3 การสืบทอด (Inheritance)
ใบสำเนางานนำเสนอ:

XML Namespaces

เนื้อหา ทำไมต้องมี namespaces ? การแก้ไขปัญหา name conflict Namespaces สำหรับ attributes namespaces และ DTD

XML Namespaces XML Namespaces เป็นวิธีการที่ใช้ในการหลีกเลี่ยง element name conflicts element name conflict เนื่องจากชื่ออีลีเมนต์ใน XML ไม่จำกัดแน่นอนตายตัว บ่อยครั้งที่เกิดชื่อซ้ำกัน หรือ ขัดแย้งกัน (name conflict) เมื่อเอกสาร เอกสารที่แตกต่างกัน ใช้ชื่อเดียวกันในการอธิบายอีลีเมนต์ 2 อีลีเมนต์ที่แตกต่างกัน

ตัวอย่างของ element name conflict <table> <tr> <td>Apples</td> <td>Bananas</td> </tr> </table> <table> <name>African Coffee Table</name> <width>80</width> <length>120</length> </table> ทั้งสองเอกสารมีอีลีเมนต์ <table> ที่มีนิยามและเนื้อหาที่แตกต่างกัน

ทำไมต้องมี namespaces ? ภายในอีลีเมนต์ ชื่อของแอททริบิวต์จะต้องเป็นค่าที่ unique แต่อีลีเมนต์ 2 อีลีเมนต์สามารถมีแอททริบิวต์ชื่อเดียวกันได้ เรียกแอททริบิวต์ของอีลีเมนต์ที่แตกต่างกัน ว่า เป็นของ namespaces ที่แตกต่างกัน นำไปสู่ปัญหาการชนกันระหว่างชื่อของอีลีเมนต์ เมื่อ integrate ข้อมูลจากหลายแหล่งข้อมูล เมื่อใช้ XML-based languages ร่วมกัน เช่น MathML ร่วมกับ SVG อาจทำให้เกิดความกำกวมในการประมวลผล

W3C recommendation http://www.w3.org/TR/REC-xml-names/ W3C กำหนด recommendation สำหรับ namespaces ใน XML http://www.w3.org/TR/REC-xml-names/

การแก้ปัญหา name conflict โดยใช้ Prefix <h:table> <h:tr> <h:td>Apples</h:td> <h:td>Bananas</h:td> </h:tr> </h:table> <f:table> <f:name>African Coffee Table</f:name> <f:width>80</f:width> <f:length>120</f:length> </f:table> ทั้งสองเอกสารใช้ชื่อที่แตกต่างกันสำหรับอีลีเมนต์ <table> (<h:table> และ <f:table>)

Name conflict solution ให้กำหนด element names ด้วย URIs เนื่องจาก URI จัดเป็น unique identifier Universal Resource Identifier (URI) สายอักขระที่จัดเป็น unique identifier ใช้ในการกำหนดทรัพยากรในระบบเครือข่ายอินเทอร์เน็ต รูปแบบของ URI ที่ใช้บ่อยที่สุด ได้แก่ Uniform Resource Locator (URL) ที่กำหนดที่อยู่โดเมนของเครือข่ายอินเทอร์เน็ต อีกรูปแบบของ URI ได้แก่ Universal Resource Name (URN)

Name conflict solution ชื่อที่จัดเป็น qualified name ประกอบด้วย 2 ส่วน namespace:local-name เช่น <http://www.furniture.com/furniture> … </ http://www.furniture.com/furniture> เมื่อ http://www.furniture.com/furniture จัดเป็น URI และ namespace

การประกาศ Namespace การใช้ URIs ทุกแห่งในอีลีเมนต์ไม่สะดวก ใช้การประกาศ namespace และ prefix ที่เกี่ยวข้อง (user-specified คือ ผู้ใช้สามารถกำหนดได้เอง) <f:table xmlns:f="http://www.furniture.com/furniture"> <f:name>African Coffee Table</f:name> ... </...> ประกาศ namespace คือ http://www.furniture.com/tableที่สอดคล้องกับ prefix “f” URI ไม่จำเป็นต้องอ้างอิง Web resource จริงๆ แต่ใช้เพื่อแยกแยะความแตกต่างของชื่อเท่านั้น

การแก้ปัญหา name conflict โดยใช้ namespaces <h:table xmlns:h="http://www.w3.org/TR/html4/"> <h:tr> <h:td>Apples</h:td> <h:td>Bananas</h:td> </h:tr> </h:table> <f:table xmlns:f="http://www.w3schools.com/furniture"> <f:name>African Coffee Table</f:name> <f:width>80</f:width> <f:length>120</f:length> </f:table> ใช้ แอททริบิวต์ xmlns กับแท็ก <table> เพื่อกำหนดชื่อที่เกี่ยวข้องกับ namesapce ให้กับ element prefix แทนการใช้ prefix

Default Namespaces การกำหนดdefault namespace สำหรับอีลีเมนต์ ทำให้ไม่ต้องกำหนด prefixes ในอีลีเมนต์ลูกทั้งหมด <element xmlns="namespace"> <table xmlns="http://www.w3.org/TR/html4/"> <tr> <td>Apples</td> <td>Bananas</td> </tr> </table> <table xmlns="http://www.w3schools.com/furniture"> <name>African Coffee Table</name> <width>80</width> <length>120</length> </table>

Overriding Namespaces <book xmlns="http://www.book...."> <title>Disgrace</title> <author xmlns="http://www.person..."> <name>John Coetzee</name> <title>Professor</title> </author> <year>1999</year> </book> default namespace ถูก override ใน author book, title แรก และ year ใช้ namespace “www.book...” author, name และ title ที่สอง ใช้ namespace “www.person...”

Namespaces และ DTD namespaces ถูกกำหนดขี้นใช้งานหลังจากการกำหนด DTDs DTD ไม่สนับสนุน namespace แต่ใน DTD สามารถประกาศชื่ออีลีเมนต์เป็น person:title ในตัวอย่าง DTD ต่อไปนี้ <!ELEMENT title ...> <!ATTLIST title xmlns CDATA #FIXED "http://www.person.com"> <!ELEMENT person:title ...> <!ATTLIST person:title xmlns:person CDATA #FIXED "http://www.person.com"> title และ person:title จัดว่าเป็นชื่ออีลีเมนต์แตกต่างกันในเอกสารที่ valid แต่ในข้อกำหนดของ namespaces (namespaces specification) จัดว่า ไม่แตกต่างกัน

สรุป ความจำเป็นในการกำหนด namespace ใน XML มักใช้งานใน e-commerce application ที่มีการ integrate ข้อมูลจากหลายแหล่ง