小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

XML 命名空間 | 菜鳥教程

 昵稱45943784 2019-08-11

XML 命名空間


XML 命名空間提供避免元素命名沖突的方法。


命名沖突

在 XML 中,元素名稱是由開發(fā)者定義的,當(dāng)兩個(gè)不同的文檔使用相同的元素名時(shí),就會(huì)發(fā)生命名沖突。

這個(gè) XML 攜帶 HTML 表格的信息:

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

這個(gè) XML 文檔攜帶有關(guān)桌子的信息(一件家具):

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

假如這兩個(gè) XML 文檔被一起使用,由于兩個(gè)文檔都包含帶有不同內(nèi)容和定義的 <table> 元素,就會(huì)發(fā)生命名沖突。

XML 解析器無(wú)法確定如何處理這類沖突。


使用前綴來(lái)避免命名沖突

在 XML 中的命名沖突可以通過(guò)使用名稱前綴從而容易地避免。

該 XML 攜帶某個(gè) 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>

在上面的實(shí)例中,不會(huì)有沖突,因?yàn)閮蓚€(gè) <table> 元素有不同的名稱。


XML 命名空間 - xmlns 屬性

當(dāng)在 XML 中使用前綴時(shí),一個(gè)所謂的用于前綴的命名空間必須被定義。

命名空間是在元素的開始標(biāo)簽的 xmlns 屬性中定義的。

命名空間聲明的語(yǔ)法如下。xmlns:前綴="URI"。

<root>

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

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

</root>

在上面的實(shí)例中,<table> 標(biāo)簽的 xmlns 屬性定義了 h: 和 f: 前綴的合格命名空間。

當(dāng)命名空間被定義在元素的開始標(biāo)簽中時(shí),所有帶有相同前綴的子元素都會(huì)與同一個(gè)命名空間相關(guān)聯(lián)。

命名空間,可以在他們被使用的元素中或者在 XML 根元素中聲明:

<root xmlns:h="http://www./TR/html4/"
xmlns:f="http://www./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 不會(huì)被解析器用于查找信息。

其目的是賦予命名空間一個(gè)惟一的名稱。不過(guò),很多公司常常會(huì)作為指針來(lái)使用命名空間指向?qū)嶋H存在的網(wǎng)頁(yè),這個(gè)網(wǎng)頁(yè)包含關(guān)于命名空間的信息。

請(qǐng)?jiān)L問(wèn) http://www./TR/html4/。


統(tǒng)一資源標(biāo)識(shí)符(URI,全稱 Uniform Resource Identifier)

統(tǒng)一資源標(biāo)識(shí)符(URI)是一串可以標(biāo)識(shí)因特網(wǎng)資源的字符。

最常用的 URI 是用來(lái)標(biāo)識(shí)因特網(wǎng)域名地址的統(tǒng)一資源定位器(URL)。另一個(gè)不那么常用的 URI 是統(tǒng)一資源命名(URN)。

在我們的實(shí)例中,我們僅使用 URL。


默認(rèn)的命名空間

為元素定義默認(rèn)的命名空間可以讓我們省去在所有的子元素中使用前綴的工作。它的語(yǔ)法如下:

xmlns="namespaceURI"

這個(gè) XML 攜帶 HTML 表格的信息:

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

這個(gè)XML攜帶有關(guān)一件家具的信息:

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


實(shí)際使用中的命名空間

XSLT 是一種用于把 XML 文檔轉(zhuǎn)換為其他格式的 XML 語(yǔ)言,比如 HTML。

在下面的 XSLT 文檔中,您可以看到,大多數(shù)的標(biāo)簽是 HTML 標(biāo)簽。

非 HTML 的標(biāo)簽都有前綴 xsl,并由此命名空間標(biāo)識(shí):xmlns:xsl="http://www./1999/XSL/Transform":

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

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www./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>

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多