ГОСТ Р ИСО/МЭК 8825-5— 2013
(CONSTRAINED BY
{/* Shall conform to ITU-T Rec. X.693 |ISO/IEC 8825-4,
clause 35 */>)
D.3.7.3 В следующем примере показаны частицы модельной группы с наборщиком выбора.
<xsd:complexType name="ElementSequence">
<xsd:choice>
<xsd:element name=“elem1“ type=”xsd:boolean”/>
<xsd:element name=”elem2" type="xsd:boolean" minOccurs=”0“/>
<xsd:element name=’’elem3” type=”xsd:boolean» minOccurs="2" maxOccurs="5"/>
<xsd:element name="elem4" type=”xsd:boolean" minOccurs=“0" maxOccurs="unbounded"/>
<xsd:element name="elem5“ type="xsd:boolean” minOccurs="5" maxOccurs=”unbounded“/>
</xsd:choice>
</xsd:complexType>
<xsd:complexType name="ModelGroupChoice”>
<xsd:choice>
<xsd:group ref="myChoice’7>
<xsd:choice>
<xsd:element name="a” type="xsd:string‘7>
<xsd:element name=’’b" type="xsd:string’7>
</xsd:choice>
<xsd:sequence>
<xsd:element name=”c" type="xsd:string’7>
<xsd:element name="d" type="xsd:string’7>
</xsd:sequence>
<xsd:choice minOccurs="3" maxOccurs="12">
<xsd:element name="e" type="xsd:string’7>
<xsd:element name="f’ type=”xsd:string"A>
</xsd:choice>
</xsd:choice>
</xsd:complexType>
Эти сложные определения типа отображаются в следующие присвоения типа АСН.1:
EleaentSequence : :■
SEQUENCE
(
choice [ONTAGGED] CHOICE {
eleml
elem2-list
BOOLEAN,
elem4-liat
(ONTAGGED]
elemS-liat
(ONTAGGED]
ModelGroupChoice : SEQUENCE (
choice (ONTAGGED) CHOICE (
BOOLEAN,
(ONTAGGED] SEQUENCE (SIZE(0..1))OF elem2
elem3-list(ONTAGGED] SEQUENCE <SIZE<2..5)) OF elem3
BOOLEAN,
SEQUENCE OF elem4 BOOLEAN,
SEQUENCE (SIZE(5..MAX)) OF elem5 BOOLEAN )
myChoice
Choice
MyChoice,
UNTAGGED] CHOICE (
XSD.String,
XSD.String },
(UNTAGGED] SEQUENCE {
XSD.String,
XSD.String },
(UNTAGGED] SEQUENCE (SIZE(3..12)) OF (UNTAGGED]
a
b
sequence
C
d
choice-list
CHOICE {
e
XSD.String,
fXSD.String ) } )
D.3.8 Отображение сложных определений типа
D.3.8.1 Далее приведен пример сложного определения типа, тип содержимого которого пуст.
<xsd:complexType name="Null“/>
<xsd:complexType name=”Ack">
<xsd:sequence/>
<xsd:attribute name="packetNumber" type=”xsd:integer*7>
</xsd:complexType>
62