Latest web development tutorials

Namespaces XML

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


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

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

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

<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 parser ไม่สามารถกำหนดวิธีการจัดการกับความขัดแย้งดังกล่าว


ใช้คำนำหน้าเพื่อหลีกเลี่ยงความขัดแย้งการตั้งชื่อ

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


namespace XML - xmlns แอตทริบิวต์

เมื่อมีการใช้คำนำหน้าใน XMLnamespace ที่เรียกว่าสำหรับคำนำหน้าจะต้องกำหนด

namespacexmlns แอตทริบิวต์ที่กำหนดไว้ในแท็กเริ่มต้นขององค์ประกอบ

ไวยากรณ์ประกาศ namespace เป็นดังนี้ xmlns:คำนำหน้า= "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.w3cschool.cc/furniture" >
<f:name>African Coffee Table</f:name>
<f:width>80</f:width>
<f:length>120</f:length>
</f:table>

</root>

ในตัวอย่างข้างต้น xmlns แอตทริบิวต์ <table> tag กำหนด H: คำนำหน้า namespace ที่มีคุณภาพและ F

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

namespace คุณสามารถประกาศหรือพวกเขาจะใช้ในองค์ประกอบในองค์ประกอบราก XML:

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

หมายเหตุ: namespace URI parser จะไม่ถูกนำมาใช้ในการค้นหาข้อมูล

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

เยี่ยมชม http://www.w3.org/TR/html4/


ระบุทรัพยากร (URI, ย่อมาจาก Uniform Resource Identifier)

Resource Identifier (URI) เป็นสายอักขระที่อาจระบุทรัพยากรอินเทอร์เน็ต

ที่พบมากที่สุดคือ URIUniform Resource Locator ใช้ในการระบุที่อยู่โดเมนอินเทอร์เน็ต (URL)ธรรมดาน้อย URIเป็นชื่อทรัพยากรเครื่องแบบ (ผอบ)

ในตัวอย่างของเราเราเพียงใช้ URL


เริ่มต้น namespace

องค์ประกอบที่กำหนด 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.w3schools.com/furniture">
<name>African Coffee Table</name>
<width>80</width>
<length>120</length>
</table>


ใช้งานจริงของการ namespace

XSLT เป็นกระบวนการสำหรับเอกสาร XML ในรูปแบบ XML ภาษาอื่น ๆ เช่นแบบ HTML

ในเอกสาร XSLT ด้านล่างนี้คุณจะเห็นว่าส่วนใหญ่ของแท็กที่มีแท็ก HTML

แท็กที่ไม่ใช่ HTML มี XSL คำนำหน้าและทำให้ระบุ namespace นี้: xmlns: XSL = "http://www.w3.org/1999/XSL/Transform":

<?xml version="1.0" encoding="ISO-8859-1"?>

<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 align="left">Title</th>
<th 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 กวดวิชา