Последние учебники веб-разработки
×

XML Руководство

XML ГЛАВНАЯ XML Введение XML Как использовать XML дерево XML Синтаксис XML элементы XML Атрибуты XML Пространства имен XML дисплей XML XSLT XML XPath XML XLink XML Оценщик XML DTD XML схема XML сервер XML Приложения XML Примеры XML викторина XML сертификат

XML DOM

DOM вступление DOM Вершины DOM XMLHttpRequest DOM Доступ к DOM Узел информация DOM Список узлов DOM Пересекая DOM навигационный DOM Получить значения DOM Change Вершины DOM Remove Вершины DOM Replace Вершины DOM Create Вершины DOM Add Вершины DOM Clone Вершины DOM Примеры

DOM Справка

DOM Типы узлов DOM Узел DOM NodeList DOM NamedNodeMap DOM Документ DOM Элемент DOM Атрибут DOM Текст DOM CDATA DOM Комментарий DOM XMLHttpRequest DOM синтаксический анализатор

XML DTD

DTD вступление DTD Строительные блоки DTD элементы DTD Атрибуты DTD Элементы против Attr DTD юридические лица DTD Примеры

XSD Schema

XSD вступление XSD Как XSD <schema> XSD элементы XSD Атрибуты XSD ограничения

XSD Сложный

XSD элементы XSD пустой XSD Элементы только XSD Только текст XSD смешанный XSD индикаторы XSD <any> XSD <anyAttribute> XSD подмена XSD пример

XSD Data

XSD строка XSD Дата XSD числовой XSD Разное XSD Справка

Web Сервисы

XML Сервисы XML WSDL XML SOAP XML RDF XML RSS

 

XML Пространства имен


Пространства имен XML обеспечивают способ избежать конфликтов имен элементов.


Имя конфликты

В XML, имена элементов определяются разработчиком. Это часто приводит к конфликту при попытке смешивать XML-документы из различных приложений XML.

Этот XML несет в себе информацию таблицы HTML:

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

Этот XML несет в себе информацию о таблице (a piece of furniture) :

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

Если эти фрагменты XML были добавлены вместе, не было бы конфликта имен. Оба содержат <table> элемент, но элементы имеют различное содержание и значение.

Пользователь или приложение XML не будет знать, как обрабатывать эти различия.


Решение конфликта имен с использованием префикса

Имя конфликты в XML можно легко избежать, используя префикс имен.

Этот XML несет в себе информацию о HTML-таблицы, и предмет мебели:

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

В приведенном выше примере, не будет никакого конфликта , потому что два <table> элементы имеют разные имена.


Пространства имен XML - The xmlns Атрибут

При использовании префиксов в XML, A namespace должен быть определен для префикса.

Пространство имен может быть определено с помощью xmlns атрибута в начальном теге элемента.

Объявление пространства имен имеет следующий синтаксис. 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.w3ii.com/furniture">
  <f:name>African Coffee Table</f:name>
  <f:width>80</f:width>
  <f:length>120</f:length>
</f:table>

</root>

В приведенном выше примере:

В xmlns атрибут в первом <table> элемент дает час: префикс квалифицированных имен.

В xmlns атрибут во втором <table> элемент дает п: префикс квалифицированное имен.

Когда пространство имен определено для элемента, все дочерние элементы с одинаковым префиксом связаны с тем же пространством имен.

Пространства имен также могут быть объявлены в корневой XML-элемент:

<root
xmlns:h="http://www.w3.org/TR/html4/"
xmlns:f="http://www.w3ii.com/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>

Note: Пространство имен URI не используется анализатором для поиска информации.

Цель с помощью URI, чтобы дать пространству имен уникальное имя.

Тем не менее, компании часто используют пространство имен как указатель на веб-страницу, содержащую информацию о пространстве имен.


Унифицированный идентификатор ресурса (URI)

Uniform Resource Identifier (URI) представляет собой строку символов , которая идентифицирует интернет - ресурс.

Наиболее распространенным является URI в Uniform Resource Locator (URL) , который идентифицирует адрес домена в Интернете. Другой, не столь распространенный тип URI является Universal Resource Name (URN) .


По умолчанию Namespaces

Определение пространства имен по умолчанию для элемента спасает нас от использования префиксов во всех дочерних элементов. Он имеет следующий синтаксис:

xmlns="namespaceURI"

Этот XML несет в себе информацию таблицы HTML:

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

Этот XML несет в себе информацию о предмете мебели:

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

Пространства имен в реальном использовании

XSLT представляет собой язык, который может быть использован для преобразования XML-документов в другие форматы.

Документ XML ниже, представляет собой документ, используемый для преобразования XML в HTML.

Пространство имен "http://www.w3.org/1999/XSL/Transform" идентифицирует элементы XSLT внутри HTML - документа:

<?xml version="1.0" encoding="UTF-8 " ?>

<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 style="text-align:left">Title</th>
      <th style="text-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>

Если вы хотите узнать больше о XSLT, пожалуйста , прочитайте наш XSLT Учебник .