Home > Article > Backend Development > Detailed introduction to code examples of namespaces in XML
XML Namespace provides a way to avoid naming elements Conflicting methods.
---------------------------------------- ----------------------------------------
Naming conflict
Because the elements used in XML documents are not fixed, it may happen that two different XML documents use the same name to describe different types of elements, and this situation often leads to naming conflicts. Please see the following two. Example
This XML document carries fruit information in the table element:
<table> <tr> <td>Apples</td> <td>Bananas</td> </tr> </table>
This XML document carries table information (furniture, not edible) in the table element:
<table> <name>African Coffee Table</name> <width>80</width> <length>120</length> </table>
If the above two XML document fragments happen to be used together, there will be a naming conflict because both fragments contain f5d188ed2c074f8b944552db028f98a1 elements, and the definitions of these two table elements. The contents are different from each other.
---------------------------------- --------------------------------------------------
Use prefixes to resolve naming conflicts
The following XML document carries information in the table element:
<h:table> <h:tr> <h:td>Apples</h:td> <h:td>Bananas</h:td> </h:tr> </h:table>
The following XML document carries information about the furniture table:
<f:table> <f:name>African Coffee Table</f:name> <f:width>80</f:width> <f:length>120</f:length> </f:table>
Now it has There is no element naming conflict problem, because the two documents use different prefixes for their respective table elements, which are (fae077d51b591786197c1ce2523c9adb and 20e0d2c31ebbe4ee5491ba472c0918be) # in the two documents.
##By using the prefix, we create two different table elements ------------------------ -------------------------------------------------- -----Use namespaceThe following XML document carries information in the table element:
<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>The following XML document carries information about the furniture 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>In addition to using prefixes in the above two examples, both table elements use the xmlns
attribute to associate the elements with different namespaces
--. -------------------------------------------------- ----------------------------Namespace attributesNamespace attributes are generally placed at the start tag of an element , its usage syntax is as follows:
xmlns:namespace-prefix="namespace"In the above example, the namespace defines an Internet address:
xmlns:f="http://www.w3schools.com/furniture"
W3C Naming specification statement The namespace itself is a Uniform Resource Identifier, Uniform Resource Identifier (URI).
Uniform Resource Identifier (A Uniform Resource Identifier (URI)) is a
string that identifies a network resource. The most common URI should be the Uniform Resource Locator (URL). A URL is used to identify the address of a network host. On the other hand, another less commonly used URI is the Universal Resource Name (URN). In our case, URLs are generally used.
Definition A default XML namespace eliminates the need for prefixes in the opening tags of child elements. His syntax is as follows:
<element xmlns="namespace">The following XML document contains fruit information in the table element:
<table xmlns="http://www.w3.org/TR/html4/"> <tr> <td>Apples</td> <td>Bananas</td> </tr> </table>The following XML document contains furniture table information:
<table xmlns="http://www.w3schools.com/furniture"> <name>African Coffee Table</name> <width>80</width> <length>120</length> </table>-------------------------------------------------- ------------------------------------Use namespace
file start When using XSL, you will find that namespaces are used so frequently. XSL style sheets are mainly used to convert XML documents into a format similar to HTML files.
<?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>
The above is the detailed content of Detailed introduction to code examples of namespaces in XML. For more information, please follow other related articles on the PHP Chinese website!