ГОСТ Р ИСО/МЭК13250-3—2012
4.2 Десериализация
Процесс экспорта Тематических Карт из внутреннего представления реализации модели данных в
экземпляр синтаксиса Тематических Карт называют сериализацией. Противоположный процесс— десери
ализация — это процесс построения экземпляра внутреннего представления реализации модели данныхиз
экземпляра синтаксиса Тематических Карт.
В настоящем разделе определено, как экземпляры синтаксиса ХТМ десериализуют в экземпляры
модели данных, определенной в ИСО/МЭК 13250-2. Сериализация определена только неявно, но реализа
циям следует гарантировать, что для любого экземпляра модели данных сериализация ХТМ. созданная
реализацией, при десериализации приведет к новому экземпляру модели данных, канонический вид кото
рой по [1] будет тем же, что и канонический вид исходного экземпляра модели данных.
Входом для процесса десериализации являются:
- элемент документа по [2], представляющий документ ХТМ. (Свойства информационного элемента
по [2] указывают как ([имя свойства]] в отличие от свойств по ИСО/МЭК 13250-2);
- абсолютный IRI. Этотот IRI. из которого был получен документХТМ. его называют IRI документа. Этот
IRI всегда должен быть предоставлен, так как он необходим для присвоения идентификаторов тематичес
ких элементов, созданных в ходе десериализации. Если документ ХТМ не был прочитан с какого-либо
конкретного IRI. то приложение отвечзет за предоставление IRI. который рассматривается как подходящий.
Десериализация осуществляется путем обработки каждого элемента в элементе документа в том
порядке, в котором они находятся вдокументе. Для каждого встретившегося элемента проводится опера
ция, заданная в разделе для данного типа элемента. Входной элемент соответствует разделу в данном
документе, когда свойство ((namespace urij] (uri пространства имен) равно «
http://www.topicmaps.org/xtm/»
и [[local name]] (локальное имя) соответствует имени типа элемента, заданного в заголовке этого раздела.
Всякий раз. когда создается информационный элемент, те его свойства, которые имеют установлен
ные значения, инициализируются пустым множеством, все остальные свойства инициализируются нулем.
П р и м е ч а н и е — В настоящем стандарте в качестве входа для процесса десериализации требуется
экземпляр информационного набора XML, но в большинстве случаев фактическим входом будет документ XML. В
настоящем стандарте не установлены ограничения на построение информационных наборов XML из докумен тов
XML, но принято, что в большинстве случаев это будет сделано просто путем использования процессора XML.
Процессоры XML. соответствующие Рекомендации XML, могут давать различные результаты для од
ного и того же документа XML в зависимости от того, являются ли они валидирующими или нет, и в зависи
мости от поддерживаемых факультативных характеристик. Не допускается полагаться на какое-либо конк
ретное поведение процессоров XML. используемых получателями.
4.3 Общие синтаксические конструкции
4.3.1 Общие декларации
Для краткости в схемах использованы следующие декларации,
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* })*
4.3.2 Атрибут reifier
Атрибут reifier (материализация) используютдля ссылки из конструктива тематической карты на то,
как он выглядит для темы, материализующей этот конструктив. Ссылка является IRI, соответствующим
одному из идентификаторов тематических элементов.
В ходедесериализации значение свойства [[normalized value]] (нормализованное значение) атрибута
node (узел), представляющего атрибут reifier(материализация), разрешается вабсолютный IRI, следуя про
цедуре 4.3.4. Если существует тематический элемент с этим IRI вего свойстве [item identifiers] (идентифи
каторы элемента), то этот тематический элемент устанавливают в качестве значения свойства [reifier](мате
риализация) обрабатываемого конструктива тематической карты. Если такой тематический элемент не су
ществует. то создают новый тематический элемент, добавляют IRI к его свойству [item identifiers] (иденти
фикаторы элемента) и этот тематический элемент устанавливают в качестве значения свойства [reifier] (ма
териализация) обрабатываемого конструктива тематической карты.
2