Глоссарий XML

Этот глоссарий определяет некоторые условия, определенные для XML, DTD, и связанных спецификаций и технологий. Это фокусируется прежде всего на условиях, которые являются частью имен методов и констант, объявленных NSXMLParser, NSXMLNode, NSXMLDocument, NSXMLElement, NSXMLDTD и классами NSXMLDTDNode.

атомарное значение

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

атрибут

Свойство элемента, выраженного как пара значение-имя. Атрибуты используются, чтобы закодировать данные или обеспечить метаданные, связанные с элементом. В следующем примере «версия» является именем атрибута элемента plist и его значение “1.0”:

<plist version=”1.0”>
объявление списка атрибутов

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

<!ATTLIST phone location (home | office | mobile) "home">

В этом примере, phone имя элемента, location название атрибута, (home | office | mobile) допустимые значения, и home значение по умолчанию.

канонический

Форма XML-документа, в котором это может быть сравнено с другим документом для эквивалентности. Если два документа с отличающимися физическими представлениями имеют ту же каноническую форму, их считают логически эквивалентными в данном контексте приложения. Каноническая форма XML-документа определяется Консорциумом World Wide Web в http://www.w3.org/TR/xml-c14n.

Блок CDATA

Раздел текста, который синтаксический анализатор должен передать неинтерпретируемый клиентскому приложению. Это появляется как содержание элемента. Блоки CDATA часто используются для кода или данных, содержащих «запрещенные» символы, который является символами специального синтаксического значения для синтаксического анализатора (например, “<“и “&\”). Можно также использовать ссылку на сущность на экспресс любой из этих запрещенных символов (например, &lt;) встроенная ссылка на сущность для указания «завершенного» < символ.

модель содержания

Часть объявления элемента, определяющего то, что может содержать элемент. Модель содержания состоит из имен дочерних элементов, #PCDATA (указание текста), ссылки на сущность, или EMPTY (указание пустого элемента такой как <true/>). Дочерние элементы и #PCDATA включаются в круглых скобках. Запятые между дочерними элементами указывают, что элементы должны произойти в данной последовательности. Символ вертикальной панели (“|”) вместо запятой указывает логическое отношение OR и может использоваться с #PCDATA. Модификаторы возникновения могут быть применены к отдельным элементам или группам элементов:

  • «+» указывает элемент, или группа может быть повторена несколько раз, но должна произойти в арендном договоре один раз.

  • «?» указывает элемент, или группа является дополнительной и может произойти только один раз.

  • «*» указывает элемент, или группа является дополнительной и может произойти несколько раз.

  • Никакой модификатор не указывает, что элемент или группа должны произойти только один раз.

Примеры моделей содержания.

(#PCDATA)
(%plistObject)*
(lastName, middleInitial?, firstName, phone*)*
порядок документа

Порядок разметки XML создает, поскольку они появляются в документе. Когда Вы отправляете сообщения NSXMLNode nextNode (или previousNode) к каждому последовательному объекту узла, с которым встречаются в дереве NSXML, Вы пересекаете дерево вперед (или назад) в порядке документа.

DOM (объектная модель документа)

API для доступа и управления XML-документами как древовидные структуры. DOM происходит из рекомендации Консорциума World Wide Web для общей объектной модели для того, чтобы хранить иерархически структурированные документы в памяти.

DTD (определение типа документа)

Способ определить юридические элементы и другие стандартные блоки XML-документа.

элемент

Теги разметки, идентифицирующие природу содержания, которое они окружают. Элементы имеют имена и могут содержать текстовые данные, дочерние элементы, обрабатывая инструкции, комментарии и блоки CDATA. Элемент имеет элемент родителя-одиночки, за исключением корневого элемента документа, не имеющего никакого родителя. Элемент может также иметь атрибуты и префиксы пространства имен, связанные с ним. Элементы могут также быть пустыми (т.е. без содержания), и разработчик может использовать их в качестве флагов.

Следующее является примером элемента с атрибутом и смешало содержание (в этом случае, текст, дочерний элемент и блок CDATA):

<para ref_num=”80458”>
    The following C++ code gives an example of how
    <code>cout</code> is used:
    <![CDATA[std::cout << "Hello, World!\n";
    >
</para>
объявление элемента

Указывает в DTD имя элемента и что разрешено как содержание элемента. Объявление может указать дочерние элементы, текст и ссылки на сущность как содержание. Это предписывает порядок дочерних элементов и (для единственных элементов или для всей группы), требуется ли и может ли это появиться многократно. Примеры:

<!ELEMENT addresses (person)*>
<!ELEMENT person (lastName, firstName, phone*, email*, address*)>
<!ELEMENT lastName (#PCDATA)>

См. также модель содержания.

объявление сущности

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

<!ENTITY % plistObject “(array | date | dict | real | integer | string | true | false )” >
<!ENTITY CompanyLogo SYSTEM “/Library/Images/logo.gif” NDATA GIF87A>
объект и символьная ссылка

Ссылка в тексте к внешне или внутренне объявленное объявление сущности. Это должно начаться с амперсанда и закончиться точкой с запятой. Можно обратиться к объектам, которые Вы объявляете в другом месте. Существует пять предопределенных объектов: “<“, “>”, “&\”, символ одинарной кавычки и символ двойной кавычки. Символьные ссылки запускаются с “&#\” и сопровождаются числовыми кодовыми точками. Примеры ссылок &apos;, &gt;, &#231; ; первые два являются встроенными ссылками на сущность, и последней является символьная ссылка. См. также непроанализированный объект.

модель

Посмотрите модель содержания.

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

URI (Универсальный Идентификатор ресурса), который квалифицирует элемент или название атрибута, чтобы избежать конфликтов имен, когда документ содержит XML из других источников. Вы объявляете пространство имен в теге запуска элемента путем добавления префикса к предопределенному xmlns атрибут (разделенный двоеточием), и затем связывающий это со значением URI; например:

<h:table xmlns:h="http://www.w3.org/TR/html4/">

После того Вы должны только использовать префикс пространства имен («h» в вышеупомянутом примере) с элементом (разделенный двоеточием) для идентификации элемента однозначно. Все дочерние элементы элемента с объявлением пространства имен связаны с тем же пространством имен через префикс. Комбинация префиксного имени элемента (h:table от примера выше), вызывается полностью определенным именем. Объявление пространства имен без префикса после xmlns определяет пространство имен по умолчанию, если значение не является пустой строкой, что не означает “пространства имен”. URI в объявлении пространства имен ни на что не должен указывать; это - просто удобный способ получить уникальное имя.

префикс пространства имен

Префикс, определенный в объявлении пространства имен для идентификации пространства имен определенный элемент, связан с. Полностью определенное имя пространства имен (xmlns:localname), появляется только во время вывода. Все другие операции, такие как те, которые получают или устанавливают значение узла пространства имен, используют локальное имя только. См. также пространство имен.

нормализовать

Объединить все смежные узлы дочернего текста в единственный текстовый узел при удалении пустых текстовых узлов. Нормализация настоятельно рекомендована прежде, чем выполнить запросы XQuery и XPath.

нотация

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

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

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

<?sort alpha-ascending?>
полностью определенное имя

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

последовательность

Набор элементов, каждый из которых может быть узлом или атомарным значением. Запросы XQuery возвращают последовательность (NSArray в Какао), который может содержать только единственный элемент.

проверка

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

непроанализированный объект

Внешний ресурс, именуемый ссылкой на сущность, содержание которой может быть двоичными данными или текстом (включая текст не XML). Каждому непроанализированному объекту связали нотацию с ним.

правильно построенный

Обращается к XML-документу, повинующемуся синтаксису XML. Если его XML не правильно построен, синтаксический анализатор не может проанализировать документ. Некоторые проверки на то, правильно построен ли документ:

  • Элемент запускается, теги должны иметь конечные тэги (за исключением пустых элементов).

  • Значения атрибута должны быть заключены в кавычки.

  • Сущность параметра должна быть объявлена, прежде чем они будут использоваться.

  • Конструкции разметки кажутся только там, где разрешенными.

XHTML

Более строго предписанная версия HTML, делающего его правильно построенным XML. XHTML является официальной рекомендацией Консорциума World Wide Web.

XPath

Язык запросов XML для определения местоположения узлов с древовидной структурой XML. Это позволяет пути расположения, предикаты и общие выражения в запросах. Реализация Какао использует XPath 2.0, который является рекомендацией Консорциума World Wide Web. Класс NSXMLNode включает запросы XPath через nodesForXPath:error: метод. (Обратите внимание на то, что классы NSXML не поддерживают устаревшие (deprecated) функции XPath 1.0, такие как ось пространства имен.)

XQuery

Гибкий и мощный язык запросов XML, позволяющий Вам составить логически сложные запросы с помощью операторов, кванторов, функций и выражений FLOWR (относящийся к ключевым словам for, let, order by, where, и return). Класс NSXMLNode включает запросы XQuery 1.0 через objectsForXQuery:error: метод

XSLT (трансформации расширяемого языка таблиц стилей)

Приложение XML для преобразования XML-документа в другой XML-документ или в HTML, RTF или документ простого текста. Таблица стилей, используемая в трансформации, имеет шаблонные правила, каждый состоящий из образца и шаблона. Класс NSXMLDocument разрешает доступ к XSLT через objectByApplyingXSLT:error: и objectByApplyingXSLTAtURL:error: методы.