-- XSD schema extracted from ITU-T Z.166 (03/2011)

<?xml version="1.0" encoding="UTF-8"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://uri.etsi.org/ttcn3/tci/Templates_v4_2_1.xsd" xmlns:Templates="http://uri.etsi.org/ttcn3/tci/Templates_v4_2_1.xsd" xmlns:Values="http://uri.etsi.org/ttcn3/tci/Values_v4_2_1.xsd" xmlns:Types="http://uri.etsi.org/ttcn3/tci/Types_v4_2_1.xsd" xmlns:SimpleTypes="http://uri.etsi.org/ttcn3/tci/SimpleTypes_v4_2_1.xsd" elementFormDefault="qualified"> <xsd:import namespace="http://uri.etsi.org/ttcn3/tci/Values_v4_2_1.xsd" schemaLocation="Values_v4_2_1.xsd"/> <xsd:import namespace="http://uri.etsi.org/ttcn3/tci/Types_v4_2_1.xsd" schemaLocation="Types_v4_2_1.xsd"/> <xsd:import namespace="http://uri.etsi.org/ttcn3/tci/SimpleTypes_v4_2_1.xsd" schemaLocation="SimpleTypes_v4_2_1.xsd"/> <xsd:complexType name="TciValueTemplate"> <xsd:complexContent mixed="true"> <xsd:extension base="Values:Value"> <xsd:choice> <xsd:element name="integer" type="Templates:IntegerTemplate"/> <xsd:element name="float" type="Templates:FloatTemplate"/> <xsd:element name="boolean" type="Templates:BooleanTemplate"/> <xsd:element name="verdicttype" type="Templates:VerdictTemplate"/> <xsd:element name="bitstring" type="Templates:BitstringTemplate"/> <xsd:element name="hexstring" type="Templates:HexstringTemplate"/> <xsd:element name="octetstring" type="Templates:OctetstringTemplate"/> <xsd:element name="charstring" type="Templates:CharstringTemplate"/> <xsd:element name="universal_charstring" type="Templates:UniversalCharstringTemplate"/> <xsd:element name="record" type="Templates:RecordTemplate"/> <xsd:element name="record_of" type="Templates:RecordOfTemplate"/> <xsd:element name="array" type="Values:ArrayValue"/> <xsd:element name="set" type="Templates:SetTemplate"/> <xsd:element name="set_of" type="Templates:SetOfTemplate"/> <xsd:element name="enumerated" type="Templates:EnumeratedTemplate"/> <xsd:element name="union" type="Templates:UnionTemplate"/> <xsd:element name="anytype" type="Templates:AnytypeTemplate"/> <xsd:element name="address" type="Templates:AddressTemplate"/> <xsd:element name="omit" type="Templates:omit"/> <xsd:element name="any" type="Templates:any"/> <xsd:element name="anyoromit" type="Templates:anyoromit"/> <xsd:element name="templateDef" type="SimpleTypes:TString"/> </xsd:choice> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="omit"> <xsd:attributeGroup ref="Values:ValueAtts"/> </xsd:complexType> <xsd:complexType name="any"> <xsd:attributeGroup ref="Values:ValueAtts"/> </xsd:complexType> <xsd:complexType name="anyoromit"> <xsd:attributeGroup ref="Values:ValueAtts"/> </xsd:complexType> <xsd:complexType name="TciNonValueTemplate"> <xsd:sequence> <xsd:choice> <xsd:element name="any" type="Templates:any"/> <xsd:element name="all" type="Templates:all"/> <xsd:element name="templateDef" type="SimpleTypes:TString"/> <xsd:element name="null" type="Templates:null"/> </xsd:choice> </xsd:sequence> </xsd:complexType> <xsd:complexType name="all"> <xsd:attributeGroup ref="Values:ValueAtts"/> </xsd:complexType> <xsd:complexType name="null"> <xsd:attributeGroup ref="Values:ValueAtts"/> </xsd:complexType> <xsd:complexType name="TciValueDifference"> <xsd:sequence> <xsd:element name="val" type="SimpleTypes:xpath"/> <xsd:element name="tmpl" type="SimpleTypes:xpath"/> </xsd:sequence> <xsd:attributeGroup ref="Values:ValueAtts"/> <xsd:attribute name="desc" type="SimpleTypes:TString" use="optional"/> </xsd:complexType> <xsd:complexType name="TciValueDifferenceList"> <xsd:sequence> <xsd:element name="diff" type="Templates:TciValueDifference" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="IntegerTemplate"> <xsd:choice> <xsd:element name="value" type="SimpleTypes:TString"/> <xsd:element name="templateDef" type="SimpleTypes:TString"/> <xsd:element name="omit" type="Templates:omit"/> <xsd:element name="any" type="Templates:any"/> <xsd:element name="anyoromit" type="Templates:anyoromit"/> <xsd:element name="null" type="Templates:null"/> </xsd:choice> <xsd:attributeGroup ref="Values:ValueAtts"/> </xsd:complexType> <xsd:complexType name="FloatTemplate"> <xsd:choice> <xsd:element name="value" type="SimpleTypes:TString"/> <xsd:element name="templateDef" type="SimpleTypes:TString"/> <xsd:element name="omit" type="Templates:omit"/> <xsd:element name="any" type="Templates:any"/> <xsd:element name="anyoromit" type="Templates:anyoromit"/> <xsd:element name="null" type="Templates:null"/> </xsd:choice> <xsd:attributeGroup ref="Values:ValueAtts"/> </xsd:complexType> <xsd:complexType name="BooleanTemplate"> <xsd:choice> <xsd:element name="value" type="SimpleTypes:TString"/> <xsd:element name="templateDef" type="SimpleTypes:TString"/> <xsd:element name="omit" type="Templates:omit"/> <xsd:element name="any" type="Templates:any"/> <xsd:element name="anyoromit" type="Templates:anyoromit"/> <xsd:element name="null" type="Templates:null"/> </xsd:choice> <xsd:attributeGroup ref="Values:ValueAtts"/> </xsd:complexType> <xsd:complexType name="BitstringTemplate"> <xsd:choice> <xsd:element name="value" type="SimpleTypes:TString"/> <xsd:element name="templateDef" type="SimpleTypes:TString"/> <xsd:element name="omit" type="Templates:omit"/> <xsd:element name="any" type="Templates:any"/> <xsd:element name="anyoromit" type="Templates:anyoromit"/> <xsd:element name="null" type="Templates:null"/> </xsd:choice> <xsd:attributeGroup ref="Values:ValueAtts"/> </xsd:complexType> <xsd:complexType name="HexstringTemplate"> <xsd:choice> <xsd:element name="value" type="SimpleTypes:TString"/> <xsd:element name="templateDef" type="SimpleTypes:TString"/> <xsd:element name="omit" type="Templates:omit"/> <xsd:element name="any" type="Templates:any"/> <xsd:element name="anyoromit" type="Templates:anyoromit"/> <xsd:element name="null" type="Templates:null"/> </xsd:choice> <xsd:attributeGroup ref="Values:ValueAtts"/> </xsd:complexType> <xsd:complexType name="OctetstringTemplate"> <xsd:choice> <xsd:element name="value" type="SimpleTypes:TString"/> <xsd:element name="templateDef" type="SimpleTypes:TString"/> <xsd:element name="omit" type="Templates:omit"/> <xsd:element name="any" type="Templates:any"/> <xsd:element name="anyoromit" type="Templates:anyoromit"/> <xsd:element name="null" type="Templates:null"/> </xsd:choice> <xsd:attributeGroup ref="Values:ValueAtts"/> </xsd:complexType> <xsd:complexType name="CharstringTemplate"> <xsd:choice> <xsd:element name="value" type="SimpleTypes:TString"/> <xsd:element name="templateDef" type="SimpleTypes:TString"/> <xsd:element name="omit" type="Templates:omit"/> <xsd:element name="any" type="Templates:any"/> <xsd:element name="anyoromit" type="Templates:anyoromit"/> <xsd:element name="null" type="Templates:null"/> </xsd:choice> <xsd:attributeGroup ref="Values:ValueAtts"/> </xsd:complexType> <xsd:complexType name="UniversalCharstringTemplate"> <xsd:choice> <xsd:element name="value" type="SimpleTypes:TString"/> <xsd:element name="templateDef" type="SimpleTypes:TString"/> <xsd:element name="omit" type="Templates:omit"/> <xsd:element name="any" type="Templates:any"/> <xsd:element name="anyoromit" type="Templates:anyoromit"/> <xsd:element name="null" type="Templates:null"/> </xsd:choice> <xsd:attributeGroup ref="Values:ValueAtts"/> </xsd:complexType> <xsd:complexType name="VerdictTemplate"> <xsd:choice> <xsd:element name="value" type="SimpleTypes:TString"/> <xsd:element name="templateDef" type="SimpleTypes:TString"/> <xsd:element name="omit" type="Templates:omit"/> <xsd:element name="any" type="Templates:any"/> <xsd:element name="anyoromit" type="Templates:anyoromit"/> <xsd:element name="null" type="Templates:null"/> </xsd:choice> <xsd:attributeGroup ref="Values:ValueAtts"/> </xsd:complexType> <xsd:complexType name="RecordTemplate"> <xsd:complexContent> <xsd:extension base="Values:RecordValue"> <xsd:choice> <xsd:choice minOccurs="0"> <xsd:element name="integer" type="Templates:IntegerTemplate"/> <xsd:element name="float" type="Templates:FloatTemplate"/> <xsd:element name="boolean" type="Templates:BooleanTemplate"/> <xsd:element name="verdicttype" type="Templates:VerdictTemplate"/> <xsd:element name="bitstring" type="Templates:BitstringTemplate"/> <xsd:element name="hexstring" type="Templates:HexstringTemplate"/> <xsd:element name="octetstring" type="Templates:OctetstringTemplate"/> <xsd:element name="charstring" type="Templates:CharstringTemplate"/> <xsd:element name="universal_charstring" type="Templates:UniversalCharstringTemplate"/> <xsd:element name="record" type="Templates:RecordTemplate"/> <xsd:element name="record_of" type="Templates:RecordOfTemplate"/> <xsd:element name="array" type="Values:ArrayValue"/> <xsd:element name="set" type="Templates:SetTemplate"/> <xsd:element name="set_of" type="Templates:SetOfTemplate"/> <xsd:element name="enumerated" type="Templates:EnumeratedTemplate"/> <xsd:element name="union" type="Templates:UnionTemplate"/> <xsd:element name="anytype" type="Templates:AnytypeTemplate"/> <xsd:element name="address" type="Templates:AddressTemplate"/> </xsd:choice> <xsd:element name="omit" type="Templates:omit"/> <xsd:element name="any" type="Templates:any"/> <xsd:element name="anyoromit" type="Templates:anyoromit"/> <xsd:element name="templateDef" type="SimpleTypes:TString"/> <xsd:element name="null" type="Templates:null"/> </xsd:choice> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="RecordOfTemplate"> <xsd:complexContent> <xsd:extension base="Values:RecordOfValue"> <xsd:choice minOccurs="0" maxOccurs="unbounded"> <xsd:element name="integer" type="Templates:IntegerTemplate" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="float" type="Templates:FloatTemplate" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="boolean" type="Templates:BooleanTemplate" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="verdicttype" type="Templates:VerdictTemplate" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="bitstring" type="Templates:BitstringTemplate" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="hexstring" type="Templates:HexstringTemplate" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="octetstring" type="Templates:OctetstringTemplate" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="charstring" type="Templates:CharstringTemplate" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="universal_charstring" type="Templates:UniversalCharstringTemplate" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="record" type="Templates:RecordTemplate" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="record_of" type="Templates:RecordOfTemplate" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="array" type="Templates:ArrayTemplate" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="set" type="Templates:SetTemplate" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="set_of" type="Templates:SetOfTemplate" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="enumerated" type="Templates:EnumeratedTemplate" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="union" type="Templates:UnionTemplate" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="anytype" type="Templates:AnytypeTemplate" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="address" type="Templates:AddressTemplate" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="omit" type="Templates:omit"/> <xsd:element name="any" type="Templates:any"/> <xsd:element name="anyoromit" type="Templates:anyoromit"/> <xsd:element name="templateDef" type="SimpleTypes:TString"/> <xsd:element name="null" type="Templates:null"/> </xsd:choice> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="SetTemplate"> <xsd:complexContent> <xsd:extension base="Values:SetValue"> <xsd:choice> <xsd:choice minOccurs="0"> <xsd:element name="integer" type="Templates:IntegerTemplate"/> <xsd:element name="float" type="Templates:FloatTemplate"/> <xsd:element name="boolean" type="Templates:BooleanTemplate"/> <xsd:element name="verdicttype" type="Templates:VerdictTemplate"/> <xsd:element name="bitstring" type="Templates:BitstringTemplate"/> <xsd:element name="hexstring" type="Templates:HexstringTemplate"/> <xsd:element name="octetstring" type="Templates:OctetstringTemplate"/> <xsd:element name="charstring" type="Templates:CharstringTemplate"/> <xsd:element name="universal_charstring" type="Templates:UniversalCharstringTemplate"/> <xsd:element name="record" type="Templates:RecordTemplate"/> <xsd:element name="record_of" type="Templates:RecordOfTemplate"/> <xsd:element name="array" type="Templates:ArrayTemplate"/> <xsd:element name="set" type="Templates:SetTemplate"/> <xsd:element name="set_of" type="Templates:SetOfTemplate"/> <xsd:element name="enumerated" type="Templates:EnumeratedTemplate"/> <xsd:element name="union" type="Templates:UnionTemplate"/> <xsd:element name="anytype" type="Templates:AnytypeTemplate"/> <xsd:element name="address" type="Templates:AddressTemplate"/> </xsd:choice> <xsd:element name="omit" type="Templates:omit"/> <xsd:element name="any" type="Templates:any"/> <xsd:element name="anyoromit" type="Templates:anyoromit"/> <xsd:element name="templateDef" type="SimpleTypes:TString"/> <xsd:element name="null" type="Templates:null"/> </xsd:choice> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="SetOfTemplate"> <xsd:complexContent> <xsd:extension base="Values:SetOfValue"> <xsd:choice minOccurs="0" maxOccurs="unbounded"> <xsd:element name="integer" type="Templates:IntegerTemplate" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="float" type="Templates:FloatTemplate" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="boolean" type="Templates:BooleanTemplate" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="verdicttype" type="Templates:VerdictTemplate" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="bitstring" type="Templates:BitstringTemplate" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="hexstring" type="Templates:HexstringTemplate" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="octetstring" type="Templates:OctetstringTemplate" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="charstring" type="Templates:CharstringTemplate" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="universal_charstring" type="Templates:UniversalCharstringTemplate" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="record" type="Templates:RecordTemplate" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="record_of" type="Templates:RecordOfTemplate" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="array" type="Templates:ArrayTemplate" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="set" type="Templates:SetTemplate" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="set_of" type="Templates:SetOfTemplate" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="enumerated" type="Templates:EnumeratedTemplate" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="union" type="Templates:UnionTemplate" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="anytype" type="Templates:AnytypeTemplate" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="address" type="Templates:AddressTemplate" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="omit" type="Templates:omit"/> <xsd:element name="any" type="Templates:any"/> <xsd:element name="anyoromit" type="Templates:anyoromit"/> <xsd:element name="templateDef" type="SimpleTypes:TString"/> <xsd:element name="null" type="Templates:null"/> </xsd:choice> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="EnumeratedTemplate"> <xsd:complexContent> <xsd:extension base="Values:EnumeratedValue"> <xsd:choice minOccurs="0"> <xsd:element name="value" type="SimpleTypes:TString"/> <xsd:element name="templateDef" type="SimpleTypes:TString"/> <xsd:element name="omit" type="Templates:omit"/> <xsd:element name="any" type="Templates:any"/> <xsd:element name="anyoromit" type="Templates:anyoromit"/> <xsd:element name="null" type="Templates:null"/> </xsd:choice> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="UnionTemplate"> <xsd:complexContent> <xsd:extension base="Values:UnionValue"> <xsd:choice minOccurs="0"> <xsd:element name="integer" type="Templates:IntegerTemplate"/> <xsd:element name="float" type="Templates:FloatTemplate"/> <xsd:element name="boolean" type="Templates:BooleanTemplate"/> <xsd:element name="verdicttype" type="Templates:VerdictTemplate"/> <xsd:element name="bitstring" type="Templates:BitstringTemplate"/> <xsd:element name="hexstring" type="Templates:HexstringTemplate"/> <xsd:element name="octetstring" type="Templates:OctetstringTemplate"/> <xsd:element name="charstring" type="Templates:CharstringTemplate"/> <xsd:element name="universal_charstring" type="Templates:UniversalCharstringTemplate"/> <xsd:element name="record" type="Templates:RecordTemplate"/> <xsd:element name="record_of" type="Templates:RecordOfTemplate"/> <xsd:element name="array" type="Templates:ArrayTemplate"/> <xsd:element name="set" type="Templates:SetTemplate"/> <xsd:element name="set_of" type="Templates:SetOfTemplate"/> <xsd:element name="enumerated" type="Templates:EnumeratedTemplate"/> <xsd:element name="union" type="Templates:UnionTemplate"/> <xsd:element name="anytype" type="Templates:AnytypeTemplate"/> <xsd:element name="address" type="Templates:AddressTemplate"/> <xsd:element name="omit" type="Templates:omit"/> <xsd:element name="any" type="Templates:any"/> <xsd:element name="anyoromit" type="Templates:anyoromit"/> <xsd:element name="templateDef" type="SimpleTypes:TString"/> <xsd:element name="null" type="Templates:null"/> </xsd:choice> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="AnytypeTemplate"> <xsd:complexContent> <xsd:extension base="Values:AnytypeValue"> <xsd:choice minOccurs="0"> <xsd:element name="integer" type="Templates:IntegerTemplate"/> <xsd:element name="float" type="Templates:FloatTemplate"/> <xsd:element name="boolean" type="Templates:BooleanTemplate"/> <xsd:element name="verdicttype" type="Templates:VerdictTemplate"/> <xsd:element name="bitstring" type="Templates:BitstringTemplate"/> <xsd:element name="hexstring" type="Templates:HexstringTemplate"/> <xsd:element name="octetstring" type="Templates:OctetstringTemplate"/> <xsd:element name="charstring" type="Templates:CharstringTemplate"/> <xsd:element name="universal_charstring" type="Templates:UniversalCharstringTemplate"/> <xsd:element name="record" type="Templates:RecordTemplate"/> <xsd:element name="record_of" type="Templates:RecordOfTemplate"/> <xsd:element name="array" type="Templates:ArrayTemplate"/> <xsd:element name="set" type="Templates:SetTemplate"/> <xsd:element name="set_of" type="Templates:SetOfTemplate"/> <xsd:element name="enumerated" type="Templates:EnumeratedTemplate"/> <xsd:element name="union" type="Templates:UnionTemplate"/> <xsd:element name="address" type="Templates:AddressTemplate"/> <xsd:element name="omit" type="Templates:omit"/> <xsd:element name="any" type="Templates:any"/> <xsd:element name="anyoromit" type="Templates:anyoromit"/> <xsd:element name="templateDef" type="SimpleTypes:TString"/> <xsd:element name="null" type="Templates:null"/> </xsd:choice> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="AddressTemplate"> <xsd:complexContent> <xsd:extension base="Values:AnytypeValue"> <xsd:choice minOccurs="0"> <xsd:element name="integer" type="Templates:IntegerTemplate"/> <xsd:element name="float" type="Templates:FloatTemplate"/> <xsd:element name="boolean" type="Templates:BooleanTemplate"/> <xsd:element name="bitstring" type="Templates:BitstringTemplate"/> <xsd:element name="hexstring" type="Templates:HexstringTemplate"/> <xsd:element name="octetstring" type="Templates:OctetstringTemplate"/> <xsd:element name="charstring" type="Templates:CharstringTemplate"/> <xsd:element name="universal_charstring" type="Templates:UniversalCharstringTemplate"/> <xsd:element name="record" type="Templates:RecordTemplate"/> <xsd:element name="record_of" type="Templates:RecordOfTemplate"/> <xsd:element name="array" type="Templates:ArrayTemplate"/> <xsd:element name="set" type="Templates:SetTemplate"/> <xsd:element name="set_of" type="Templates:SetOfTemplate"/> <xsd:element name="enumerated" type="Templates:EnumeratedTemplate"/> <xsd:element name="union" type="Templates:UnionTemplate"/> <xsd:element name="anytype" type="Templates:AnytypeTemplate"/> <xsd:element name="omit" type="Templates:omit"/> <xsd:element name="any" type="Templates:any"/> <xsd:element name="anyoromit" type="Templates:anyoromit"/> <xsd:element name="templateDef" type="SimpleTypes:TString"/> <xsd:element name="null" type="Templates:null"/> </xsd:choice> </xsd:extension> </xsd:complexContent> </xsd:complexType> </xsd:schema>