| <?xml version="1.0" encoding="ISO-8859-1" ?> |
| <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> |
| |
| <!-- ====================== --> |
| <!-- AUTHOR: Charles Shaw --> |
| <!-- ====================== --> |
| |
| <!-- This is included only once as the first element in TestScript --> |
| <xs:element name="Config"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element name="ScriptName" type="xs:string"/> |
| <xs:element name="Environment" type="xs:string"/> |
| <xs:element name="TestEnvironmentVersion" type="xs:string"/> |
| <xs:element name="UserName" type="xs:string"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| |
| <!-- This is included only once as the last element in TestScript --> |
| <xs:element name="ScriptResult"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element name="ElapsedTime" type="xs:integer"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| |
| <!-- Location is used in multiple elements --> |
| <xs:element name="Location"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element name="Source" type="xs:string"/> |
| <xs:element name="Line" type="xs:integer"/> |
| <xs:element name="Time" type="xs:integer"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| |
| <xs:element name="Debug"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element ref="Location"/> |
| <xs:element name="Message" type="xs:string"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| |
| <xs:element name="Support"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element ref="Location"/> |
| <xs:element name="Message" type="xs:string"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| |
| <xs:element name="Severe"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element ref="Location"/> |
| <xs:element name="Message" type="xs:string"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| |
| <xs:element name="Warning"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element ref="Location"/> |
| <xs:element name="Message" type="xs:string"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| |
| <xs:element name="Attention"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element ref="Location"/> |
| <xs:element name="Message" type="xs:string"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| |
| <!-- CheckPoint and CheckGroup are both used by TestPoint --> |
| <xs:element name="CheckPoint"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element name="TestPointName" type="xs:string"/> |
| <xs:element name="Expected" type="xs:string"/> |
| <xs:element name="Actual" type="xs:string"/> |
| <xs:element name="Result" type="xs:string"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| |
| <!-- Used to build permutations or the elements in the group --> |
| <xs:group name="Checks"> |
| <xs:choice> |
| <xs:element ref="CheckPoint" minOccurs="0" maxOccurs="unbounded"/> |
| <xs:element ref="CheckGroup" minOccurs="0" maxOccurs="unbounded"/> |
| </xs:choice> |
| </xs:group> |
| |
| <xs:element name="CheckGroup"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element name="GroupName"/> |
| <xs:element name="Result"/> |
| <xs:group ref="Checks" maxOccurs="unbounded"/> |
| </xs:sequence> |
| <xs:attribute name="Mode" type="xs:string" use="required"/> |
| </xs:complexType> |
| </xs:element> |
| |
| <xs:element name="TestPoint"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element name="Number" type="xs:integer"/> |
| <xs:element name="Result" type="xs:string"/> |
| <xs:element ref="Location"/> |
| <xs:group ref="Checks" minOccurs="0" maxOccurs="1"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| |
| <!-- Used to build permutations or the elements in the group --> |
| <xs:group name="Messages"> |
| <xs:choice> |
| <xs:element ref="Trace" minOccurs="0" maxOccurs="unbounded"/> |
| <xs:element ref="Debug" minOccurs="0" maxOccurs="unbounded"/> |
| <xs:element ref="TestPoint" minOccurs="0" maxOccurs="unbounded"/> |
| <xs:element ref="Support" minOccurs="0" maxOccurs="unbounded"/> |
| <xs:element ref="Severe" minOccurs="0" maxOccurs="unbounded"/> |
| <xs:element ref="Warning" minOccurs="0" maxOccurs="unbounded"/> |
| <xs:element ref="Attention" minOccurs="0" maxOccurs="unbounded"/> |
| </xs:choice> |
| </xs:group> |
| |
| <!-- Both Trace and TestCase can hold any element, any number of times --> |
| <!-- With the exception that only TestScript can hold a TestCase --> |
| <xs:element name="Trace"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element name="ObjectName" type="xs:string"/> |
| <xs:element name="MethodName" type="xs:string"/> |
| <xs:element name="MethodArgument" type="xs:string"/> |
| <xs:element ref="Location"/> |
| <xs:group ref="Messages" minOccurs="0" maxOccurs="unbounded"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| |
| |
| <xs:element name="Tracability"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element name="RequirementId" type="xs:string" minOccurs="0" maxOccurs="unbounded"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| |
| <xs:element name="TestCase"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element name="Number" type="xs:integer"/> |
| <xs:element ref="Tracability"/> |
| <xs:group ref="Messages" minOccurs="0" maxOccurs="unbounded"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| |
| <xs:element name="ScriptInit"> |
| <xs:complexType> |
| <xs:group ref="Messages" minOccurs="0" maxOccurs="unbounded"/> |
| </xs:complexType> |
| </xs:element> |
| |
| <!-- Base Element in the XML --> |
| <xs:element name="TestScript"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element ref="Config"/> |
| <xs:element ref="ScriptInit"/> |
| <xs:element ref="TestCase" maxOccurs="unbounded"/> |
| <xs:element ref="ScriptResult"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| |
| </xs:schema> |