ล่าสุดการพัฒนาเว็บบทเรียน
×

XML เกี่ยวกับการสอน

XML บ้าน XML บทนำ XML วิธีใช้ XML ต้นไม้ XML วากยสัมพันธ์ XML องค์ประกอบ XML แอตทริบิวต์ XML namespaces XML แสดง XML XSLT XML XPath XML XLink XML ตรวจสอบ XML DTD XML schema XML เซิร์ฟเวอร์ XML การประยุกต์ใช้งาน XML ตัวอย่าง XML ทดสอบ XML ใบรับรอง

XML DOM

DOM แนะนำ DOM โหนด DOM XMLHttpRequest DOM การเข้าถึง DOM ข้อมูลโหนด DOM รายการโหนด DOM ภายใน DOM การนำทาง DOM ได้รับค่า DOM Change โหนด DOM Remove โหนด DOM Replace โหนด DOM Create โหนด DOM Add โหนด DOM Clone โหนด DOM ตัวอย่าง

DOM การอ้างอิง

DOM ประเภทโหนด DOM ปม DOM NodeList DOM NamedNodeMap DOM เอกสาร DOM ธาตุ DOM คุณลักษณะ DOM ข้อความ DOM CDATA DOM คิดเห็น DOM XMLHttpRequest DOM parser

XML DTD

DTD แนะนำ DTD การก่อสร้างตึก DTD องค์ประกอบ DTD แอตทริบิวต์ DTD องค์ประกอบ VS attr DTD หน่วยงาน DTD ตัวอย่าง

XSD Schema

XSD แนะนำ XSD ทำอย่างไร XSD <schema> XSD องค์ประกอบ XSD แอตทริบิวต์ XSD ข้อ จำกัด

XSD ซับซ้อน

XSD องค์ประกอบ XSD ว่างเปล่า XSD เพียงองค์ประกอบ XSD ข้อความเท่านั้น XSD ผสม XSD ตัวชี้วัด XSD <any> XSD <anyAttribute> XSD การแทน XSD ตัวอย่าง

XSD Data

XSD เชือก XSD วันที่ XSD เป็นตัวเลข XSD อื่น ๆ XSD การอ้างอิง

Web บริการ

XML บริการ XML WSDL XML SOAP XML RDF XML RSS

 

XML namespaces


Namespaces XML ให้วิธีการที่จะหลีกเลี่ยงความขัดแย้งชื่อองค์ประกอบ


ชื่อความขัดแย้ง

ใน XML ชื่อองค์ประกอบจะถูกกำหนดโดยนักพัฒนา นี้มักจะส่งผลให้เกิดความขัดแย้งเมื่อพยายามที่จะผสมเอกสาร XML จากการใช้งานที่แตกต่างกัน XML

XML นี้นำข้อมูลตาราง HTML:

<table>
  <tr>
    <td>Apples</td>
    <td>Bananas</td>
  </tr>
</table>

XML นี้ดำเนินการข้อมูลเกี่ยวกับตาราง (a piece of furniture) :

<table>
  <name>African Coffee Table</name>
  <width>80</width>
  <length>120</length>
</table>

ถ้าสิ่งเหล่านี้ชิ้นส่วน XML ถูกรวมเข้าด้วยกันก็จะมีความขัดแย้งชื่อ ทั้งสองมี <table> องค์ประกอบ แต่องค์ประกอบที่มีเนื้อหาที่แตกต่างและความหมาย

ผู้ใช้หรือโปรแกรม XML จะไม่ทราบวิธีการจัดการแตกต่างเหล่านี้


แก้ข้อขัดแย้งของชื่อการใช้คำนำหน้า

ความขัดแย้งชื่อในรูปแบบ XML สามารถจะหลีกเลี่ยงการใช้คำนำหน้าชื่อ

XML นี้ดำเนินการข้อมูลเกี่ยวกับตาราง HTML และชิ้นส่วนของเฟอร์นิเจอร์:

<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> องค์ประกอบที่มีชื่อที่แตกต่างกัน


Namespaces XML - เดอะ xmlns แอตทริบิวต์

เมื่อมีการใช้คำนำหน้าในรูปแบบ XML เป็น namespace สำหรับคำนำหน้าจะต้องกำหนด

namespace ที่สามารถกำหนดได้โดย xmlns แอตทริบิวต์ในแท็กเริ่มต้นขององค์ประกอบ

ประกาศ namespace มีไวยากรณ์ต่อไป xmlns: prefix =" URI "

<root>

<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.w3ii.com/furniture">
  <f:name>African Coffee Table</f:name>
  <f:width>80</f:width>
  <f:length>120</f:length>
</f:table>

</root>

ในตัวอย่างข้างต้น:

xmlns แอตทริบิวต์ในครั้งแรก <table> องค์ประกอบให้ H: คำนำหน้า namespace ที่มีคุณสมบัติเหมาะสม

xmlns แอตทริบิวต์ในครั้งที่สอง <table> องค์ประกอบให้ F: คำนำหน้า namespace ที่มีคุณสมบัติเหมาะสม

เมื่อ namespace ที่ถูกกำหนดไว้สำหรับองค์ประกอบองค์ประกอบของเด็กทั้งหมดที่มีคำนำหน้าเดียวกันมีความเกี่ยวข้องกับ namespace เดียวกัน

Namespaces ยังสามารถได้รับการประกาศในองค์ประกอบหลักของ XML:

<root
xmlns:h="http://www.w3.org/TR/html4/"
xmlns:f="http://www.w3ii.com/furniture">

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

</root>

Note: การ namespace URI จะไม่ใช้ตัวแยกวิเคราะห์เพื่อค้นหาข้อมูล

จุดประสงค์ของการใช้ URI คือการให้ namespace นั้นมีชื่อไม่ซ้ำกัน

อย่างไรก็ตาม บริษัท มักจะใช้ namespace เป็นตัวชี้ไปยังหน้าเว็บที่มีข้อมูล namespace


Uniform Resource Identifier (URI)

Uniform Resource Identifier (URI) เป็นสตริงของตัวละครซึ่งระบุทรัพยากรอินเทอร์เน็ต

ที่พบมากที่สุดคือ URI Uniform Resource Locator (URL) ซึ่งระบุที่อยู่โดเมนอินเทอร์เน็ต อีกชนิดไม่ธรรมดาของ URI เป็น Universal Resource Name (URN)


Namespaces เริ่มต้น

กำหนด namespace เริ่มต้นสำหรับองค์ประกอบช่วยเราจากการใช้คำนำหน้าในทุกองค์ประกอบย่อย มันมีไวยากรณ์ต่อไปนี้:

xmlns="namespaceURI"

XML นี้นำข้อมูลตาราง HTML:

<table xmlns="http://www.w3.org/TR/html4/">
  <tr>
    <td>Apples</td>
    <td>Bananas</td>
  </tr>
</table>

XML นี้ดำเนินการข้อมูลเกี่ยวกับชิ้นส่วนของเฟอร์นิเจอร์:

<table xmlns="http://www.w3ii.com/furniture">
  <name>African Coffee Table</name>
  <width>80</width>
  <length>120</length>
</table>

Namespaces ในการใช้งานจริง

XSLT เป็นภาษาที่สามารถใช้ในการแปลงเอกสาร XML ในรูปแบบอื่น ๆ

เอกสาร XML ด้านล่างนี้เป็นเอกสารที่ใช้ในการแปลง XML เป็น HTML

namespace ที่ "http://www.w3.org/1999/XSL/Transform" ระบุองค์ประกอบ XSLT ภายในเอกสาร HTML:

<?xml version="1.0" encoding="UTF-8 " ?>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
<html>
<body>
  <h2>My CD Collection</h2>
  <table border="1">
    <tr>
      <th style="text-align:left">Title</th>
      <th style="text-align:left">Artist</th>
    </tr>
    <xsl:for-each select="catalog/cd">
    <tr>
      <td><xsl:value-of select="title"/></td>
      <td><xsl:value-of select="artist"/></td>
    </tr>
    </xsl:for-each>
  </table>
</body>
</html>
</xsl:template>

</xsl:stylesheet>

หากคุณต้องการที่จะเรียนรู้เพิ่มเติมเกี่ยวกับ XSLT โปรดอ่าน กวดวิชา XSLT