ГОСТ Р ИСО/МЭК 13250-3-2012
НАЦИОНАЛЬНЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ
Информационная технология
ТЕМАТИЧЕСКИЕ КАРТЫ
Часть 3
Синтаксис XML
Information technology. Topic maps. Part 3. XML syntax
ОКС 35.240.30
Дата введения 2014-01-01
1 ПОДГОТОВЛЕН Федеральным государственным унитарным предприятием "Государственный научно-исследовательский и конструкторско-технологический институт "ТЕСТ" (ФГУП ГосНИИ "ТЕСТ") на основе собственного перевода на русский язык англоязычной версии международного стандарта, указанного в пункте 4
2 ВНЕСЕН Техническим комитетом по стандартизации ТК 22 "Информационные технологии"
3 УТВЕРЖДЕН И ВВЕДЕН В ДЕЙСТВИЕ Приказом Федерального агентства по техническому регулированию и метрологии от 24 сентября 2012 г. N 419-ст
4 Настоящий стандарт идентичен международному стандарту ИСО/МЭК 13250-3:2007* "Информационная технология. Тематические карты. Часть 3. Синтаксис XML" (ISO/IEC 13250-3:2007 "Information technology - Topic Maps - Part 3: XML syntax", IDT).
________________
* Доступ к международным и зарубежным документам, упомянутым в тексте, можно получить, обратившись в Службу поддержки пользователей. - Примечание изготовителя базы данных.
При применении настоящего стандарта рекомендуется использовать вместо ссылочных международных стандартов соответствующие им национальные стандарты, сведения о которых приведены в дополнительном приложении ДА
5 ВВЕДЕН ВПЕРВЫЕ
6 ПЕРЕИЗДАНИЕ. Февраль 2019 г.
Правила применения настоящего стандарта установлены в статье 26 Федерального закона от 29 июня 2015 г. N 162-ФЗ "О стандартизации в Российской Федерации". Информация об изменениях к настоящему стандарту публикуется в ежегодном (по состоянию на 1 января текущего года) информационном указателе "Национальные стандарты", а официальный текст изменений и поправок - в ежемесячном информационном указателе "Национальные стандарты". В случае пересмотра (замены) или отмены настоящего стандарта соответствующее уведомление будет опубликовано в ближайшем выпуске ежемесячного информационного указателя "Национальные стандарты". Соответствующая информация, уведомление и тексты размещаются также в информационной системе общего пользования - на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет (www.gost.ru)
В настоящем стандарте определен основанный на XML синтаксис обмена для тематических карт, который может быть использован для обмена экземплярами моделей данных, определенных в ИСО/МЭК 13250-2. В настоящем стандарте также определено отображение из синтаксиса обмена в модель данных. Синтаксис определен со схемой RELAX-NG, тем самым обеспечивая большую точность отображения в модель данных, что так же эффективно определяет интерпретацию синтаксиса.
В настоящем стандарте использованы нормативные ссылки на следующие стандарты*:
_______________
* Таблицу соответствия национальных стандартов международным см. по ссылке. - Примечание изготовителя базы данных.
ISO/IEC 13250:2003, Information technology - SGML applications - Topic Maps (Информационные технологии. Приложения SGML. Тематические карты)
________________
Действует ISO/IEC 13250-3:2007.
ISO/IEC 13250-2, Information technology - Topic Maps - Part 2: Data model (Информационные технологии. Тематические карты. Часть 2. Модель данных)
ISO/IEC 19757-2, Information technology - Document Schema Definition Language (DSDL) - Part 2: Regulargrammar-based validation - RELAX NG (Информационные технологии. Язык определения схемы документа (DSDL). Часть 2. Валидация на основе регулярной грамматики. RELAX NG)
В настоящем стандарте использован следующий термин с соответствующим определением:
3.1 ХТМ: Синтаксис, определенный в настоящем стандарте.
Сокращение ХТМ часто используют для ссылки на синтаксис, определенный в настоящем стандарте. Его полное название - Тематические Карты XML. Пространством имен для синтаксиса ХТМ является http://www.topicmaps.org/xtm/.
Документ ХТМ - это документ XML, соответствующий синтаксису ХТМ. В настоящем разделе определены синтаксис документов ХТМ с использованием схемы RELAX-NG в компактном синтаксисе (см. ИСО/МЭК 19757-2) и их семантика с использованием словесного описания отображения из документов ХТМ в ИСО/МЭК 13250-2. Полная схема приведена в приложении A, DTD - в приложении В, схема XML W3C - в приложении С.
Процесс экспорта Тематических Карт из внутреннего представления реализации модели данных в экземпляр синтаксиса Тематических Карт называют сериализацией. Противоположный процесс - десериализация - это процесс построения экземпляра внутреннего представления реализации модели данных из экземпляра синтаксиса Тематических Карт.
В настоящем разделе определено, как экземпляры синтаксиса ХТМ десериализуют в экземпляры модели данных, определенной в ИСО/МЭК13250-2. Сериализация определена только неявно, но реализациям следует гарантировать, что для любого экземпляра модели данных сериализация ХТМ, созданная реализацией, при десериализации приведет к новому экземпляру модели данных, канонический вид которой по [1] будет тем же, что и канонический вид исходного экземпляра модели данных.
Входом для процесса десериализации являются:
- элемент документа по [2], представляющий документ ХТМ. (Свойства информационного элемента по [2] указывают как [[имя свойства]] в отличие от свойств по ИСО/МЭК 13250-2);
- абсолютный IRI. Это тот IRI, из которого был получен документ ХТМ; его называют IRI документа. Этот IRI всегда должен быть предоставлен, так как он необходим для присвоения идентификаторов тематических элементов, созданных в ходе десериализации. Если документ ХТМ не был прочитан с какого-либо конкретного IRI, то приложение отвечает за предоставление IRI, который рассматривается как подходящий.
Десериализация осуществляется путем обработки каждого элемента в элементе документа в том порядке, в котором они находятся в документе. Для каждого встретившегося элемента проводится операция, заданная в разделе для данного типа элемента. Входной элемент соответствует разделу в данном документе, когда свойство [[namespace uri]] (uri пространства имен) равно "http://www.topicmaps.org/xtm/" и [[local name]] (локальное имя) соответствует имени типа элемента, заданного в заголовке этого раздела.
Всякий раз, когда создается информационный элемент, те его свойства, которые имеют установленные значения, инициализируются пустым множеством; все остальные свойства инициализируются нулем.
Примечание - В настоящем стандарте в качестве входа для процесса десериализации требуется экземпляр информационного набора XML, но в большинстве случаев фактическим входом будет документ XML. В настоящем стандарте не установлены ограничения на построение информационных наборов XML из документов XML, но принято, что в большинстве случаев это будет сделано просто путем использования процессора XML.
Процессоры XML, соответствующие Рекомендации XML, могут давать различные результаты для одного и того же документа XML в зависимости от того, являются ли они валидирующими или нет, и в зависимости от поддерживаемых факультативных характеристик. Не допускается полагаться на какое-либо конкретное поведение процессоров XML, используемых получателями.
Для краткости в схемах использованы следующие декларации:
default namespace = "http://www.topicmaps.org/xtm/"
namespace xtm = "http://www.topicmaps.org/xtm/"
datatypes xsd = "http://www.w3.org/2001/XMLSchema-datatypes"
start = topicMap
reifiable = attribute reifier { xsd:anyURI }?, itemldentity*
href = attribute href { xsd:anyURI }
any-markup = (text | element * - xtm:* { attribute * {text }*, any-markup* })*
Атрибут reifier (материализация) используют для ссылки из конструктива тематической карты на то, как он выглядит для темы, материализующей этот конструктив. Ссылка является IRI, соответствующим одному из идентификаторов тематических элементов.
В ходе десериализации значение свойства [[normalized value]] (нормализованное значение) атрибута node (узел), представляющего атрибут reifier (материализация), разрешается в абсолютный IRI, следуя процедуре 4.3.4. Если существует тематический элемент с этим IRI в его свойстве [item identifiers] (идентификаторы элемента), то этот тематический элемент устанавливают в качестве значения свойства [reifier] (материализация) обрабатываемого конструктива тематической карты. Если такой тематический элемент не существует, то создают новый тематический элемент, добавляют IRI к его свойству [item identifiers] (идентификаторы элемента) и этот тематический элемент устанавливают в качестве значения свойства [reifier] (материализация) обрабатываемого конструктива тематической карты.
Атрибут href всегда ссылается на информационный ресурс, используя относительный или абсолютный IRI, допустимый по [3] и [4], но смысл ссылки зависит от контекста.
В ходе десериализации значение свойства [[normalized value]] (нормализованное значение) атрибута node (узел), представляющего атрибут href, преобразуют в IRI по процедуре 4.3.4.
Для создания IRI из строки удаляют управляющие последовательности, заменяя управляющие последовательности % НН на символы, которые они представляют, и декодируют получившуюся последовательность символов из UTF-8 в последовательность абстрактных символов Unicode. Получившуюся строку преобразуют в абсолютный IRI, разрешая его относительно IRI документа.
Элемент типа topicMap - элемент документа всех документов ХТМ. Элемент действует как контейнер для тематической карты и может быть использован для ее материализации, но не имеет другого значения. Этот элемент декларирован следующим образом:
topicMap = element topicMap { reifiable, version, mergeMap*, (topic |
association)* }
version = attribute version { "2.0" }
Атрибут version (версия) используют для спецификации версии ХТМ, которой соответствует документ. Для документов ХТМ 2.0 он должен быть равен "2.0".
В ходе десериализации элемент topicMap вызывает создание элемента тематической карты.
Элемент типа topic (тема) используется для представления тем и действует как контейнер и точка ссылки для тематической информации. Дочерние элементы элемента topic (тема) обеспечивают идентификацию, а также имена и появления, тогда как ассоциативные роли, исполняемые темой, специфицированы вне элемента topic (тема).
Элемент topic (тема) декларирован следующим образом:
topic = element topic { id,
(itemldentity | subjectLocator | subjectldentifier)*,
instanceOf?, (name | occurrence)* }
id = attribute id { xsd:ID }
Атрибут id обеспечивает уникальный в пределах документа идентификатор темы, который используют для ссылок на нее.
В ходе десериализации элемент topic (тема) вызывает создание тематического элемента и помещение его в свойство [topics] (темы) элемента тематической карты.