ชื่อเรียกนามสเปซของ XML

XML ชื่อพื้นที่เปิดโอกาสป้องกันการขัดแย้งชื่อองค์ประกอบ

ขัดแย้งชื่อ

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

เอกสาร XML นี้มีข้อมูลจากตารางใดๆ

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

เอกสาร XML นี้มีข้อมูลเกี่ยวกับตาราง (เศษของเงิน)

<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> ตัวแทนของพวกเขา (<h:table> และ <f:table>)。

ด้วยการใช้คำนำหน้า พวกเราสร้างสองประเภทของ <table> ตัวแทน

XML ชื่อพื้นที่ - 屬姓 xmlns

เมื่อใช้คำนำหน้าใน XML ต้องกำหนดคำนำหน้าชื่อแนวทาง(Namespaces)。

ในแสดงที่เริ่มต้นขององค์ประกอบ xmlns คุณสมบัตินี้ที่ใช้ประกาศ

การประกาศชื่อแนวทางใช้กราฟฟิกนี้: 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="https://www.codew3c.com/furniture">
  <f:name>African Coffee Table</f:name>
  <f:width>80</f:width>
  <f:length>120</f:length>
</f:table>
</root>

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

ในองค์ประกอบ <table> ที่หนึ่ง xmlns คุณสมบัติของ h: คำนำหน้าให้มีชื่อแนวทางที่กำหนด

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

หากได้กำหนดชื่อแนวทางให้กับองค์ประกอบ ทุกองค์ประกอบที่มีหน้าในเดียวกันจะมีชื่อแนวทางเดียวกัน

ชื่อแนวทางก็สามารถประกาศในองค์ประกอบราก XML ได้:

<root xmlns:h="http://www.w3.org/TR/html4/">
xmlns:f="https://www.codew3c.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>

แจ้งเตือน:ตัวแยกความหมายจะไม่ใช้แนวทาง URI ในการหาข้อมูล。

วัตถุประสงค์ของการใช้ URI คือเพื่อให้แนวทางมีชื่อเดียวกันเท่านั้น。

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

ตัวแทนทรัพยากรส่วนบุคคล (URI)

ตัวแทนทรัพยากรส่วนบุคคล (Uniform Resource Identifier,URI) คือตัวแทนของตัวอักษรที่ใช้ระบุทรัพยากรอินเตอร์เน็ต。

) คือตัวแทนของตัวอักษรที่ใช้ระบุทรัพยากรอินเตอร์เน็ต。ตำแหน่งทรัพยากรส่วนบุคคล (Uniform Resource Locator,URL) มันใช้เพื่อระบุที่อยู่เว็บไซต์อินเตอร์เน็ต。

ชนิด URI ที่ไม่เป็นที่นิยมน้อยของมันคือชื่อทรัพยากรส่วนบุคคล (Uniform Resource Name,URN)。

แนวทางชื่อมาตรฐาน (Default Namespaces)

การกำหนดชื่อสำหรับเนติบวกเป็นปริมาณเริ่มต้นสำหรับองค์ประกอบ จะทำให้เราไม่จำเป็นต้องใช้คำนำหน้าที่แทนที่ในทุกองค์ประกอบลูกของมัน

ใช้กฎระเบียบด้านล่างนี้:

xmlns="namespaceURI"

เอกสาร XML นี้มีข้อมูลตาราง HTML:

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

XML นี้มีข้อมูลเกี่ยวกับสิ่งของที่พึงประสงค์นี้:

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

การใช้งานชื่อสำหรับเนติบวก

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

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

หากคุณตรวจสอบเอกสาร XSL ด้านล่างนี้ คุณจะเห็นว่าส่วนใหญ่ของแท็กตัวอักษรเป็นแท็ก HTML。

ตัวอักษรหน้าแทนที่ไม่ใช่ HTML จะมีคำนำหน้า xsl และมีชื่อสำหรับเนติบวกที่แสดงว่า "http://www.w3.org/1999/XSL/Transform":

ชื่อสำหรับเนติบวก "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.