W3C

XML Информационный набор (второе издание)

Рекомендация W3C от 4 февраля 2004 года

Данная версия:

http://www.w3.org/TR/2004/REC-xml-InfoSet-20040204

Последняя версия:

http://www.w3.org/TR/XML-Infoset

Предыдущие версии:

http://www.w3.org/TR/2003/PER-XML-Infoset-20031210

Редакторы:

John Cowan, jcowan@reutershealth.com

Richard Tobin, richard@cogsci.ed.ac.uk

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

Смотрите также переводы.

Copyright © 1999-2004 W3C ® ( MIT, ERCIM, Keio), Все права защищены. Применяются правила W3C относительно ответственности, товарных знаков, использования документа и лицензирования программного обеспечения.


Примечание переводчика: обратите внимание на то, что оригинальная версия документа существует только на английском языке. Предлагаемый перевод может содержать ошибки, неточности и т. д. Текст на таком фоне в официальной рекомендации отсутствует.
Перевод выполнил
Геннадий Берман.

Резюме

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

Статус данного документа

В данном разделе описывается статус данного документа на момент его публикации. Другие документы могут заменять этот документ. Список текущих публикаций W3C и последние версии его технических отчетов можно найти на индексе технических отчетов W3C  по адресу http://www.w3.org/TR/.

Данный документ является Рекомендацией W3C. Он был рассмотрен членами W3C и другими заинтересованными сторонами и одобрен Директором в качестве Рекомендации W3C. Данный документ не предполагается изменять, и он может использоваться как справочный материал или на него могут ссылаться, как на нормативное руководство из других документов. Роль W3C в разработке Рекомендации - привлечь внимание к спецификации и способствовать ее широкому развитию. Тем самым повысить функциональность и интероперабельность Web.

Данный документ обновляет Информационный набор, охватывая XML 1.1 и Namespaces 1.1, вносит ясность в некоторые неточности и исправляет ряд опечаток. Он является продукт W3C XML Activity. Только версия данной спецификации на английском языке является нормативной. Переводы данного документа можно найти на http://www.w3.org/2003/03/Translations/byTechnology?technology=xml-infoset.

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

Пожалуйста, сообщайте об ошибках в данном документе по адресу www-xml-infoset-comments@w3.org (доступны публичные архивы). Список опечаток для данной Рекомендации можно получить на http://www.w3.org/2001/10/02/xml-infoset-errata.html.

Содержание


1. Введение

Данная спецификация определяет абстрактный набор данных, называемый Информационный набор XML (XML Information Set Infoset). Его цель  – обеспечение согласованного набора определений для использования в других спецификациях, которым необходимо ссылаться на информацию в корректных (well-formed) XML документах [XML].

Он не пытается быть исчерпывающим. Главным критерием, по которому включался информационный элемент или свойство,  являлось ожидание полезности в будущих спецификациях. Он не формирует минимального набора информации, который должен быть возвращен XML процессором.

XML документ имеет информационный набор, если он корректный и удовлетворяет, описанным  ниже ограничениям пространства имен. Не требуется, чтобы XML документ был правильным (valid), чтобы иметь информационный набор.

Информационные наборы могут быть созданы методами, отличающимися от анализа  (parsing)  XML документа (не описанными в данной спецификации). Смотрите ниже синтетические информационные наборы.

Информационный набор XML документов состоит из набора информационных элементов (information items). Информационный набор для любого корректного XML документ будет содержать, по крайней мере, информационный элемент document и ряд других. Информационный элемент – это абстрактное описание определенной части XML документа. Каждый информационный элемент имеет набор связанных именованных свойств (properties). В данной спецификации имена свойств показаны в квадратных скобках [так]. Типы информационных элементов перечислены в разделе 2.

Информационный набор XML не требует или отдает предпочтение  определенному интерфейсу или классу интерфейсов. Данная спецификация для обеспечения ясности и простоты представляет информационный набор как модифицируемое дерево, но требование, чтобы информационный набор XML был бы представлен в виде древовидной структуры, отсутствует. Другие типы интерфейсов, включая интерфейсы на основе событий и на основе запросов (возможно и иные), также способны предоставлять информацию, согласованную с информационным набором XML.

Термины «информационный набор» и «информационный элемент» подобны в контексте общих терминов «дереву» и «узлу», как они используются в вычислениях. Именно поэтому указанные термины используются в данной спецификации, позволяя сократить возможную путаницу с другими специфическими моделями данных. Информационные элементы не отображаются один в один  в узлы DOM или «дерево» и «узлы» модели данных XPath.

В данной спецификации слова «должен» (“must”), «следует» (“should”) и «может» (“may”)  предполагают соответствия, определенные в [RFC2119], за исключением того, что слова не представляются в верхнем регистре.

Версии XML

Различные версии спецификации XML могут определять различные правила анализа. Информационный набор XML документа, полученный при его анализе, согласовывается с правилами спецификации, номер версии которой указан в XML документе. В документе с незаданным номером версии принимается версия 1.0. Если XML процессор принимает документ с непонятным ему номером версии, то он не обязан формировать правильный информационный набор.

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

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

Кроме того данная спецификация не определяет информационный набор для документов, которые используют относительные ссылки URI в объявлениях пространств имен. Это соответствует решению сессии пленарной группы по XML  W3C, представленному в [Relative Namespace URI References].

Значение свойства [namespace name]  является нормализованным значением соответствующего атрибута пространства имен. Нельзя назначить дополнительное URI, которое бы процессор применил к нему.

Сущности

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

Обработка конца строки

Значения всех свойств в информационном наборе учитывают нормализацию в конце строки, как это описано в [XML], 2.11 “End-of-Line Handling”.

Базовые URI

Некоторые информационные элементы имеют свойство [base URI] или [declaration base URI]. Они определяются согласно [XML Base]. Обратите внимание, что поиск  ресурса может предусматривать перенаправление на уровне анализатора (например, в случае разрешения сущности) или на более низком уровне. В данном случае базовый URI является окончательным URI, используемым для поиска ресурса после всех перенаправлений.

Значения этих свойств не отражают каких-либо недостающих URI, которые могут потребоваться для поиска ресурса, но они могут включать управляющие символы, если они были указаны в документе, или возвращены сервером в случае перенаправления.

В некоторых случаях (например, документ читает из строки или потока) правила   [XML Base] могут в результате предоставить базовый URI, зависящий от приложения. В таких случаях данная спецификация не определяет значение свойства [base URI] или [declaration base URI].

При разрешении относительных URI использование свойства [base URI] более предпочтительно, чем значения атрибутов xml:base. Они могут быть несовместимы в случае  Синтетического информационного набора.

''Unknown'' и ''No Value''

Иногда некоторые свойства могут иметь значение unknown или no value, т.е. говорить, что значение свойства неизвестно или не имеет значения. Эти значения  отличаются друг от друга и от всех других значений. В частности они отличаются от пустой строки, пустого набора и пустого списка, каждый из которых просто не имеет членов. Данная спецификация не использует термин null, поскольку в некоторых сообществах он имеет определенные смысловые значения, которые могут быть не предназначены для использования в данной спецификации.

Несоответствия в результате ошибок

Как отмечалось выше, XML документ не обязательно должен быть допустимым, чтобы  иметь информационный набор. Однако определенные виды ошибок оказывают влияние на значения, назначаемые для некоторых свойств. Сущности, нотации, элементы и атрибуты могут быть не объявлены. Нотации и элементы могут быть многократно объявлены (множественность объявлений действительна для сущностей и атрибутов). ID могут быть не определены или определены несколько раз. Такие случаи соответствующим образом отмечаются ниже в определениях информационных элементов.

Синтетические информационные наборы

Данная спецификация описывает информационный набор как результат анализа XML документа. Информационные наборы могут быть построены другими способами, например, используя API DOM или посредством преобразования существующего информационного набора.

Информационный набор, соответствующий реальному документу, обязательно будет совместим независимо от способа построения. Например,  свойство элемента [in-scope namespaces] будет согласовано со свойством элемента  [namespace attributes] и его предков. Это может быть неверно для информационного набора, построенного другим способом. В таком случае не будет XML документа, соответствующего информационному набору, и для сериализации он потребует разбора несоответствий (например, путем вывода объявлений пространств имен, которые соответствуют пространствам имен в области их действия).

2. Информационные элементы

Информационный набор может содержать до одиннадцати различных типов информационных элементов, описанных в следующих разделах. Каждый информационный элемент имеет свойства. Для удобства обращения  каждому свойству присваивается имя, которое показывается следующим образом [так]. Для каждого информационного элемента приведены ссылки на определение и/или синтаксис в Рекомендации XML 1.0 [XML].

2.1 Информационный элемент document

Определение XML: document (Раздел 2, Documents)

Синтаксис элемента XML: ] Document (раздел 2.1, Well-Formed XML Documents)

В наборе данных имеется ровно один информационный элемент document, и все другие информационные элементы доступны из свойств информационного элемента document  либо непосредственно, либо косвенно, через свойства других информационных элементов.

Информационный элемент document имеет следующие свойства:

  1. [children] Упорядоченный список дочерних информационных элементов в том порядке, как они представлены в документе. Список содержит ровно один информационный элемент element. Список также содержит один информационный элемент processing instruction для каждой инструкции обработки, находящейся вне элемента document, и один информационный элемент comment для каждого комментария, находящегося вне элемента document. Инструкции обработки и комментарии внутри DTD исключаются. Если есть объявление типа документа, то список также содержит информационный элемент  document type declaration.
  2. [document element] Информационный элемент element, соответствующий элементу document.
  3. [notations] Неупорядоченный набор информационных элементов notation, один для каждой объявленной в DTD нотации. Если какая-либо нотация объявлена несколько раз, то это свойство не имеет значения.
  4. [unparsed entities] Неупорядоченный набор информационных элементов unparsed entity, один для каждой не анализируемой сущности, объявленной в DTD.
  5. [base URI] Базовый URI сущности document.
  6. [character encoding scheme] Имя схемы кодирования символов, в которой выражена сущность document.
  7. [standalone] Указание одиночного статуса документа. Может принимать значение yes или no. Это свойство наследуется от факультативного объявления одиночного документа в декларации XML в начале сущности document, и не имеет значения, если декларация XML отсутствует.
  8. [version] Строка, представляющая версию XML документа. Это свойство  наследуется от декларации XML, не обязательно присутствующей в начале сущности document и не имеет значения, если декларация XML отсутствует.
  9. [all declarations processed] Это свойство, строго говоря, не является частью информационного набора документа. Скорее оно показывает, прочитал ли процессор полностью DTD. Его значением является логическое значение. Если оно равно false, то определенные свойства (указанные ниже при их описаниях) могут быть неизвестным. Если оно равно true, то эти свойства всегда известны.

2.2. Информационные элементы element

Определение XML: element (Раздел 3, Logical Structures)

Синтаксис элемента XML: Element (раздел 3, Logical Structures)

Информационный элемент element существует для каждого элемента, представленного в XML документе. Один из информационных элементов element является значением свойства [document element] информационного элемента document, соответствующего корневому элементу дерева, а все другие информационные элементы element доступны посредством рекурсивного обхода его свойства [children].

Информационный элемент element имеет следующие свойства:

  1. [namespace name] Пространство имен типа элемента, если имеется. Если  элемент не принадлежит к пространству имен, это свойство не имеет значения.
  2. [local name] Локальная часть имени типа элемента. Не включает ни префикса пространства имен, ни следующего двоеточия.
  3. [prefix] Префикс пространства имен – часть имени типа элемента. Если имя без префикса, это свойство не имеет значения. Обратите внимание, что приложениям, имеющим информацию о пространстве имен, предпочтительнее использовать имя пространства имен, а не префикс для идентификации элементов.
  4. [children] Упорядоченный список дочерних информационных элементов в том порядке, как они представлены в документе. Этот список содержит информационные элементы element, processing instruction, unexpanded entity reference, character и comment, один для каждого элемента, инструкции  обработки, не анализируемой сущности, символьных данных и комментария, представленных непосредственно внутри текущего элемента. Если элемент является пустым, этот список не имеет членов.
  5. [attributes] Неупорядоченный набор информационных элементов attribute, по одному для каждого атрибута этого элемента (указанного или по умолчанию из DTD). Объявления пространств имен не представлены в этом наборе. Если элемент не имеет атрибутов, этот набор не имеет членов.
  6. [namespace attributes] Неупорядоченный набор информационных элементов attribute, по одному для каждого объявления пространства имен этого элемента  (указанного или по умолчанию из DTD). Объявления в виде xmlns = "" и xmlns:name = "", у которых не объявлены по умолчанию  пространство имен и префиксы, соответственно, считаются как объявления пространств имен. Префикс без объявления был добавлен в Namespaces in XML 1.1. По определению, все атрибуты пространства имен (в том числе с именем xmlns, свойство которого [prefix] не имеет значения) имеют пространство имен с URI http://www.w3.org/2000/xmlns/. Если элемент не имеет объявлений пространств имен, этот набор не имеет членов.
  7. [in-scope namespaces] Неупорядоченный набор информационных элементов namespace, по одному для каждого из указанных пространств имен в сфере действия соответствующего элемента. Этот набор всегда содержит элемент с префиксом xml, который неявно ограничивает имя пространства имен http://www.w3.org/XML/1998/namespace. Он не содержит элемент с префиксом xmlns (используемый для объявления пространства имен), поскольку приложение никогда не может встретить элемент или атрибут с этим префиксом. Набор будет включать элементы пространства имен, соответствующие всем членам [namespace attributes], за исключением элементов с объявлениями, представленными в формате xmlns = "" или xmlns:name = "",  и без объявлений пространств имен, у которых  пространство имен и префиксы не объявлены по  умолчанию. При разрешении префиксов квалифицированных имен, это свойство должно использоваться предпочтительнее, чем свойство [namespace attributes]; они могут быть несовместимы в случае Синтетического информационного набора.
  8. [base URI] Базовый URI элемента.
  9. [parent] Информационный элемент document или element, у которого данный информационный элемент содержится в его свойстве [children].

2.3. Информационные элементы attribute

Определение XML: attribute (Раздел 3.1, Start-Tags, End-Tags, and Empty-Element Tags)

Синтаксис элемента XML: Attribute (раздел 3.1, Start-Tags, End-Tags, and Empty-Element Tags)

Информационный элемент attribute существует для каждого атрибута (указанного или по умолчанию) каждого элемента в документе, включая те, которые являются объявлениями пространств имен. В последнем случае было бы предпочтительней, чтобы они  появлялись как члены свойства [namespace attributes] элемента, чем его свойства [attributes].

Атрибуты, объявленные в DTD без значения по умолчанию и не указанные в открывающемся теге элемента, не представляются информационными элементами attribute.

Информационный элемент attribute имеет следующие свойства:

  1. [namespace name] Имя пространства имен атрибута, если оно имеются. В противном случае это свойство не имеет значения.
  2. [local name] Локальная часть имени атрибута. Оно не включает префикс пространства имен или следующие за ним двоеточие.
  3. [prefix] Префикс пространства имен – часть имени атрибута. Если имя без префикса, это свойство не имеет значения. Обратите внимание, что приложениям, имеющим информацию о пространстве имен, предпочтительнее использовать имя пространства имен, а не префикс для идентификации атрибутов.
  4. [normalized value] Значение нормализованного атрибута (см. 3.3.3 Attribute-Value Normalization [XML]).  
  5. [specified] Флаг, указывающий на то, был ли этот атрибут реально определен в открывающемся теге элемента, или по умолчанию в DTD.
  6. [attribute type] Указание типа, который объявлен для этого атрибута в DTD. Легитимные значения ID, IDREF, IDREFS, ENTITY, ENTITIES, NMTOKEN, NMTOKENS, NOTATION, CDATA и ENUMERATION. Если объявление атрибута не существует, это свойство не имеет значения. Если объявление не читаемо, но свойство [all declarations processed] информационного элемента document  имеет значение false, (т.е. объявление может быть не читаемым), то значение этого свойства неизвестно. Приложениям следует рассматривать отсутствие значения и неизвестное значение как эквивалентные значению CDATA. Значение этого свойства не влияет действительность (validity) значения атрибута.
  7. [references] Если тип атрибута ID, NMTOKEN, NMTOKENS, CDATA или ENUMERATION, то это свойство не имеет значения. Если тип атрибута неизвестен, то значение этого свойства неизвестно. Противном случае, (если тип атрибута IDREF, IDREFS, ENTITY, ENTITIES или NOTATION) значением этого свойства является упорядоченный список информационных элементов element, unparsed entity или notation, ссылающихся к значению атрибута, в том порядке, как они в нем представлены. В этом случае, если значение атрибута синтаксически неверно, то соответствующее свойство не имеет значения. Если тип IDREF или IDREFS и никакой ID не представлен, как значение атрибута ID в документе или, если тип ENTITY, ENTITIES или NOTATION и объявление не было прочитано для любых сущностей или нотаций, то это свойство не имеет значения или неизвестно, в зависимости от того, свойство [all declarations processed] информационного элемента document является true или false. Если тип IDREF или IDREFS и какой-либо ID представлен как значение более чем одного атрибута ID в документе или, если тип NOTATION и существует несколько объявлений для нотации, то это свойство не имеет значения.
  8. [owner element] Информационный элемент element, который содержит данный информационный элемент в своем свойстве [attributes].

2.4. Информационные элементы processing instruction

Определение XML: processing instruction (Раздел 2.6, Processing Instructions)

Синтаксис элемента XML: PI (раздел 2.6, Processing Instructions)

Информационный элемент processing instruction существует в документе для каждой инструкции обработки. Объявление XML и объявления текста для внешних анализируемых сущностей не считаются инструкциями обработки.

Информационный элемент processing instruction имеет следующие свойства:

  1. [target] Строка, представляющая цель, часть инструкции обработки (имя XML).
  2. [content] Строка, представляющая содержимое инструкции обработки, за исключением цели и любого пустого пространства, непосредственно следующего за ней. Если такого содержимого нет, значением этого свойства будет пустая строка.
  3. [base URI] Базовый URI PI. Обратите внимание, если информационный набор сериализуется как XML документ, то нет возможности сохранить его базовый URI  любой PI, который первоначально появился на верхнем уровне внешней сущности, поскольку отсутствует синтаксис для PI,  подобный атрибуту xml:base в элементах.
  4. [notation] Информационный элемент notation, именуемый target. Если объявление для нотации с таким именем нет, или существует несколько  объявлений, это свойство не имеет значения. Если объявление не читаемо, но свойство [all declarations processed] информационного элемента document  имеет значение false (т.е. объявление может быть не читаемым), то значение этого свойства неизвестно.
  5. [parent] Информационные элементы document, element  или document type declaration, которые содержат этот информационный элемент в его свойстве [children].

2.5. Информационные элементы unexpanded entity reference

Определение XML: В разделе 4.4.3, Included If Validating

Информационный элемент unexpanded entity reference используется как местозаполнитель, когда XML процессор может указать, что он не разворачивает внешнюю анализируемую сущность. Такой информационный элемент существует для каждой неразвернутой  ссылки на внешние общие сущности внутри содержимого элемента. Действительный (validating) или недействительный (non-validating)  XML процессор, который читает все внешние общие сущности, никогда не будет генерировать информационные элементы unexpanded entity reference для действительного (valid) документа.

Информационный элемент  ссылка unexpanded entity reference information имеет следующие свойства:

  1. [name] Имя ссылки на сущность.
  2. [system identifier] Системный идентификатор сущности, как он представлен в объявлении сущности, без каких-либо дополнительных URI, изолирующих применение процессора. Если объявление для сущности отсутствует, то это свойство не имеет значения. Если объявление не читаемо, но свойство [all declarations processed] информационного элемента document имеет значение false (т.е. объявление может быть не читаемым), то значение этого свойства неизвестно.
  3. [public identifier] Общий идентификатор сущности, нормализуется, как это описано в 4.2.2 External Entities [XML]. Если объявление для сущности отсутствует, или объявление не содержит общий идентификатор, то это свойство не имеет значения. Если объявление не читаемо, но свойство [all declarations processed] информационного элемента document имеет значение false, (т.е. объявление может быть не читаемым), то значение этого свойства неизвестно.
  4. [declaration base URI] Соответствующий базовый URI, для которого системный идентификатор должен быть разрешен (т.е. базовый URI ресурса, внутри которого имеет место объявление сущности). Исходя из тех же условий, что и свойство [system identifier], его значение может быть неизвестно или не иметь значения .
  5. [parent] Информационный элемент element , который содержит этот информационный элемент в своем свойстве [children].

2.6. Информационные элементы character

Синтаксис элемента XML: Char (раздел 2.2, Characters)

Информационный элемент character  существует для каждого символа данных, который представляется в документе либо буквально как символьная ссылка, либо внутри секции CDATA.

Каждый символ является логически отдельным информационным элементом, но XML приложения свободны в объединении символов в более крупные группы, как необходимо или желательно.

Информационный элемент character  имеет следующие свойства:

  1. [character code] Символ из символьного кода ISO 10646 (в диапазоне от 0 до #x10FFFF, хотя не каждое значение в этом диапазоне является допустимым символьным кодом XML).
  2. [element content whitespace] Логическое значение, которое указывает –  может символ, являющийся пустым пространством, появляться внутри содержимого элемента (см. [XML], 2.10 " White Space Handling "). Обратите внимание, что действительные XML процессоры должны обеспечить эту информацию. Если объявление для элемента контейнера отсутствует, или есть несколько объявлений, это свойство не имеет значения для символов пустого пространства. Если объявление не читаемо, но свойство [all declarations processed] информационного элемента document имеет значение false (т.е. объявление может быть не читаемым), то значение этого свойства неизвестно для символов пустого пространства. Оно всегда false для символов, которые не являются символами пустого пространства.  
  3.  [parent] Информационный элемент element , который содержит этот информационный элемент в своем свойстве [children].

2.7. Информационные элементы comment

Определение XML: comment (Раздел 2.5, Comments)

Синтаксис элемента XML: Comment (раздел 2.5, Comments)

Информационный элемент  comment  существует для каждого XML комментария в исходном документе, за исключением тех, которые появляются в DTD (они не представляются).

Информационный элемент  comment  имеет следующие свойства:

  1. [content] Строка, представляющая содержимое комментария.
  2. [parent] Информационный элемент element , который содержит этот информационный элемент в своем свойстве [children].

2.8 Информационный элемент document type declaration

Определение XML: document type declaration (раздел 2.8, Prolog and Document Type Declaration)

Синтаксис элемента XML: doctypedecl (раздел 2.8, Prolog and Document Type Declaration)

Если XML документ имеет объявление типа документа, то информационный набор содержит один информационный элемент declaration information item. Обратите внимание, что сущности и нотации предоставляются как свойства информационного элемента document, а не информационного элемента document type declaration.

Информационный элемент document type declaration имеет следующие свойства:

  1. [system identifier] Системный идентификатор внешнего поднабора, как он представляется в объявлении DOCTYPE, без каких-либо дополнительных URI, изолирующих использование процессора. Если внешний поднабор отсутствует, то данное свойство не имеет значения.
  2. [public identifier] Публичный идентификатор внешнего поднабора, нормализованный, как описано в 4.2.2 External Entities [XML]. Если внешний поднабор отсутствует, или если он не имеет общего идентификатора, то это свойство не имеет значения.
  3. [children] Упорядоченный список информационных элементов processing instruction, включающий инструкции обработки, появляющиеся в DTD, как они следуют в исходном документе. Элементы из внутреннего поднабора DTD появляются раньше, чем элементы из внешнего поднабора.
  4. [parent] Информационный элемент document.

2.9. Информационные элементы unparsed entity

Определение XML: entity (раздел 4, Physical Structures)

Синтаксис элемента XML: GEDecl (раздел 4.2, Entities)

Информационный элемент unparsed entity существует для каждой не анализируемой общей сущности, объявленной в DTD.

Информационный элемент  unparsed entity имеет следующие свойства:

  1. [name] Имя сущности.
  2. [system identifier] Системный идентификатор сущности, как он представлен в объявлении сущности, без каких-либо дополнительных URI, изолирующих использование процессора.
  3. [public identifier] Общий идентификатор сущности, нормализованный  как описано в 4.2.2 External Entities [XML]. Если сущность не имеет общий идентификатор, это свойство не имеет значения.
  4. [declaration base URI] Соответствующий базовый URI, для которого системный идентификатор должен быть разрешен (т.е. базовый URI ресурса, внутри которого имеет место объявление сущности).
  5. [notation name] Имя нотации, связанное с сущностью.
  6. [notation] Информационный элемент notation, именуемый notation name. Если объявление для нотации с таким именем не существует, или есть несколько объявлений, это свойство не имеет значения. Если объявление не читаемо, но свойство [all declarations processed] информационного элемента document имеет значение false (т.е. объявление может быть не читаемым), то значение этого свойства неизвестно.

2.10. Информационные элементы notation

Определение XML: notation (раздел 4.7, Notations)

Синтаксис элемента XML: NotationDecl (раздел 4.7, Notations)

Информационный элемент  notation существует для каждой нотации, объявленной в DTD.

Информационный элемент notation имеет следующие свойства:

  1. [name] Имя нотации.
  2. [system identifier] Системный идентификатор нотации, как он представлен в объявлении нотации, без каких-либо дополнительных URI, изолирующих использование процессора. Если системный идентификатор не указан, это свойство не имеет значения.
  3. [public identifier] Общий идентификатор нотации, нормализованный  как описано в 4.2.2 External Entities [XML]. Если нотация не имеет общий идентификатор, это свойство не имеет значения.
  4. [declaration base URI] Соответствующий базовый URI, для которого системный идентификатор должен быть разрешен (т.е. базовый URI ресурса, внутри которого имеет место объявление нотации).

2.11. Информационные элементы namespace

Каждый элемент в документе имеет информационный элемент  namespace для каждого пространства имен в области этого элемента.

Информационный элемент namespace имеет следующие свойства:

  1. [prefix] Префикс  описывает с чем связан этот элемент. Синтаксически,  это часть имени атрибута, следуемая за префиксом xmlns:. Если имя атрибута просто xmlns, то это объявление пространства имен по умолчанию, данное свойство не имеет значения.
  2. [namespace name] Имя пространства имен, с которым префикс связан.

3. Соответствие

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

Спецификации, ссылающиеся на информационный набор, должны:

Если спецификация позволяет разработку информационного набора, который имеет несоответствия, как описывалось выше в Синтетическом информационном наборе, то она может описать, как эти несоответствия должны быть разрешены,  и должна сделать это, если она обеспечивает сериализацию информационного набора.

Приложение A. Ссылки

Нормативные ссылки

ISO/IEC 10646

ISO (International Organization for Standardization). ISO/IEC 10646-1:2000. Information technology — Universal Multiple-Octet Coded Character Set (UCS) — Part 1: Architecture and Basic Multilingual Plane and ISO/IEC 10646-2:2001.Information technology — Universal Multiple-Octet Coded Character Set (UCS) — Part 2: Supplementary Planes, as, from time to time, amended, replaced by a new edition or expanded by the addition of new parts. [Geneva]: International Organization for Standardization. (See http://www.iso.ch for the latest version.)

Namespaces

Namespaces in XML, W3C, eds. Tim Bray, Dave Hollander, Andrew Layman. 14 January 1999. Available at http://www.w3.org/TR/REC-xml-names.

Namespaces 1.1

Namespaces in XML 1.1, W3C, eds. Tim Bray, Dave Hollander, Andrew Layman, Richard Tobin. 4 February 2004. Available at http://www.w3.org/TR/xml-names11

RFC2119

Key words for use in RFCs to Indicate Requirement Levels, ed. S. Bradner. March 1997. Available at http://www.ietf.org/rfc/rfc2119.txt.

XML

Extensible Markup Language (XML) 1.0 (Third Edition), W3C, eds. Tim Bray, Jean Paoli, C.M. Sperberg-McQueen, Eve Maler, François Yergeau. 4 February 2004. Available at http://www.w3.org/TR/REC-xml.

XML 1.1

Extensible Markup Language (XML) 1.1, W3C, eds. Tim Bray, Jean Paoli, C.M. Sperberg-McQueen, Eve Maler, John Cowan, François Yergeau. 4 February 2004. Available at http://www.w3.org/TR/xml11.

XML Base

XML Base, W3C, ed. Jonathan Marsh. February 2000. Available at http://www.w3.org/TR/xmlbase.

Информационные ссылки

DOM

Document Object Model (DOM) Level 1 Specification, W3C, eds. Vidur Apparao, Steve Byrne, Mike Champion, et al. 1 October 1998. Available at http://www.w3.org/TR/REC-DOM-Level-1.

XPointer-Liaison

XPointer-Information Set Liaison Statement, W3C, ed. Steven J. DeRose. 24 February 1999. Available at http://www.w3.org/TR/NOTE-xptr-infoset-liaison.

Relative Namespace URI References

Results of W3C XML Plenary Ballot on relative URI References in namespace declarations, 3-17 July 2000, W3C, eds. Dave Hollander, C. M. Sperberg-McQueen. 6 September 2000. Available at http://www.w3.org/2000/09/xppa.

RDF Schema for the XML Information Set

RDF Schema for the XML Information Set, W3C, ed. Richard Tobin. 6 April 2001. Available at http://www.w3.org/TR/xml-infoset-rdfs.

Приложение B: Требования отчетности XML (информационное)

Хотя Рекомендация XML [XML] касается главным образом синтаксиса XML, она также включает ряд конкретных требований отчетности от XML процессоров.

Требования отчетности включают информацию об ошибках, которые выходят за рамки этой спецификации, и сведения о документе. Все XML требования к  информации отчетности документа были включены в информационный набор XML; в скобках указаны ссылки на разделы XML Рекомендации:

  1. XML процессор всегда должен предоставлять все символы в документе, которые не являются частью разметки для приложения (2.10).
  2. Действительный XML процессор должен информировать приложение, какие символьные данные в документе являются пустым пространством, появляющимися в содержимом элемента (2.10).
  3. XML процессор должен нормализовать концы строк к LF до их передач в приложение (2.11).
  4. XML процессор должен нормализовать значения атрибутов согласно правилам пункта 3.3.3 до их передачи их приложение.
  5. XML процессор должен передавать имена и внешние идентификаторы (системные идентификаторы, общие идентификаторы или оба вместе) объявленных нотаций в приложение (4.7).
  6. Когда имя не анализируемой сущности в атрибутах ENTITY или ENTITIES  отображается явно или значением по умолчанию, XML процессор  для приложения должен  обеспечить имена, системные идентификаторы и (если имеется) общие идентификаторы как сущности, так и ее нотации (4.6, 4.7).
  7. XML процессор должен  передать приложению инструкции обработки (2.6).
  8. XML процессор  (обязательно не проверяющий процессор), который не включает текст для замены внешней анализируемой сущности в место, где расположена ссылка на сущность,  должен уведомить приложение, что он распознал, однако не прочитал сущность (4.4.3).
  9. Действительный XML процессор должен включать текст для замены сущности в место, где расположена ссылка на сущность (5.2).
  10. XML процессор  должен предоставлять значение по умолчанию для атрибутов, объявленных в DTD для заданного типа элемента, но не появившегося в открывающемся теге элемента (3.3.2).

Приложение С: Пример (информационное)

Рассмотрим следующий пример XML документа:

<?xml version="1.0"?>

<msg:message doc:date="19990421"

                   xmlns:doc="http://doc.example.org/namespaces/doc"

                   xmlns:msg="http://message.example.org/"

>Phone home!</msg:message>

Информационный набор для этого XML документа содержит следующие информационные элементы:

Приложение D: Что не является информационным набором

Следующая информация не представлена в текущей версии информационного набора XML (этот список не претендует быть исчерпывающим):

  1. Модели содержания элементов из объявлений ELEMENT в DTD.
  2. Группирование и упорядочивание объявлений атрибутов в объявлениях ATTLIST.
  3. Имя типа документа.
  4. Пустое пространство вне элемента document.
  5. Пустое пространство, сразу следующее за именем цели PI.
  6. Какие символы представлены ссылками на символы.
  7. Различия между двумя формами пустого элемента: <foo/> и <foo></foo>.
  8. Пустое пространство внутри открывающихся (за исключением значащих пробелов в значениях атрибутов) и закрывающихся тегов.
  9. Различие между символами завершения строки CR, CR-LF и LF.
  10. Последовательность атрибутов внутри открывающего тега.
  11. Последовательность объявлений внутри DTD.
  12. Границ условных разделов в DTD.
  13. Границы параметров сущностей в DTD.
  14. Комментарии в DTD.
  15. Расположение объявлений (будь то внутренние или внешние поднаборы или параметры сущностей).
  16. Любое игнорирование объявлений, включая расположенных внутри условного раздела IGNORE, а также игнорирование объявлений сущностей и атрибутов, поскольку они повторно  определяют ранее сделанные объявления.
  17. Вид кавычек (одинарных или двойных), используемых в обрамлении значений атрибутов.
  18. Границы общих анализируемых сущностей.
  19. Границы разметки секции CDATA.
  20. Значение по умолчанию атрибутов, объявленных в DTD.

Приложение E: схема RDF (информационное)

Смотрите RDF схему для информационного набора XML, которая дает формальное описание информационного набора.

Сайт создан в системе uCoz