<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="TestSpecification.xsd" elementFormDefault="qualified" targetNamespace="TestSpecification.xsd" version="0.6">
<xsd:complexType name="TestCasesType">
<xsd:sequence maxOccurs="unbounded" minOccurs="0">
<xsd:element name="TestCase" type="TestCaseType" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="TestSpecification">
<xsd:sequence maxOccurs="1" minOccurs="0" >
<xsd:element name="TestCases" type="TestCasesType" minOccurs="0">
<xsd:unique name="sn">
<xsd:selector xpath="." />
<xsd:field xpath="@TestCaseName" />
</xsd:unique>
</xsd:element>
<xsd:element name="Blocks" type="BlocksType" minOccurs="0">
<xsd:unique name="bn">
<xsd:selector xpath="." />
<xsd:field xpath="@BlockName" />
</xsd:unique>
</xsd:element>
<xsd:element name="Services" type="ServicesType" minOccurs="0">
<xsd:unique name="srv">
<xsd:selector xpath="." />
<xsd:field xpath="@ServiceName" />
</xsd:unique>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ServicesType">
<xsd:sequence maxOccurs="unbounded" minOccurs="0">
<xsd:element name="Service" type="ServiceType1" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ServiceType1">
<!-- can be in any order -->
<xsd:all>
<xsd:element name="ServiceName" type="xsd:string" />
<xsd:element name="Description" type="xsd:string" />
<xsd:element name="FolderPath" minOccurs="0" type="xsd:string" />
<xsd:element name="EndpointUrl" type="xsd:string" />
<xsd:element name="EndpointMethod" type="xsd:string" />
<xsd:element name="AuthMethod" type="ServiceAuthenticationMethod" default="Anonymous" />
<xsd:element name="Auth" minOccurs="0" type="xsd:string" />
<xsd:element name="Headers" minOccurs="0" type="xsd:string" />
<xsd:element name="InputParams" minOccurs="0" type="xsd:string" />
<xsd:element name="InputBody" minOccurs="0" type="xsd:string" />
<xsd:element name="InputContentType" minOccurs="0" type="ServiceRestContentType" />
<xsd:element name="OutputParams" minOccurs="0" type="xsd:string" />
<xsd:element name="OutputContentType" minOccurs="0" type="ServiceRestContentType" />
<xsd:element name="ResponseHeaders" minOccurs="0" type="xsd:string" />
</xsd:all>
</xsd:complexType>
<xsd:complexType name="BlocksType">
<xsd:sequence maxOccurs="unbounded" minOccurs="0">
<xsd:element name="Block" type="BlockType" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="BlockType">
<!-- can be in any order -->
<xsd:all>
<xsd:element name="BlockName" type="xsd:string" />
<xsd:element name="Description" type="xsd:string" />
<xsd:element name="FolderPath" minOccurs="0" type="xsd:string" />
<xsd:element name="Steps" type="BlockStepsType" />
<xsd:element name="MediaType" type="MediaTypeType" minOccurs="0"/>
</xsd:all>
</xsd:complexType>
<xsd:complexType name="BlockStepsType">
<xsd:all>
<xsd:element name="RingingStep" minOccurs="0" type="BlockRingingStep0Type" />
<xsd:element name="CallSteps" minOccurs="0" type="BlockCallStepsType" />
</xsd:all>
</xsd:complexType>
<xsd:complexType name="BlockRingingStep0Type">
<xsd:all>
<xsd:element name="ReplyAction" type ="ReplyActionType" minOccurs="0" default="NONE"/>
<xsd:element name="MinorThresholdTime" type="xsd:decimal" />
<xsd:element name="MajorThresholdTime" type="xsd:decimal" />
<xsd:element name="MinPauseTime" type="PauseLimitDecimal" />
<xsd:element name="MaxPauseTime" type="PauseLimitDecimal" />
<xsd:element name="ExpectTimeOut" type="xsd:integer" minOccurs="0" default="0"/>
</xsd:all>
</xsd:complexType>
<xsd:complexType name="BlockCallStepsType">
<xsd:sequence maxOccurs="unbounded" minOccurs="1">
<xsd:element name="Step" minOccurs="0" type="BlockStepType" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="BlockStepType">
<xsd:all>
<xsd:element name="StepNo" type="xsd:integer" />
<xsd:element name="Description" type="xsd:string" />
<xsd:element name="ExpectedText" type="xsd:string" minOccurs="0"/>
<xsd:element name="ExpectedExchangeType" minOccurs="0" type="SpeechDTMFType" default="Speech" />
<xsd:element name="ExpectedExchangeParameters" minOccurs="0" type="ExpectedExchangeParametersType" />
<xsd:element name="ReplyText" minOccurs="0" type="xsd:string" />
<xsd:element name="ReplyExchangeType" minOccurs="0" type="SpeechDTMFAudioType" default="Speech" />
<xsd:element name="MinorThresholdTime" type="xsd:decimal" />
<xsd:element name="MajorThresholdTime" type="xsd:decimal" />
<xsd:element name="MinPauseTime" type="PauseLimitDecimal" />
<xsd:element name="MaxPauseTime" type="PauseLimitDecimal" />
<xsd:element name="MinConfidenceLevel" type="MinConfLimitDecimal" minOccurs="0" default="0"/>
<xsd:element name="MajorConfidenceLevel" type="MinConfLimitDecimal" minOccurs="0" default="0"/>
<xsd:element name="MinorConfidenceLevel" type="MinConfLimitDecimal" minOccurs="0" default="0"/>
<xsd:element name="PostSpeechSilenceTimeout" type="PSSTLimitDecimal" minOccurs="0" default="0"/>
<xsd:element name="BargeIn" minOccurs="0" default="0" type="PauseLimitDecimal" />
<xsd:element name="IsOptional" type="xsd:boolean" minOccurs="0"/>
<xsd:element name="ExpectTimeOut" type="xsd:integer" minOccurs="0" default="0" />
<xsd:element name="ReplyTimeOut" type="xsd:integer" minOccurs="0" default="0"/>
<xsd:element name="Mobile" minOccurs="0" type="xsd:string" />
<xsd:element name="ServicePath" minOccurs="0" type="xsd:string" />
</xsd:all>
</xsd:complexType>
<xsd:element name="TestSpecification" type="TestSpecification">
</xsd:element>
<xsd:complexType name="TestCaseType">
<!-- can be in any order -->
<xsd:all>
<xsd:element name="TestCaseName" type="xsd:string" />
<xsd:element name="FolderPath" minOccurs="0" type="xsd:string" />
<xsd:element name="Description" minOccurs="0" type="xsd:string" />
<xsd:element name="PhoneNo" type="xsd:string" minOccurs="0"/>
<xsd:element name="PhoneNoLocal" type="xsd:boolean" minOccurs="0"/>
<xsd:element name="Mobile" minOccurs="0" type="xsd:string" />
<xsd:element name="MobileTo" minOccurs="0" type="xsd:string" />
<xsd:element name="Notes" minOccurs="0" type="xsd:string" />
<xsd:element name="AlertMsg" minOccurs="0" type="xsd:string" />
<xsd:element name="AlertFrequency" minOccurs="0" type="AlertFrequency" default="Once"/>
<xsd:element name="PreConnectAudio" type="xsd:string" maxOccurs="1" minOccurs="0" />
<xsd:element name="MinorThresholdCriticalCount" type="ThresholdLimitInteger" />
<xsd:element name="MajorThresholdCriticalCount" type="ThresholdLimitInteger" />
<xsd:element name="DataDrivenLibrary" type="DataDrivenLibraryType" maxOccurs="1" minOccurs="0" />
<xsd:element name="DataInputs" type="DataInputsType" maxOccurs="1" minOccurs="0" />
<xsd:element name="DataDrivenEndPoint" type="DataDrivenEndPointType" minOccurs="0" />
<xsd:element name="Steps" type="TestCaseStepsType" />
<xsd:element name="Url" minOccurs="0" type="xsd:string" />
<xsd:element name="ProxyAddress" minOccurs="0" type="xsd:string" />
<xsd:element name="ProxyUserName" minOccurs="0" type="xsd:string" />
<xsd:element name="ProxyPassword" minOccurs="0" type="xsd:string" />
<xsd:element name="MessageResolver" minOccurs="0" type="MessageResolverType" />
<xsd:element name="CustomFunctions" minOccurs="0" type="CustomFunctionsType" />
<xsd:element name="Attributes" type="TestCaseAttributesType" minOccurs="0" maxOccurs="1" />
<xsd:element name="MediaType" type="MediaTypeType" minOccurs="0"/>
</xsd:all>
</xsd:complexType>
<xsd:complexType name="TestCaseStepsType">
<xsd:all>
<xsd:element name="RingingStep" minOccurs="0" type="TestCaseRingingStep0Type" />
<xsd:element name="CallSteps" minOccurs="0" type="TestCaseCallStepsType" />
</xsd:all>
</xsd:complexType>
<xsd:complexType name="TestCaseRingingStep0Type">
<xsd:all>
<xsd:element name="ReplyAction" type ="ReplyActionType" minOccurs="0" default="NONE"/>
<xsd:element name="MinorThresholdTime" type="xsd:decimal" />
<xsd:element name="MajorThresholdTime" type="xsd:decimal" />
<xsd:element name="MinPauseTime" type="PauseLimitDecimal" />
<xsd:element name="MaxPauseTime" type="PauseLimitDecimal" />
<xsd:element name="ExpectTimeOut" type="xsd:integer" minOccurs="0" default="0"/>
</xsd:all>
</xsd:complexType>
<xsd:complexType name="TestCaseCallStepsType">
<xsd:sequence maxOccurs="unbounded" minOccurs="1">
<xsd:element name="Step" minOccurs="0" type="TestCaseStepType" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="TestCaseStepType">
<xsd:all>
<xsd:element name="StepNo" type="xsd:integer" />
<xsd:element name="Description" type="xsd:string" />
<xsd:element name="ExpectedText" type="xsd:string" minOccurs="0" />
<xsd:element name="ExpectedExchangeType" minOccurs="0" type="SpeechDTMFType" default="Speech" />
<xsd:element name="ExpectedExchangeParameters" minOccurs="0" type="ExpectedExchangeParametersType" />
<xsd:element name="ReplyText" minOccurs="0" type="xsd:string" />
<xsd:element name="ReplyExchangeType" minOccurs="0" type="SpeechDTMFAudioType" default="Speech"/>
<xsd:element name="MinorThresholdTime" minOccurs="0" default="0" type="xsd:decimal" />
<xsd:element name="MajorThresholdTime" minOccurs="0" default="0" type="xsd:decimal" />
<xsd:element name="MinPauseTime" minOccurs="0" default="0" type="PauseLimitDecimal" />
<xsd:element name="MaxPauseTime" minOccurs="0" default="0" type="PauseLimitDecimal" />
<xsd:element name="MinConfidenceLevel" minOccurs="0" default="0" type="MinConfLimitDecimal" />
<xsd:element name="MajorConfidenceLevel" type="MinConfLimitDecimal" minOccurs="0" default="0"/>
<xsd:element name="MinorConfidenceLevel" type="MinConfLimitDecimal" minOccurs="0" default="0"/>
<xsd:element name="PostSpeechSilenceTimeout" default="0" minOccurs="0" type="PSSTLimitDecimal" />
<xsd:element name="BargeIn" minOccurs="0" default="0" type="PauseLimitDecimal" />
<xsd:element name="BlockPath" minOccurs="0" type="xsd:string" />
<xsd:element name="ServicePath" minOccurs="0" type="xsd:string" />
<xsd:element name="ExpectTimeOut" type="xsd:integer" minOccurs="0" default="0"/>
<xsd:element name="ReplyTimeOut" type="xsd:integer" minOccurs="0" default="0"/>
<xsd:element name="IsOptional" type="xsd:boolean" minOccurs="0"/>
<xsd:element name="Mobile" minOccurs="0" type="xsd:string" />
</xsd:all>
<!--xsd:attribute name="StepNo" type="xsd:integer" /-->
</xsd:complexType>
<xsd:complexType name="DataDrivenEndPointType">
<xsd:all>
<xsd:element name="Method" type="xsd:string" />
<xsd:element name="Url" type="xsd:string" />
<xsd:element name="Username" minOccurs="0" type="xsd:string" />
<xsd:element name="Password" minOccurs="0" type="xsd:string" />
<xsd:element name="Paginate" type="xsd:boolean" />
</xsd:all>
</xsd:complexType>
<!--
Speech/DTMF Type Definition
-->
<xsd:simpleType name="SpeechDTMFAudioType">
<xsd:restriction base="xsd:NMTOKEN">
<xsd:enumeration value="Speech" />
<xsd:enumeration value="DTMF" />
<xsd:enumeration value="AudioFile" />
<xsd:enumeration value="Function" />
<xsd:enumeration value="Message" />
<xsd:enumeration value="Notification" />
<xsd:enumeration value="ServiceData" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ReplyActionType">
<xsd:restriction base="xsd:NMTOKEN">
<xsd:enumeration value="NONE" />
<xsd:enumeration value="Answer" />
<xsd:enumeration value="DoNotAnswer" />
<xsd:enumeration value="Busy" />
<xsd:enumeration value="Reject" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="PauseLimitDecimal">
<xsd:restriction base="xsd:decimal">
<xsd:minInclusive value="0" />
<xsd:maxInclusive value="432000" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ThresholdLimitInteger">
<xsd:restriction base="xsd:integer">
<xsd:minInclusive value="1" />
<xsd:maxInclusive value="432000" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="MinConfLimitDecimal">
<xsd:restriction base="xsd:decimal">
<xsd:minInclusive value="0" />
<xsd:maxInclusive value="100" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="PSSTLimitDecimal">
<xsd:restriction base="xsd:decimal">
<xsd:minInclusive value="0" />
<xsd:maxInclusive value="250" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="SpeechDTMFType">
<xsd:restriction base="xsd:NMTOKEN">
<xsd:enumeration value="Speech" />
<xsd:enumeration value="MPSR" />
<xsd:enumeration value="PESQ" />
<xsd:enumeration value="POLQA" />
<xsd:enumeration value="Function" />
<xsd:enumeration value="Message" />
<xsd:enumeration value="Notification" />
<xsd:enumeration value="AgentData" />
<xsd:enumeration value="ServiceData" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="MediaTypeType">
<xsd:restriction base="xsd:NMTOKEN">
<xsd:enumeration value="Voice" />
<xsd:enumeration value="Chat" />
<xsd:enumeration value="Agent" />
<xsd:enumeration value="Sms" />
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="ParameterType">
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="name" type="xsd:string" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="ParameterListType">
<xsd:sequence maxOccurs="unbounded" minOccurs="0">
<xsd:element name="Parameter" type="ParameterType" minOccurs="1" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="DataDrivenLibraryType">
<xsd:sequence minOccurs="0" maxOccurs="1">
<xsd:element name="Folder" type="xsd:string" minOccurs="1" maxOccurs="1" />
<xsd:element name="Name" type="xsd:string" minOccurs="1" maxOccurs="1" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="DataInputsType">
<xsd:sequence minOccurs="0" maxOccurs="1">
<xsd:element name="ParameterList" type="ParameterListType" minOccurs="1" maxOccurs="1" />
<xsd:element name="Scenario" type="ParameterListType" maxOccurs="unbounded" minOccurs="1" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="TestCaseAttributesType">
<xsd:sequence minOccurs="0" maxOccurs="unbounded">
<xsd:element name="Attribute" minOccurs="1" type="TestCaseAttributeType" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="TestCaseAttributeType">
<xsd:all>
<xsd:element name="Key" type="xsd:string" minOccurs="1" maxOccurs="1" />
<xsd:element name="Value" type="xsd:string" minOccurs="1" maxOccurs="1" />
<xsd:element name="Type" type="xsd:string" minOccurs="0" maxOccurs="1" />
</xsd:all>
</xsd:complexType>
<xsd:complexType name="CustomFunctionsType">
<xsd:sequence minOccurs="0" maxOccurs="unbounded">
<xsd:element name="Function" minOccurs="1" type="FunctionType" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="FunctionType">
<xsd:all>
<xsd:element name="Name" type="xsd:string" minOccurs="1" maxOccurs="1" />
<xsd:element name="Body" type="xsd:string" minOccurs="1" maxOccurs="1" />
<xsd:element name="Sample" type="xsd:string" minOccurs="0" maxOccurs="1" />
<xsd:element name="ParameterCount" type="xsd:integer" minOccurs="0" maxOccurs="1" />
</xsd:all>
</xsd:complexType>
<xsd:complexType name="MessageResolverType">
<xsd:all>
<xsd:element name="Name" minOccurs="1" maxOccurs="1" nillable="false">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"/>
<xsd:maxLength value="100"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="Expect" type="xsd:string" minOccurs="1" maxOccurs="1" />
<xsd:element name="Reply" type="xsd:string" minOccurs="1" maxOccurs="1" />
</xsd:all>
</xsd:complexType>
<xsd:complexType name="ExpectedExchangeParametersType">
<xsd:sequence minOccurs="0" maxOccurs="1">
<xsd:element name="PolqaMode" minOccurs="0" type="PolqaModeType" maxOccurs="1" default="NarrowBand" />
<xsd:element name="PolqaHighAccuracyMode" minOccurs="0" type="xsd:boolean" maxOccurs="1" />
<xsd:element name="PolqaAutoAlignmentMode" minOccurs="0" type="xsd:boolean" maxOccurs="1" />
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="PolqaModeType">
<xsd:restriction base="xsd:NMTOKEN">
<xsd:enumeration value="NarrowBand" />
<xsd:enumeration value="SuperWideBand" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="AlertFrequency">
<xsd:restriction base="xsd:NMTOKEN">
<xsd:enumeration value="Once" />
<xsd:enumeration value="EveryTime" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ServiceAuthenticationMethod">
<xsd:restriction base="xsd:NMTOKEN">
<xsd:enumeration value="Anonymous" />
<xsd:enumeration value="BasicAuthentication" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ServiceRestContentType">
<xsd:restriction base="xsd:NMTOKEN">
<xsd:enumeration value="Json" />
<xsd:enumeration value="Xml" />
<xsd:enumeration value="UrlEncodedForm" />
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>
Comments
0 comments
Please sign in to leave a comment.