ГОСТ Р 70317—2022
Пример 3
—
На шаге Ь) реализация XML-схемы для пространства имен ("ns1"), которое определя
ет класс (Classl) со свойством, имеющим тип данных, указанный абстрактным классом, приведенным
в примерах 1и 2 перечисления а).
<schema xmlns:nsl=
http://standards.iso.org/iso/19115/-3/nsl/l.0
.../>
Импорт пространства имен xml абстрактных классов:
<import namespace="
http://standards.iso.org/iso/19115/-3/acn/1.0/
"
schemaLocation="../../acn/1.0/acn.xsd"/>
<!-- корневая сущность -->
<element name="Classl" substitutionGroup= "geo:AbstractObject" type= "nsl:Classl_Type">
</element>
Определение типа класса для Classl со свойством (названным "property"), значение которого
определено типом свойства AbstractClass2:
<complexType name="Classl_Type">
<complexContent>
<extension base="gco:AbstractObject_Type">
<sequence>
(
-----
)
<element maxOccurs="unbounded" minOccurs="0" name="property"
type= "acn:AbstractClass2_PropertyType "/>
(
-----
)
</sequence>
</extension>
</complexContent>
</complexType>
с)Третье пространство имен (обозначенное аббревиатурой "ns2") определяет конкретный XML-
элемент (Class2, рисунок 4), который является членом группы подстановок для абстрактного класса (АЬ-
stractClass2). XML-экземпляры класса Classl должны импортировать как пространство имен "асп", так и
пространство имен, включающее конкретный класс, который заменяет AbstractClass2 [например, Class2
в примере 3 перечисления в)], чтобы предоставить экземпляры свойства "property" (см. рисунок 4).
Пример 4
—
На шаге с) реализация XML-схемы для пространства имен (nns2’’), которая определя
ет конкретный класс (Class2) в группе подстановок дляAbstractClass2.
<element name="Class2" substitutionGroup="acn:AbstractClass2" type=»ns2:Class2_Type»/>
<!-- сложный тип расширяет тип для абстрактного класса -->
ccomplexType name="Class2_Type">
<complexContent>
<extension base="acn:AbstractClass2_Type">
<sequence>
<!-- определение элементов в конкретном экземпляре... -->
</sequence>
</extension>
</complexContent>
</complexType>
8.4 Правила кодирования XML
Пространство имен
http://standards.iso.Org/iso/19115/-3/mcc/1.0
включает элементы, реализующие
абстрактные классы, необходимые для кодирования типов необязательных свойств классов, опреде
ленных в ГОСТ Р 57668 в соответствии с правилом реализации в разделе 8. В таблице 11 приведены
необходимые классы.
В разделах 7-9 [3] описаны детали кодирования концептуальной схемы UML в набор XML-схем.
Реализация XML-схемы согласно настоящему стандарту следует правилам и шаблонам, описанным в
этих разделах, применяя их к модели UML для реализации XML. Одно дополнительное правило потребо
валось для поддержки модели реализации, описанной в 8.2, и для улучшения модульности реализации
XML-схемы. В таблице 12 перечислены правила кодирования, используемые для каждого класса UML.
27