Latest web development tutorials

Przestrzenie nazw XML

Przestrzenie nazw XML dostarczenie sposobu, aby uniknąć konfliktów nazwa elementu.


Naming konfliktów

W XML, nazwy elementów są definiowane przez programistę, gdy dwa różne dokumenty używać tej samej nazwy elementu, wystąpi konflikt nazw.

Ten XML prowadzi HTML informacje o tabeli:

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

Ten XML niesie informacje o tabeli (mebel):

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

Jeśli te dwa dokumenty XML są wykorzystywane razem, ponieważ oba dokumenty zostały dołączone do różnych treści i definicji elementu <table>, konflikty nazewnictwa wystąpić.

XML parser nie można ustalić, w jaki sposób radzić sobie z takimi konfliktami.


Użyj prefiksów w celu uniknięcia konfliktów nazw

Konfliktów nazw w XML można uzyskać za pomocą nazwy przedrostek tak łatwo uniknąć.

Ten XML prowadzi tabelę HTML i mebel w wiadomości:

<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>

W powyższym przykładzie, nie ma konfliktu, ponieważ <table> dwa elementy mają różne nazwy.


XML namespace - atrybut xmlns

Podczas korzystania z prefiksów w XML, tzwnazw dla prefiksu musi być zdefiniowana.

xmlns namespace atrybutdefiniuje się w znaczniku początkowym elementu.

Składnia deklaracji przestrzeni nazw jest następująca. 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="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>

W powyższym przykładzie, atrybut xmlns <table> tag definiuje H: namespace prefix kwalifikacje: f.

Gdy nazw jest zdefiniowane w znaczniku początkowym elementu, wszystkie elementy podrzędne z tego samego prefiksu i związane z nazw.

Przestrzeń nazw można zadeklarować czy są one wykorzystywane w element elementu głównego 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>

Uwaga: Przestrzeń nazw URI parser nie zostaną wykorzystane w celu znalezienia informacji.

Jego celem jest zapewnienie przestrzeni nazw unikalną nazwę. Jednak wiele firm często używają nazw jako wskaźnik do punktu do rzeczywistego istnienia strony, ta strona zawiera informacje na temat nazw.

Odwiedź http://www.w3.org/TR/html4/ .


Identyfikator Uniform Resource (URI, oznacza Uniform Resource Identifier)

Uniform Resource Identifier (URI) jest ciągiem znaków, które mogą zidentyfikować zasoby Internetu.

Najczęstszym URI jestUniform Resource Locator używany do identyfikacji adresu domeny internetowej (URL).Mniej powszechne jest URIUniform Resource Name (URN).

W naszym przykładzie używamy tylko URL.


nazw Domyślnie

Element definiuje domyślnej przestrzeni nazw pozwala nam pominąć prefiksu we wszystkich podrzędnych elementów w pracy. Jego składnia jest następująca:

xmlns="namespaceURI"

Ten XML prowadzi HTML informacje o tabeli:

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

XML'u niesie informację o mebla:

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


Rzeczywiste wykorzystanie przestrzeni nazw

XSLT jest procesem dokumentów XML do innego formatu języka XML, takich jak HTML.

W dokumencie XSLT poniżej, można zauważyć, że większość z tych tagów są znaczniki HTML.

Tagi dla HTML mają XSL prefiksu, a tym samym identyfikuje nazw: 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>

Jeśli chcesz dowiedzieć się o XSLT, prosimy nasza strona główna znaleźć samouczek XSLT.