ГОСТ Р ИСО/МЭК 8825-5— 2013
D.3.4.5.3 Следующее объявление элемента с анонимным сложным определением типа. Сложное опре
деление типа имеет сложное содержимое, которое является смешанным и опустошаемым и не используется в
качестве базового определения типа любого типа.
<xsd:element name-’UnknownDescription" fixed="absent“>
<xsd:complexType mixed="true">
<xsd:choice minOccurs="0" maxOccurs="unbounded”>
<xsd:element name=”bold" type="xsd:string’7>
<xsd:element name="italic“ type=”xsd:string*7>
</xsd:choice>
</xsd:complexType>
</xsd:element>
Это объявление элемента отображается в следующее присвоение типа АСН.1:
UnknownDescription[EMBED-VALUES] [DEFAULT-FOR-EMPTYAS "absent"]
SEQUENCE [
embed-values SEQUENCEOF XSD. String,
choice-list [UNTAGGED] SEQUENCE OF [UNTAGGED] CHOICE (
boldXSD.String,
italic XSD.String ) }
(CONSTRAINED BY
{/* Shall conform to ITU-TRec. X.693 \ ISO/IEC 8825-4,
clause 25 •/))
(KITH COMPONENTS (embed-values ({"absent"]),
choice-list (SIZE(0))))
D.3.4.5.4 Определением типа следующего объявления элемента является простое определение типа,
используемое в качестве базового определения типа другого типа.
Этот пример использует XSD- и АСН.1-типы примера в D.3.2.4.
<xsd:element name-’Quantity" type=*’lnt-10-to-50" fixed="20’7>
Это объявление элемента отображается в следующее присвоение типа АСН.1:
QuantityInt-10-to-50-deriv-fixed-20
Если нет типа АСН.1. соответствующего lnt-10-to-50 с фиксированным значением «20». уже сформирован
ного. следующий тип формируется так же:
Int-10-to-50-deriv-fixed-20 : [USE-TYPE] CHOICE [
int-10-tO-50 [NAMEAS CAPITALIZED] [DEFAULT-FOR-EMPTY AS 20]
Int-10-to-50,
stock-level [NAME AS CAPITALIZED] [DEFAULT-FOR-EMPTY AS 20]
Stock-level,
ten-multiples [NAMEAS CAPITALIZED] {DEFAULT-FOR-EMPTY AS
int20)
Ten-multiples,
twenty-multiples [NAMEAS CAPITALIZED] [DEFAULT-FOR-EMPTYAS
int20]
Twenty-multiples )
(WITH COMPONENTS (
int-10-to-50 (20),
stock-level (WITH COMPONENTS (..., base (20)}),
ten-multiples (int20),
twenty-multiples (int20) ])
D.3.4.6 Объявления элемента, которые являются обнуляемыми
D.3.4.6.1 В следующем примере показано объявление элемента, которое обнуляемо и чьим определени
ем типа является XSD-встроенный тип.
<xsd:element name="Nillable-1" type="xsd:string" nillable="true”/>
Это объявление элемента отображается в следующее присвоение типа АСН.1:
Nillable-1[USE-NIL] SEQUENCE {
content XSD.String OPTIONAL }
D.3.4.6.2 В следующем примере показано объявление элемента, которое обнуляемо и чьим определени
ем типа является анонимное сложное определение типа.
<xsd:element name=“Nillable-2" nillable="true”>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="a" type="xsd:string’7>
<xsd:element name="b" type="xsd:string"/>
57