-- XML schema extracted from ITU-T Z.145 (03/2006)
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://uri.etsi.org/ttcn-3/3.0.0/tci/Types"
xmlns:Types="http://uri.etsi.org/ttcn-3/3.0.0/tci/Types"
xmlns:SimpleTypes="http://uri.etsi.org/ttcn-3/3.0.0/tci/SimpleTypes"
xmlns:Values="http://uri.etsi.org/ttcn-3/3.0.0/tci/Values"
elementFormDefault="qualified">
<xsd:import namespace="http://uri.etsi.org/ttcn-3/3.0.0/tci/Values.xsd"
schemaLocation="Values.xsd"/>
<xsd:import namespace="http://uri.etsi.org/ttcn-3/3.0.0/tci/SimpleTypes.xsd"
schemaLocation="SimpleTypes.xsd"/>
<!-- Connection -->
<xsd:complexType name="TriPortIdType">
<xsd:sequence>
<xsd:element name="comp" type="Types:TriComponentIdType" minOccurs="1" maxOccurs="1"/>
<xsd:element name="port" type="Types:Port" minOccurs="1" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Port">
<xsd:sequence>
<xsd:element name="id" type="Types:Id" minOccurs="1" maxOccurs="1"/>
<xsd:element name="index" type="xsd:int" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="TriComponentIdType">
<xsd:sequence>
<xsd:choice>
<xsd:element name="null"/>
<xsd:element name="id" type="Types:Id" minOccurs="1" maxOccurs="1"/>
</xsd:choice>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="TriComponentIdListType">
<xsd:sequence>
<xsd:element name="comp" type="Types:TriComponentIdType" minOccurs="0"
maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<!-- Communication -->
<xsd:complexType name="TriMessageType">
<xsd:attribute name="val" type="xsd:hexBinary"/>
</xsd:complexType>
<xsd:complexType name="TriParameterType">
<xsd:sequence>
<xsd:element name="val" type="Values:Value" minOccurs="1" maxOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="name" type="SimpleTypes:TString"/>
<xsd:attribute name="mode" type="SimpleTypes:TciParameterPassingModeType"/>
</xsd:complexType>
<xsd:complexType name="TriParameterListType">
<xsd:sequence>
<xsd:element name="par" type="Types:TriParameterType" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="TriExceptionType">
<xsd:attribute name="val" type="SimpleTypes:TString"/>
</xsd:complexType>
<xsd:complexType name="TriSignatureIdType">
<xsd:attribute name="val" type="SimpleTypes:TString"/>
</xsd:complexType>
<xsd:complexType name="TriAddressType">
<xsd:attribute name="val" type="SimpleTypes:TString"/>
</xsd:complexType>
<xsd:complexType name="TriAddressListType">
<xsd:sequence>
<xsd:element name="addr" type="Types:TriAddressType" minOccurs="0"
maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<!-- Miscellaneous -->
<xsd:complexType name="TriTimerIdType">
<xsd:sequence>
<xsd:element name="id" type="Types:Id" minOccurs="1" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="TriTimerDurationType">
<xsd:attribute name="val" type="SimpleTypes:TriTimerDurationType"/>
</xsd:complexType>
<!-- Basic definitions -->
<xsd:complexType name="QualifiedName">
<xsd:attribute name="moduleName" type="SimpleTypes:TString" use="required"/>
<xsd:attribute name="baseName" type="SimpleTypes:TString" use="required"/>
</xsd:complexType>
<!-- general TCI abstract data types -->
<xsd:complexType name="TciBehaviourIdType">
<xsd:sequence>
<xsd:element name="name" type="Types:QualifiedName" minOccurs="1" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="TciTestCaseIdType">
<xsd:sequence>
<xsd:element name="name" type="Types:QualifiedName" minOccurs="1" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="TciParameterType">
<xsd:sequence>
<xsd:element name="val" type="Values:Value" minOccurs="1" maxOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="name" type="SimpleTypes:TString"/>
<xsd:attribute name="mode" type="SimpleTypes:TciParameterPassingModeType"/>
</xsd:complexType>
<xsd:complexType name="TciParameterListType">
<xsd:sequence>
<xsd:element name="par" type="Types:TciParameterType" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<!-- general identifier structure for test components, ports and timer -->
<xsd:complexType name="Id">
<xsd:sequence>
<xsd:element name="name" type="SimpleTypes:TString" minOccurs="1" maxOccurs="1"/>
<xsd:element name="id" type="SimpleTypes:TInteger" minOccurs="1" maxOccurs="1"/>
<xsd:element name="type" type="SimpleTypes:TString" minOccurs="1" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>