--------------------------------------------------------------------------------
定名争执
由于XML文档中运用的元素不是牢固的,那末两个差别的XML文档运用同一个名字来形貌差别范例的元素的状况就可能发作。而这类状况又往往会致使定名争执。请看下面两个例子
这个 XML 文档在table元素中携带了生果的信息:
<table> <tr> <td>Apples</td> <td>Bananas</td> </tr> </table>
这个XML文档在table元素中携带了桌子的信息(家具,不能吃的哦):
<table> <name>African Coffee Table</name> <width>80</width> <length>120</length> </table>
假如上面两个XML文档片段恰巧在一同运用的话,那末将会涌现定名争执的状况。由于这两个片段都包括了<table>元素,而这两个table元素的定义与所包括的内容又各不相同。
--------------------------------------------------------------------------------
运用前缀处理定名争执题目
下面的XML文档在table元素中携带了信息:
<h:table> <h:tr> <h:td>Apples</h:td> <h:td>Bananas</h:td> </h:tr> </h:table>
下面的XML文档携带了家具table的信息:
<f:table> <f:name>African Coffee Table</f:name> <f:width>80</f:width> <f:length>120</f:length> </f:table>
如今已没有元素定名争执的题目了,由于这两个文档对各自的table元素运用了差别的前缀,table元素在两个文档中分别是(<h:table> 和<f:table>)。
经由过程运用前缀,我们创建了两个差别的table元素。
--------------------------------------------------------------------------------
运用定名空间
下面的XML文档在table元素中携带了信息:
<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>
下面的XML文档携带了家具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>
在上面两个例子中除了运用前缀外,两个table元素都运用了xmlns属性,使元素和差别的定名空间关联到一同。
--------------------------------------------------------------------------------
定名空间属性
定名空间属性平常安排在元素的最先标记处,其运用语法以下所示:
xmlns:namespace-prefix="namespace"
在上面的例子中,定名空间定义了一个Internet 地点:
xmlns:f="http://www.w3schools.com/furniture"
W3C 定名范例声明定名空间自身就是一个一致资本标示符,Uniform Resource Identifier (URI)。
当我们在元素的最先标记处运用定名空间时,该元素一切的子元素都将经由过程一个前缀与同一个定名空间互相干联。
注重:用来标识定名空间的收集地点并不被XML解析器挪用,XML解析器不需要从这个收集地点中查找信息,该收集地点的作用仅仅是给定名空间一个唯一的名字,因而这个收集地点也可所以假造的,然而又许多公司常常把这个收集地点值象一个实在的Web页面,这个地点包括了关于当前定名空间更细致的信息。
一致资本标识符
通用资本标识符(A Uniform Resource Identifier (URI))是一个标识收集资本的字符串。最一般的URI应该是一致资本定位符Uniform Resource Locator (URL)。URL用于标识收集主机的地点。另一方面,另一个不经常使用的URI是通用资本名字Universal Resource Name (URN)。在我们的例子中,平常运用的是URLs。
既然前面的例子运用的URL地点来标识定名空间,我们能够确信这个定名空间是唯一的。
--------------------------------------------------------------------------------
默许的定名空间
定义一个默许的XML定名空间使得我们在子元素的最先标记中不需要运用前缀。他的语法以下所示:
<element xmlns="namespace">
下面的XML文档在table元素中包括了生果的信息:
<table xmlns="http://www.w3.org/TR/html4/"> <tr> <td>Apples</td> <td>Bananas</td> </tr> </table>
下面的XML文档包括了家具table的信息:
<table xmlns="http://www.w3schools.com/furniture"> <name>African Coffee Table</name> <width>80</width> <length>120</length> </table>
--------------------------------------------------------------------------------
运用定名空间
档最先运用XSL的时刻,就会发明定名空间运用的是云云频仍。XSL款式单重要用于将XML文档转换成类似于HTML文件的花样。
假如看一下下面的XSL文档,就会发明有许多标记都是HTML标记。那些标记并非HTML标记,是加了前缀的XSL,这个XSL前缀由定名空间"http://www.w3.org/TR/xsl"所标识:
<?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet xmlns:xsl=" <xsl:template match="/"> <html> <body> <table border="2" bgcolor="yellow"> <tr> <th>Title</th> <th>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>
以上就是细致引见XML中名字空间的代码案例的细致内容,更多请关注ki4网别的相干文章!