Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Semantic web.docx
Скачиваний:
0
Добавлен:
08.01.2020
Размер:
1.1 Mб
Скачать
  1. Пространство имен

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

Человек интуитивно понимает, в каком контексте используется слово и скрывающееся за ним понятие, но компьютерная программа, которая будет обрабатывать XML документ не человек. Для нее контекст, определяющий понятия, которые используются в XML документе, должен быть задан четко. Все проблемы неясностей и коллизий имен должны быть решены.

Другое назначение пространства имен – указание на принадлежность элемента XML документа к заранее определенной схеме, то есть уже созданному виду XML документов, семантика элементов которого описана и опубликована.

    1. Понятие пространства имен

В XML технологии множество понятий (элементов, атрибутов), принадлежащих определенной предметной области, характеризуется понятием пространство имен (NameSpace). Согласно спецификации W3C http://www.w3.org/TR/1999/REC-xml-names-19990114 «пространство имен XML – это идентифицируемая с помощью ссылки URI коллекция имен, используемых в XML документах для обозначения типов элементов и именования атрибутов».

Для объявления пространства имен в XML документе используется атрибут xmlns. Синтаксис объявления имеет следующий формат:

xmlns[:prefix]="uri"

где:

prefix – это квалифицированное имя, посредством которого элементы и атрибуты XML документа связываются с пространством имен;

uri – это URI, задающий пространство имен, которое будет использоваться в XML документе.

В том случае, если параметр prefix не задан, то объявленное пространство имен будет использоваться как пространство имен по умолчанию.

<?xml version="1.0" encoding="windows-1251"?>

<journal xmlns:x="http://www.kcn.ru/one"

xmlns:y="http://www.kcn.ru/two">

<x:title>Lobachevsky Journal</x:title>

<url>ljm.ksu.ru</url>

<articles>

<article ID="1">

<y:title>MathML and TeX</y:title>

</article>

<article ID="2">

<y:title>MathML and RDF</y:title>

</article>

</articles>

</journal>

В приведенном примере образовано два пространства имен с префиксами x и y. Префиксы используются в тегах, указывая, к какому пространству имен относится данный тег (см. также Пример 5.).

При задании пространства имен в XML документе необходимо иметь в виду следующее:

  • элементы и атрибуты связываются с пространством имен с помощью квалифицированных имен;

  • в одном XML документе может быть задано несколько пространств имен;

  • область действия пространства имен может распространяться:

    • на весь документ – когда оно задано в корневом элементе XML документа;

    • контейнер и все вложенные в него элементы и атрибуты – когда оно задано в элементе верхнего уровня контейнера;

    • отдельный элемент или атрибут – когда оно задано непосредственно для данного элемента и атрибута.

Поскольку используется лишь алгоритм образования адреса (uri), нет необходимости в выборе адреса реально существующего Web-сайта, и поэтому адрес можно составить совершенно произвольно. Атрибут xmlns используется как ключевое слово XML для обозначения объявления пространства имен. Пространству имен назначается префикс пространства имен – он указывается после атрибута xmlns и отделяется двоеточием, а затем после знака равенства записывается адрес, однозначно идентифицирующий пространство имен.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]