Logo etsi

ETSI's Bug Tracker

Notice: information submitted on the ETSI issue Tracker may be incorporated in ETSI publication(s) and therefore subject to the ETSI IPR policy.

View Revisions: Issue #7512 All Revisions ] Back to Issue ]
Summary 0007512: XML mapping of matching symbols
Revision 27-10-2016 13:02 by Tomas Urban
Description The XML mapping of TCI matching symbol type doesn't match the specification of the abstract data type defined in 7.2.2.3. At the moment the XSD type is defined as follows:

<xsd:complexType name="MatchingSymbol">
 <xsd:simpleContent>
  <xsd:extension base="SimpleTypes:TString">
   <xsd:attributeGroup ref="Values:ValueAtts"/>
  </xsd:extension>
  </xsd:simpleContent>
</xsd:complexType>

It is not explained what the string should contain. Attributes are superfluous as they are present at the wrapping value level.

Correct mapping should be a choice of options defined in 7.2.2.3. Each option should contain all data fields specified for the data type:

<xsd:complexType name="MatchingSymbol">
  <xsd:choice>
    <xsd:element name="any" type="SimpleTypes:TEmpty"/>
    <xsd:element name="value_or_none" type="SimpleTypes:TEmpty"/>
    <xsd:element name="any_element" type="SimpleTypes:TEmpty"/>
    <xsd:element name="elements_or_none" type="SimpleTypes:TEmpty"/>
    <xsd:element name="omit" type="SimpleTypes:TEmpty"/>
    <xsd:element name="complemented_list" type="Templates:MatchingList"/>
    <xsd:element name="template_list" type="Templates:MatchingList"/>
    <xsd:element name="subset" type="Templates:MatchingList"/>
    <xsd:element name="superset" type="Templates:MatchingList"/>
    <xsd:element name="range" type="Templates:ValueRange"/>
    <xsd:element name="pattern" type="SimpleTypes:TString"/>
    <xsd:element name="dec_match" type="Templates:MatchDecodedContent"/>
   </xsd:choice>
</xsd:complexType>

<xsd:complexType name="TEmpty" />

<xsd:complexType name="MatchingList">
 <xsd:choice>
  <xsd:element name="integer" type="Values:IntegerValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="float" type="Values:FloatValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="boolean" type="Values:BooleanValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="verdicttype" type="Values:VerdictValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="bitstring" type="Values:BitstringValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="hexstring" type="Values:HexstringValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="octetstring" type="Values:OctetstringValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="charstring" type="Values:CharstringValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="universal_charstring" type="Values:UniversalCharstringValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="record" type="Values:RecordValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="record_of" type="Values:RecordOfValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="array" type="Values:ArrayValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="set" type="Values:SetValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="set_of" type="Values:SetOfValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="enumerated" type="Values:EnumeratedValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="union" type="Values:UnionValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="anytype" type="Values:AnytypeValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="address" type="Values:AddressValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="component" type="Values:ComponentValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="port" type="Values:PortValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="default" type="Values:DefaultValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="timer" type="Values:TimerValue" minOccurs="1"
maxOccurs="unbounded" />
 </xsd:choice>
</xsd:complexType>

<xsd:complexType name="ValueRange">
 <xsd:sequence>
  <xsd:element name="lower" type="Templates:RangeBoundary" />
  <xsd:element name="upper" type="Templates:RangeBoundary" />
 </xsd:sequence>
</xsd:complexType>

<xsd:complexType name="RangeBoundary">
 <xsd:choice>
  <xsd:sequence>
   <xsd:choice>
    <xsd:element name="integer" type="Values:IntegerValue" />
    <xsd:element name="float" type="Values:FloatValue" />
    <xsd:element name="charstring" type="Values:CharstringValue" />
    <xsd:element name="universal_charstring" type="Values:UniversalCharstringValue" />
   </xsd:choice>
   <xsd:element name="exclusive" type="SimpleTypes:TEmpty" minOccurs="0"/>
  </xsd:sequence>
  <xsd:element name="infinity" type="SimpleTypes:TEmpty" />
 </xsd:choice>
</xsd:complexType>

<xsd:complexType name="MatchDecodedContent">
 <xsd:choice>
  <xsd:element name="integer" type="Values:IntegerValue"/>
  <xsd:element name="float" type="Values:FloatValue"/>
  <xsd:element name="boolean" type="Values:BooleanValue"/>
  <xsd:element name="verdicttype" type="Values:VerdictValue"/>
  <xsd:element name="bitstring" type="Values:BitstringValue"/>
  <xsd:element name="hexstring" type="Values:HexstringValue"/>
  <xsd:element name="octetstring" type="Values:OctetstringValue"/>
  <xsd:element name="charstring" type="Values:OctetstringValue"/>
  <xsd:element name="universal_charstring" type="Values:UniversalCharstringValue"/>
  <xsd:element name="record" type="Values:RecordValue"/>
  <xsd:element name="record_of" type="Values:RecordOfValue"/>
  <xsd:element name="array" type="Values:ArrayValue"/>
  <xsd:element name="set" type="Values:SetValue"/>
  <xsd:element name="set_of" type="Values:SetOfValue"/>
  <xsd:element name="enumerated" type="Values:EnumeratedValue"/>
  <xsd:element name="union" type="Values:UnionValue"/>
  <xsd:element name="anytype" type="Values:AnytypeValue"/>
 </xsd:choice>
</xsd:complexType>
Revision 27-10-2016 12:38 by Tomas Urban
Description The XML mapping of TCI matching symbol type doesn't match the specification of the abstract data type defined in 7.2.2.3. At the moment the XSD type is defined as follows:

<xsd:complexType name="MatchingSymbol">
 <xsd:simpleContent>
  <xsd:extension base="SimpleTypes:TString">
   <xsd:attributeGroup ref="Values:ValueAtts"/>
  </xsd:extension>
  </xsd:simpleContent>
</xsd:complexType>

It is not explained what the string should contain. Attributes are superfluous as they are present at the wrapping value level.

Correct mapping should be a choice of options defined in 7.2.2.3. Each option should contain all data fields specified for the data type:

<xsd:complexType name="MatchingSymbol">
  <xsd:choice>
    <xsd:element name="any" type="SimpleTypes:TEmpty"/>
    <xsd:element name="value_or_none" type="SimpleTypes:TEmpty"/>
    <xsd:element name="any_element" type="SimpleTypes:TEmpty"/>
    <xsd:element name="elements_or_none" type="SimpleTypes:TEmpty"/>
    <xsd:element name="omit" type="SimpleTypes:TEmpty"/>
    <xsd:element name="complemented_list" type="Templates:MatchingList"/>
    <xsd:element name="template_list" type="Templates:MatchingList"/>
    <xsd:element name="subset" type="Templates:MatchingList"/>
    <xsd:element name="superset" type="Templates:MatchingList"/>
    <xsd:element name="range" type="Templates:ValueRange"/>
    <xsd:element name="pattern" type="Templates:Pattern"/>
    <xsd:element name="dec_match" type="Templates:MatchDecodedContent"/>
   </xsd:choice>
</xsd:complexType>

<xsd:complexType name="TEmpty" />

<xsd:complexType name="MatchingList">
 <xsd:choice>
  <xsd:element name="integer" type="Values:IntegerValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="float" type="Values:FloatValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="boolean" type="Values:BooleanValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="verdicttype" type="Values:VerdictValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="bitstring" type="Values:BitstringValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="hexstring" type="Values:HexstringValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="octetstring" type="Values:OctetstringValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="charstring" type="Values:CharstringValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="universal_charstring" type="Values:UniversalCharstringValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="record" type="Values:RecordValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="record_of" type="Values:RecordOfValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="array" type="Values:ArrayValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="set" type="Values:SetValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="set_of" type="Values:SetOfValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="enumerated" type="Values:EnumeratedValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="union" type="Values:UnionValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="anytype" type="Values:AnytypeValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="address" type="Values:AddressValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="component" type="Values:ComponentValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="port" type="Values:PortValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="default" type="Values:DefaultValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="timer" type="Values:TimerValue" minOccurs="1"
maxOccurs="unbounded" />
 </xsd:choice>
</xsd:complexType>

<xsd:complexType name="ValueRange">
 <xsd:sequence>
  <xsd:element name="lower" type="Templates:RangeBoundary" />
  <xsd:element name="upper" type="Templates:RangeBoundary" />
 </xsd:sequence>
</xsd:complexType>

<xsd:complexType name="RangeBoundary">
 <xsd:choice>
  <xsd:sequence>
   <xsd:choice>
    <xsd:element name="integer" type="Values:IntegerValue" />
    <xsd:element name="float" type="Values:FloatValue" />
    <xsd:element name="charstring" type="Values:CharstringValue" />
    <xsd:element name="universal_charstring" type="Values:UniversalCharstringValue" />
   </xsd:choice>
   <xsd:element name="exclusive" type="SimpleTypes:TEmpty" minOccurs="0"/>
  </xsd:sequence>
  <xsd:element name="infinity" type="SimpleTypes:TEmpty" />
 </xsd:choice>
</xsd:complexType>

<xsd:complexType name="Pattern">
 <xsd:choice>
  <xsd:element name="charstring" type="Values:OctetstringValue"/>
  <xsd:element name="universal_charstring" type="Values:UniversalCharstringValue"/>
 </xsd:choice>
</xsd:complexType>

<xsd:complexType name="MatchDecodedContent">
 <xsd:choice>
  <xsd:element name="integer" type="Values:IntegerValue"/>
  <xsd:element name="float" type="Values:FloatValue"/>
  <xsd:element name="boolean" type="Values:BooleanValue"/>
  <xsd:element name="verdicttype" type="Values:VerdictValue"/>
  <xsd:element name="bitstring" type="Values:BitstringValue"/>
  <xsd:element name="hexstring" type="Values:HexstringValue"/>
  <xsd:element name="octetstring" type="Values:OctetstringValue"/>
  <xsd:element name="charstring" type="Values:OctetstringValue"/>
  <xsd:element name="universal_charstring" type="Values:UniversalCharstringValue"/>
  <xsd:element name="record" type="Values:RecordValue"/>
  <xsd:element name="record_of" type="Values:RecordOfValue"/>
  <xsd:element name="array" type="Values:ArrayValue"/>
  <xsd:element name="set" type="Values:SetValue"/>
  <xsd:element name="set_of" type="Values:SetOfValue"/>
  <xsd:element name="enumerated" type="Values:EnumeratedValue"/>
  <xsd:element name="union" type="Values:UnionValue"/>
  <xsd:element name="anytype" type="Values:AnytypeValue"/>
 </xsd:choice>
</xsd:complexType>
Revision 27-10-2016 09:18 by Tomas Urban
Description The XML mapping of TCI matching symbol type doesn't match the specification of the abstract data type defined in 7.2.2.3. At the moment the XSD type is defined as follows:

<xsd:complexType name="MatchingSymbol">
 <xsd:simpleContent>
  <xsd:extension base="SimpleTypes:TString">
   <xsd:attributeGroup ref="Values:ValueAtts"/>
  </xsd:extension>
  </xsd:simpleContent>
</xsd:complexType>

It is not explained what the string should contain. Attributes are superfluous as they are present at the wrapping value level.

Correct mapping should be a choice of options defined in 7.2.2.3. Each option should contain all data fields specified for the data type:

<xsd:complexType name="MatchingSymbol">
  <xsd:choice>
    <xsd:element name="any" type="SimpleTypes:TEmpty"/>
    <xsd:element name="value_or_none" type="SimpleTypes:TEmpty"/>
    <xsd:element name="any_element" type="SimpleTypes:TEmpty"/>
    <xsd:element name="elements_or_none" type="SimpleTypes:TEmpty"/>
    <xsd:element name="omit" type="SimpleTypes:TEmpty"/>
    <xsd:element name="complemented_list" type="Templates:MatchingList"/>
    <xsd:element name="template_list" type="Templates:MatchingList"/>
    <xsd:element name="subset" type="Templates:MatchingList"/>
    <xsd:element name="superset" type="Templates:MatchingList"/>
    <xsd:element name="range" type="Templates:ValueRange"/>
    <xsd:element name="pattern" type="SimpleTypes:TString"/>
    <xsd:element name="dec_match" type="Templates:MatchDecodedContent"/>
   </xsd:choice>
</xsd:complexType>

<xsd:complexType name="TEmpty" />

<xsd:complexType name="MatchingList">
 <xsd:choice>
  <xsd:element name="integer" type="Values:IntegerValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="float" type="Values:FloatValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="boolean" type="Values:BooleanValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="verdicttype" type="Values:VerdictValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="bitstring" type="Values:BitstringValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="hexstring" type="Values:HexstringValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="octetstring" type="Values:OctetstringValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="charstring" type="Values:CharstringValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="universal_charstring" type="Values:UniversalCharstringValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="record" type="Values:RecordValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="record_of" type="Values:RecordOfValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="array" type="Values:ArrayValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="set" type="Values:SetValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="set_of" type="Values:SetOfValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="enumerated" type="Values:EnumeratedValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="union" type="Values:UnionValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="anytype" type="Values:AnytypeValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="address" type="Values:AddressValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="component" type="Values:ComponentValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="port" type="Values:PortValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="default" type="Values:DefaultValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="timer" type="Values:TimerValue" minOccurs="1"
maxOccurs="unbounded" />
 </xsd:choice>
</xsd:complexType>

<xsd:complexType name="ValueRange">
 <xsd:sequence>
  <xsd:element name="lower" type="Templates:RangeBoundary" />
  <xsd:element name="upper" type="Templates:RangeBoundary" />
 </xsd:sequence>
</xsd:complexType>

<xsd:complexType name="RangeBoundary">
 <xsd:choice>
  <xsd:sequence>
   <xsd:choice>
    <xsd:element name="integer" type="Values:IntegerValue" />
    <xsd:element name="float" type="Values:FloatValue" />
    <xsd:element name="charstring" type="Values:CharstringValue" />
    <xsd:element name="universal_charstring" type="Values:UniversalCharstringValue" />
   </xsd:choice>
   <xsd:element name="exclusive" type="SimpleTypes:TEmpty" minOccurs="0"/>
  </xsd:sequence>
  <xsd:element name="infinity" type="SimpleTypes:TEmpty" />
 </xsd:choice>
</xsd:complexType>

Revision 19-10-2016 13:35 by Tomas Urban
Description The XML mapping of TCI matching symbol type doesn't match the specification of the abstract data type defined in 7.2.2.3. At the moment the XSD type is defined as follows:

<xsd:complexType name="MatchingSymbol">
 <xsd:simpleContent>
  <xsd:extension base="SimpleTypes:TString">
   <xsd:attributeGroup ref="Values:ValueAtts"/>
  </xsd:extension>
  </xsd:simpleContent>
</xsd:complexType>

It is not explained what the string should contain. Attributes are superfluous as they are present at the wrapping value level.

Correct mapping should be a choice of options defined in 7.2.2.3. Each option should contain all data fields specified for the data type:

<xsd:complexType name="MatchingSymbol">
  <xsd:choice>
    <xsd:element name="any" type="SimpleTypes:TEmpty"/>
    <xsd:element name="value_or_none" type="SimpleTypes:TEmpty"/>
    <xsd:element name="any_element" type="SimpleTypes:TEmpty"/>
    <xsd:element name="elements_or_none" type="SimpleTypes:TEmpty"/>
    <xsd:element name="omit" type="SimpleTypes:TEmpty"/>
    <xsd:element name="template_list" type="Templates:MatchingList"/>
    <xsd:element name="subset" type="Templates:MatchingList"/>
    <xsd:element name="superset" type="Templates:MatchingList"/>
    <xsd:element name="range" type="Templates:ValueRange"/>
    <xsd:element name="pattern" type="SimpleTypes:TString"/>
    <xsd:element name="dec_match" type="Templates:MatchDecodedContent"/>
   </xsd:choice>
</xsd:complexType>

<xsd:complexType name="TEmpty" />

<xsd:complexType name="MatchingList">
 <xsd:choice>
  <xsd:element name="integer" type="Values:IntegerValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="float" type="Values:FloatValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="boolean" type="Values:BooleanValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="verdicttype" type="Values:VerdictValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="bitstring" type="Values:BitstringValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="hexstring" type="Values:HexstringValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="octetstring" type="Values:OctetstringValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="charstring" type="Values:CharstringValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="universal_charstring" type="Values:UniversalCharstringValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="record" type="Values:RecordValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="record_of" type="Values:RecordOfValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="array" type="Values:ArrayValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="set" type="Values:SetValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="set_of" type="Values:SetOfValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="enumerated" type="Values:EnumeratedValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="union" type="Values:UnionValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="anytype" type="Values:AnytypeValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="address" type="Values:AddressValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="component" type="Values:ComponentValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="port" type="Values:PortValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="default" type="Values:DefaultValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="timer" type="Values:TimerValue" minOccurs="1"
maxOccurs="unbounded" />
 </xsd:choice>
</xsd:complexType>

<xsd:complexType name="ValueRange">
 <xsd:sequence>
  <xsd:element name="lower" type="Templates:RangeBoundary" />
  <xsd:element name="upper" type="Templates:RangeBoundary" />
 </xsd:sequence>
</xsd:complexType>

<xsd:complexType name="RangeBoundary">
 <xsd:choice>
  <xsd:sequence>
   <xsd:choice>
    <xsd:element name="integer" type="Values:IntegerValue" />
    <xsd:element name="float" type="Values:FloatValue" />
    <xsd:element name="charstring" type="Values:CharstringValue" />
    <xsd:element name="universal_charstring" type="Values:UniversalCharstringValue" />
   </xsd:choice>
   <xsd:element name="exclusive" type="SimpleTypes:TEmpty" minOccurs="0"/>
  </xsd:sequence>
  <xsd:element name="infinity" type="SimpleTypes:TEmpty" />
 </xsd:choice>
</xsd:complexType>

Revision 19-10-2016 13:34 by Tomas Urban
Description The XML mapping of TCI matching symbol type doesn't match the specification of the abstract data type defined in 7.2.2.3. At the moment the XSD type is defined as follows:

<xsd:complexType name="MatchingSymbol">
 <xsd:simpleContent>
  <xsd:extension base="SimpleTypes:TString">
   <xsd:attributeGroup ref="Values:ValueAtts"/>
  </xsd:extension>
  </xsd:simpleContent>
</xsd:complexType>

It is not explained what the string should contain. Attributes are superfluous as they are present at the wrapping value level.

Correct mapping should be a choice of options defined in 7.2.2.3. Each option should contain all data fields specified for the data type:

<xsd:complexType name="MatchingSymbol">
  <xsd:choice>
    <xsd:element name="any" type="SimpleTypes:TEmpty"/>
    <xsd:element name="value_or_none" type="SimpleTypes:TEmpty"/>
    <xsd:element name="any_element" type="SimpleTypes:TEmpty"/>
    <xsd:element name="element_or_none" type="SimpleTypes:TEmpty"/>
    <xsd:element name="omit" type="SimpleTypes:TEmpty"/>
    <xsd:element name="template_list" type="Templates:MatchingList"/>
    <xsd:element name="subset" type="Templates:MatchingList"/>
    <xsd:element name="superset" type="Templates:MatchingList"/>
    <xsd:element name="range" type="Templates:ValueRange"/>
    <xsd:element name="pattern" type="SimpleTypes:TString"/>
    <xsd:element name="dec_match" type="Templates:MatchDecodedContent"/>
   </xsd:choice>
</xsd:complexType>

<xsd:complexType name="TEmpty" />

<xsd:complexType name="MatchingList">
 <xsd:choice>
  <xsd:element name="integer" type="Values:IntegerValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="float" type="Values:FloatValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="boolean" type="Values:BooleanValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="verdicttype" type="Values:VerdictValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="bitstring" type="Values:BitstringValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="hexstring" type="Values:HexstringValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="octetstring" type="Values:OctetstringValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="charstring" type="Values:CharstringValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="universal_charstring" type="Values:UniversalCharstringValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="record" type="Values:RecordValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="record_of" type="Values:RecordOfValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="array" type="Values:ArrayValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="set" type="Values:SetValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="set_of" type="Values:SetOfValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="enumerated" type="Values:EnumeratedValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="union" type="Values:UnionValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="anytype" type="Values:AnytypeValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="address" type="Values:AddressValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="component" type="Values:ComponentValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="port" type="Values:PortValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="default" type="Values:DefaultValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="timer" type="Values:TimerValue" minOccurs="1"
maxOccurs="unbounded" />
 </xsd:choice>
</xsd:complexType>

<xsd:complexType name="ValueRange">
 <xsd:sequence>
  <xsd:element name="lower" type="Templates:RangeBoundary" />
  <xsd:element name="upper" type="Templates:RangeBoundary" />
 </xsd:sequence>
</xsd:complexType>

<xsd:complexType name="RangeBoundary">
 <xsd:choice>
  <xsd:sequence>
   <xsd:choice>
    <xsd:element name="integer" type="Values:IntegerValue" />
    <xsd:element name="float" type="Values:FloatValue" />
    <xsd:element name="charstring" type="Values:CharstringValue" />
    <xsd:element name="universal_charstring" type="Values:UniversalCharstringValue" />
   </xsd:choice>
   <xsd:element name="exclusive" type="SimpleTypes:TEmpty" minOccurs="0"/>
  </xsd:sequence>
  <xsd:element name="infinity" type="SimpleTypes:TEmpty" />
 </xsd:choice>
</xsd:complexType>

Revision 19-10-2016 13:29 by Tomas Urban
Description The XML mapping of TCI matching symbol type doesn't match the specification of the abstract data type defined in 7.2.2.3. At the moment the XSD type is defined as follows:

<xsd:complexType name="MatchingSymbol">
 <xsd:simpleContent>
  <xsd:extension base="SimpleTypes:TString">
   <xsd:attributeGroup ref="Values:ValueAtts"/>
  </xsd:extension>
  </xsd:simpleContent>
</xsd:complexType>

It is not explained what the string should contain. Attributes are superfluous as they are present at the wrapping value level.

Correct mapping should be a choice of options defined in 7.2.2.3. Each option should contain all data fields specified for the data type:

<xsd:complexType name="MatchingSymbol">
  <xsd:choice>
    <xsd:element name="any" type="SimpleTypes:TEmpty"/>
    <xsd:element name="anyoromit" type="SimpleTypes:TEmpty"/>
    <xsd:element name="anyelement" type="SimpleTypes:TEmpty"/>
    <xsd:element name="anyornone" type="SimpleTypes:TEmpty"/>
    <xsd:element name="omit" type="SimpleTypes:TEmpty"/>
    <xsd:element name="template_list" type="Templates:MatchingList"/>
    <xsd:element name="subset" type="Templates:MatchingList"/>
    <xsd:element name="superset" type="Templates:MatchingList"/>
    <xsd:element name="range" type="Templates:ValueRange"/>
    <xsd:element name="pattern" type="SimpleTypes:TString"/>
    <xsd:element name="dec_match" type="Templates:MatchDecodedContent"/>
   </xsd:choice>
</xsd:complexType>

<xsd:complexType name="TEmpty" />

<xsd:complexType name="MatchingList">
 <xsd:choice>
  <xsd:element name="integer" type="Values:IntegerValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="float" type="Values:FloatValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="boolean" type="Values:BooleanValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="verdicttype" type="Values:VerdictValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="bitstring" type="Values:BitstringValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="hexstring" type="Values:HexstringValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="octetstring" type="Values:OctetstringValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="charstring" type="Values:CharstringValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="universal_charstring" type="Values:UniversalCharstringValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="record" type="Values:RecordValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="record_of" type="Values:RecordOfValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="array" type="Values:ArrayValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="set" type="Values:SetValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="set_of" type="Values:SetOfValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="enumerated" type="Values:EnumeratedValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="union" type="Values:UnionValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="anytype" type="Values:AnytypeValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="address" type="Values:AddressValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="component" type="Values:ComponentValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="port" type="Values:PortValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="default" type="Values:DefaultValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="timer" type="Values:TimerValue" minOccurs="1"
maxOccurs="unbounded" />
 </xsd:choice>
</xsd:complexType>

<xsd:complexType name="ValueRange">
 <xsd:sequence>
  <xsd:element name="lower" type="Templates:RangeBoundary" />
  <xsd:element name="upper" type="Templates:RangeBoundary" />
 </xsd:sequence>
</xsd:complexType>

<xsd:complexType name="RangeBoundary">
 <xsd:choice>
  <xsd:sequence>
   <xsd:choice>
    <xsd:element name="integer" type="Values:IntegerValue" />
    <xsd:element name="float" type="Values:FloatValue" />
    <xsd:element name="charstring" type="Values:CharstringValue" />
    <xsd:element name="universal_charstring" type="Values:UniversalCharstringValue" />
   </xsd:choice>
   <xsd:element name="exclusive" type="SimpleTypes:TEmpty" minOccurs="0"/>
  </xsd:sequence>
  <xsd:element name="infinity" type="SimpleTypes:TEmpty" />
 </xsd:choice>
</xsd:complexType>

Revision 19-10-2016 13:18 by Tomas Urban
Description The XML mapping of TCI matching symbol type doesn't match the specification of the abstract data type defined in 7.2.2.3. At the moment the XSD type is defined as follows:

<xsd:complexType name="MatchingSymbol">
 <xsd:simpleContent>
  <xsd:extension base="SimpleTypes:TString">
   <xsd:attributeGroup ref="Values:ValueAtts"/>
  </xsd:extension>
  </xsd:simpleContent>
</xsd:complexType>

It is not explained what the string should contain. Attributes are superfluous as they are present at the wrapping value level.

Correct mapping should be a choice of options defined in 7.2.2.3. Each option should contain all data fields specified for the data type:

<xsd:complexType name="MatchingSymbol">
  <xsd:choice>
    <xsd:element name="any" type="SimpleTypes:TEmpty"/>
    <xsd:element name="anyoromit" type="SimpleTypes:TEmpty"/>
    <xsd:element name="omit" type="SimpleTypes:TEmpty"/>
    <xsd:element name="template_list" type="Templates:MatchingList"/>
    <xsd:element name="subset" type="Templates:MatchingList"/>
    <xsd:element name="superset" type="Templates:MatchingList"/>
    <xsd:element name="range" type="Templates:ValueRange"/>
    <xsd:element name="pattern" type="SimpleTypes:TString"/>
    <xsd:element name="dec_match" type="Templates:MatchDecodedContent"/>
   </xsd:choice>
</xsd:complexType>

<xsd:complexType name="TEmpty" />

<xsd:complexType name="MatchingList">
 <xsd:choice>
  <xsd:element name="integer" type="Values:IntegerValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="float" type="Values:FloatValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="boolean" type="Values:BooleanValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="verdicttype" type="Values:VerdictValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="bitstring" type="Values:BitstringValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="hexstring" type="Values:HexstringValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="octetstring" type="Values:OctetstringValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="charstring" type="Values:CharstringValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="universal_charstring" type="Values:UniversalCharstringValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="record" type="Values:RecordValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="record_of" type="Values:RecordOfValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="array" type="Values:ArrayValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="set" type="Values:SetValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="set_of" type="Values:SetOfValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="enumerated" type="Values:EnumeratedValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="union" type="Values:UnionValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="anytype" type="Values:AnytypeValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="address" type="Values:AddressValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="component" type="Values:ComponentValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="port" type="Values:PortValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="default" type="Values:DefaultValue" minOccurs="1"
maxOccurs="unbounded" />
  <xsd:element name="timer" type="Values:TimerValue" minOccurs="1"
maxOccurs="unbounded" />
 </xsd:choice>
</xsd:complexType>

<xsd:complexType name="ValueRange">
 <xsd:sequence>
  <xsd:element name="lower" type="Templates:RangeBoundary" />
  <xsd:element name="upper" type="Templates:RangeBoundary" />
 </xsd:sequence>
</xsd:complexType>

<xsd:complexType name="RangeBoundary">
 <xsd:choice>
  <xsd:sequence>
   <xsd:choice>
    <xsd:element name="integer" type="Values:IntegerValue" />
    <xsd:element name="float" type="Values:FloatValue" />
    <xsd:element name="charstring" type="Values:CharstringValue" />
    <xsd:element name="universal_charstring" type="Values:UniversalCharstringValue" />
   </xsd:choice>
   <xsd:element name="exclusive" type="SimpleTypes:TEmpty" minOccurs="0"/>
  </xsd:sequence>
  <xsd:element name="infinity" type="SimpleTypes:TEmpty" />
 </xsd:choice>
</xsd:complexType>



MantisBT 1.2.14 [^]
Copyright © 2000 - 2024 MantisBT Team
Powered by Mantis Bugtracker