<table><tr><td>Яблоки</td><td>Бананы</td></tr></table>
Этот XML-документ содержит информацию о столе (предмете мебели):
<table><name>Африканский журнальный столик</name><width>80</width><length>120</length></table>
Если эти два XML-документа используются вместе, возникнет конфликт имен, поскольку оба документа содержат элементы <table> с разным содержимым и определениями.
Анализатор XML не может определить, как обрабатывать такие конфликты.
Конфликтов имен в XML можно легко избежать, используя префиксы имен.
Этот XML содержит информацию о HTML-таблице и предмете мебели:
<h:table><h:tr><h:td>Яблоки</h:td><h:td>Бананы</h:td></h:tr></h:table><f:table ><f:name>Африканский журнальный столик</f:name><f:width>80</f:width><f:length>120</f:length></f:table>
В приведенном выше примере конфликта нет, поскольку два элемента <table> имеют разные имена.
При использовании префиксов в XML необходимо определить так называемое пространство имен для префикса.
Пространство имен определяется в атрибуте xmlns открывающего тега элемента.
Синтаксис объявления пространства имен следующий. xmlns: префикс = URI «.
<root><h:table xmlns:h="http://www.w3.org/TR/html4/"><h:tr><h:td>Яблоки</h:td><h:td> Бананы</h:td></h:tr></h:table><f:table xmlns:f="//www.w3cschool.cn/furniture"><f:name>Африканский кофе Таблица</f:name><f:width>80</f:width><f:length>120</f:length></f:table></root>
В приведенном выше примере атрибут xmlns тега <table> определяет квалифицированное пространство имен для префиксов h: и f:.
Если пространство имен определено в открывающем теге элемента, все дочерние элементы с одинаковым префиксом связаны с одним и тем же пространством имен.
Пространства имен могут быть объявлены в элементе, в котором они используются, или в корневом элементе XML:
<root xmlns:h="http://www.w3.org/TR/html4/"xmlns:f="//www.w3cschool.cn/furniture"><h:table><h:tr><h :td>Яблоки</h:td><h:td>Бананы</h:td></h:tr></h:table><f:table><f:name>Африканский кофе Таблица</f:name><f:width>80</f:width><f:length>120</f:length></f:table></root>
Примечание. URI пространства имен не используются анализатором для поиска информации.
Его цель — дать пространству имен уникальное имя. Однако многие компании часто используют пространства имен как указатели на существующие веб-страницы, содержащие информацию о пространстве имен.
Пожалуйста, посетите http://www.w3.org/TR/html4/.
Единый идентификатор ресурса (URI) — это строка символов, идентифицирующая интернет-ресурс.
Наиболее часто используемый URI — это унифицированный указатель ресурса (URL), используемый для идентификации адреса доменного имени Интернета. Другой менее часто используемый URI — это универсальное имя ресурса (URN).
В нашем примере мы используем только URL-адреса.
Определение пространства имен по умолчанию для элемента избавляет нас от необходимости использовать префикс для всех дочерних элементов. Его синтаксис следующий:
xmlns="URI_пространства имен"
Этот XML содержит информацию таблицы HTML:
<table xmlns="http://www.w3.org/TR/html4/"><tr><td>Яблоки</td><td>Бананы</td></tr></table>
Этот XML содержит информацию о предмете мебели:
<table xmlns="//www.w3cschool.cn/furniture"><name>Африканский журнальный столик</name><width>80</width><length>120</length></table>
XSLT — это язык XML, используемый для преобразования документов XML в другие форматы, например HTML.
В приведенном ниже документе XSLT вы можете видеть, что большинство тегов являются тегами HTML.
Теги, не относящиеся к HTML, имеют префикс xsl и идентифицируются следующим пространством имен:
xmlns:xsl="http://www.w3.org/1999/XSL/Transform":<?xml version="1.0"coding="ISO-8859-1"?><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:template match="/"><html><body><h2>Мой компакт-диск Коллекция</h2><table><tr><th align="left">Название</th><th align="left">Исполнитель</th></tr><xsl:for-each select=" каталог/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>
Если вы хотите узнать о XSLT, найдите учебные пособия по XSLT на нашей домашней странице.