След като се запознахме с основите на XML, сега ще се задълбочим в неговото изучаване.За начало ще започнем с XML Namespaces.
Тъй като XML таговете са измислени от вас,а не са основни,както в HTML, по някой път се получават "конфликти".Всъщност тези "конфликти" са тагове с еднакви имена.Вие знаете че в HTML можете да използвате тага <table> няколко пъти с едно и също име.Но ако напишете този таг няколко пъти в XML в един и същ файл ще се получат "конфликти", защото имената им са еднакви, но съдържат различна информация.За да се избегне това може да използваме представка пред името на тага.Например:
CODE1
2
3
4
5
6
| <h:table>
<h:tr>
<h:td>Ябълки</h:td>
<h:td>Банани</h:td>
</h:tr>
</h:table> |
и:
CODE1
2
3
4
5
| <f:table>
<f:name>Видове африканско кафе</f:name>
<f:width>80</f:width>
<f:length>120</f:length>
</f:table> |
Сега ако тези две таблици се свържат, няма да има "конфликти", защото те са с различни имена.Ние направихме два различни <table> елемента.Погледнете следващия пример:
CODEВместо да използваме само представка, тук сме сложили и xmlns атрибутът, с негова помощ даваме на представката квалифицирано име свързано с Namespaces.xmlns атрубутът се слага в началния таг и има следния синтаксис:
CODE1
| xmlns:namespace-педставката="namespaceURI" |
Малко пояснение за онези които се чудят.Няма грешка в синтаксиса.Не е URL а URI.URI означава Uniform Resource Identifier.Най-използвания URI е URL - Uniform Resource Locator.URL идентифицира домейна.Друг не толкова често използван URI е URN - Universal Resource Name.
И така да се върнем на темата.Когато xmlns атрибутът е сложен в началото, всички деца с еднакви представки имат същия Namespaces.Адресът, който даваме в примера не се използва от браузръа, за информаця.Единствената причина да го използваме е за да дадме уникално име на Namespace.Но обикновенно компанийте използват адреси, на които има информация, за Namespaces.Можем да съкратим писането,като използваме Namespaces и без представка.Тогава атрибутът xmlns ще има следния синтаксис:
CODEКакто знаем щом този атрибт се намира в началния таг, всички други деца със същата представка имат еднакво Namespaces.И след като никой елемент няма представка, значи те ще имат еднакво Namespaces.Като в този пример:
CODEСега може би си мислите, че тези Namespaces не са много удобни.Но като започнем да използваме XSL тогава ще са ни от голяма полза.Ако погледнете долния пример, ще забележите, че повечето тагова са от HTML.А тези които не са имат представка xsl индифицирана от адреса
"http://www.w3.org/1999/XSL/Transform":
CODE1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
| <?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>Моята CD колекция</h2>
<table border="1">
<tr>
<th align="left">Заглавие</th>
<th align="left">Певец</th>
</tr>
<xsl:for-each select="каталог/cd">
<tr>
<td><xsl:value-of select="заглавие"/></td>
<td><xsl:value-of select="певец"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet> |