]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - org.argeo.slc.core/src/main/resources/org/argeo/slc/xml/slc.xsd
Improve XML and XSD for test results
[gpl/argeo-slc.git] / org.argeo.slc.core / src / main / resources / org / argeo / slc / xml / slc.xsd
index ed66df8d390db18ce71bfcae5094a46c50e51079..243fbd9c5f5eb5fabe7abd8558127f4806d3f038 100644 (file)
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"\r
-       xmlns:slc="http://argeo.org/projects/slc/schemas"\r
-       elementFormDefault="qualified"\r
-       targetNamespace="http://argeo.org/projects/slc/schemas">\r
-       <!-- TREE TEST RESULT -->\r
-       <xs:complexType name="TreeTestResultType">\r
-               <xs:all>\r
-                       <xs:element name="close-date" type="xs:dateTime" />\r
-                       <xs:element name="result-parts" minOccurs="0"\r
-                               type="slc:ResultPartsType" />\r
-               </xs:all>\r
-       </xs:complexType>\r
-       <xs:complexType name="ResultPartsType">\r
-               <xs:sequence>\r
-                       <xs:element name="result-part" type="slc:ResultPartType"\r
-                               maxOccurs="unbounded">\r
-                       </xs:element>\r
-               </xs:sequence>\r
-       </xs:complexType>\r
-       <xs:complexType name="ResultPartType">\r
-               <xs:all>\r
-                       <xs:element name="part-sub-list" type="slc:PartSubListType" />\r
-               </xs:all>\r
-               <xs:attribute name="path" type="xs:string" use="required" />\r
-       </xs:complexType>\r
-       <xs:complexType name="PartSubListType">\r
-               <xs:all>\r
-                       <xs:element name="slc-execution-uuid" type="xs:string" />\r
-                       <xs:element name="slc-execution-step-uuid" type="xs:string" />\r
-               </xs:all>\r
-               <xs:attribute name="path" type="xs:string" use="required" />\r
-       </xs:complexType>\r
-\r
-       <!-- SLC EXECUTION -->\r
-       <xs:element name="slc-execution-request">\r
-               <xs:complexType>\r
-                       <xs:all>\r
-                               <xs:element name="slc-execution"\r
-                                       type="slc:SlcExecutionType" />\r
-                       </xs:all>\r
-               </xs:complexType>\r
-       </xs:element>\r
-       <xs:element name="slc-execution-steps-request">\r
-               <xs:complexType>\r
-                       <xs:sequence>\r
-                               <xs:element name="steps"\r
-                                       type="slc:SlcExecutionStepsType" />\r
-                               <xs:element name="slc-execution-uuid" type="xs:string" />\r
-                       </xs:sequence>\r
-               </xs:complexType>\r
-       </xs:element>\r
-       <xs:complexType name="SlcExecutionType">\r
-               <xs:all>\r
-                       <xs:element name="status" type="xs:string" />\r
-                       <xs:element name="type" type="xs:string" />\r
-                       <xs:element name="host" type="xs:string" />\r
-                       <xs:element name="path" type="xs:string" />\r
-                       <xs:element name="steps" minOccurs="0"\r
-                               type="slc:SlcExecutionStepsType" />\r
-               </xs:all>\r
-               <xs:attribute name="uuid" type="xs:string" use="required" />\r
-       </xs:complexType>\r
-       <xs:complexType name="SlcExecutionStepType">\r
-               <xs:all>\r
-                       <xs:element name="type" type="xs:string" />\r
-                       <xs:element name="begin" type="xs:dateTime" />\r
-                       <xs:element name="log-lines" minOccurs="0">\r
-                               <xs:complexType>\r
-                                       <xs:sequence>\r
-                                               <xs:element name="log-line" type="xs:string"\r
-                                                       maxOccurs="unbounded" />\r
-                                       </xs:sequence>\r
-                               </xs:complexType>\r
-                       </xs:element>\r
-               </xs:all>\r
-               <xs:attribute name="uuid" type="xs:string" use="required" />\r
-       </xs:complexType>\r
-       <xs:complexType name="SlcExecutionStepsType">\r
-               <xs:sequence>\r
-                       <xs:element name="slc-execution-step"\r
-                               type="slc:SlcExecutionStepType" maxOccurs="unbounded">\r
-                       </xs:element>\r
-               </xs:sequence>\r
-       </xs:complexType>\r
-\r
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+       xmlns:slc="http://argeo.org/projects/slc/schemas"
+       elementFormDefault="qualified"
+       targetNamespace="http://argeo.org/projects/slc/schemas">
+       <!-- TREE TEST RESULT -->
+       <xs:complexType name="TreeTestResultType">
+               <xs:all>
+                       <xs:element name="close-date" type="xs:dateTime" />
+                       <xs:element name="result-parts" minOccurs="0"
+                               type="slc:ResultPartsType" />
+                       <xs:element name="elements" minOccurs="0"
+                               type="slc:ElementsType" />
+               </xs:all>
+       </xs:complexType>
+       <xs:complexType name="ResultPartsType">
+               <xs:sequence>
+                       <xs:element name="result-part" type="slc:ResultPartType"
+                               maxOccurs="unbounded">
+                       </xs:element>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="ResultPartType">
+               <xs:all>
+                       <xs:element name="part-sub-list" type="slc:PartSubListType" />
+               </xs:all>
+               <xs:attribute name="path" type="xs:string" use="required" />
+       </xs:complexType>
+       <xs:complexType name="PartSubListType">
+               <xs:all>
+                       <xs:element name="slc-execution-uuid" type="xs:string" />
+                       <xs:element name="slc-execution-step-uuid" type="xs:string" />
+                       <xs:element name="parts" minOccurs="0" type="slc:PartsType" />
+               </xs:all>
+               <xs:attribute name="path" type="xs:string" use="required" />
+       </xs:complexType>
+       <xs:complexType name="PartsType">
+               <xs:sequence>
+                       <xs:element name="simple-result-part"
+                               type="slc:SimpleResultPartType" maxOccurs="unbounded">
+                       </xs:element>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="SimpleResultPartType">
+               <xs:all>
+                       <xs:element name="status">
+                               <xs:simpleType>
+                                       <xs:restriction base="xs:string">
+                                               <xs:enumeration value="PASSED" />
+                                               <xs:enumeration value="FAILED" />
+                                               <xs:enumeration value="ERROR" />
+                                       </xs:restriction>
+                               </xs:simpleType>
+                       </xs:element>
+                       <xs:element name="message" type="xs:string" />
+                       <xs:element name="exception" minOccurs="0"
+                               type="slc:ExceptionType" />
+               </xs:all>
+       </xs:complexType>
+       <xs:complexType name="ExceptionType">
+               <xs:all>
+                       <xs:element name="localized-message" type="xs:string" />
+                       <xs:element name="message" type="xs:string" />
+                       <xs:element name="exception" minOccurs="0"
+                               type="slc:StackTraceType" />
+               </xs:all>
+       </xs:complexType>
+       <xs:complexType name="StackTraceType">
+               <xs:sequence>
+                       <xs:element name="stack-trace-element"
+                               type="slc:StackTraceElementType" maxOccurs="unbounded">
+                       </xs:element>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="StackTraceElementType">
+               <xs:attribute name="delaring-class" type="xs:string"
+                       use="required" />
+               <xs:attribute name="method-name" type="xs:string"
+                       use="required" />
+               <xs:attribute name="file-name" type="xs:string" use="required" />
+               <xs:attribute name="line-number" type="xs:integer"
+                       use="required" />
+       </xs:complexType>
+       <xs:complexType name="ElementsType">
+               <xs:sequence>
+                       <xs:element name="element" type="slc:ElementType"
+                               maxOccurs="unbounded">
+                       </xs:element>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="ElementType">
+               <xs:all>
+                       <xs:element name="simpleSElement" type="slc:SimpleSElementType" />
+               </xs:all>
+               <xs:attribute name="path" type="xs:string" use="required" />
+       </xs:complexType>
+       <xs:complexType name="SimpleSElementType">
+               <xs:all>
+                       <xs:element name="label" type="xs:string" />
+                       <xs:element name="tags" type="slc:TagsType" minOccurs="0"/>
+               </xs:all>
+       </xs:complexType>
+       <xs:complexType name="TagsType">
+               <xs:sequence>
+                       <xs:element name="tag" type="slc:TagType"
+                               maxOccurs="unbounded">
+                       </xs:element>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="TagType">
+               <xs:all>
+                       <xs:element name="value" type="xs:string" />
+               </xs:all>
+               <xs:attribute name="name" type="xs:string" use="required" />
+       </xs:complexType>
+
+       <!-- SLC EXECUTION -->
+       <xs:element name="slc-execution-request">
+               <xs:complexType>
+                       <xs:all>
+                               <xs:element name="slc-execution"
+                                       type="slc:SlcExecutionType" />
+                       </xs:all>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="slc-execution-steps-request">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="steps"
+                                       type="slc:SlcExecutionStepsType" />
+                               <xs:element name="slc-execution-uuid" type="xs:string" />
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
+       <xs:complexType name="SlcExecutionType">
+               <xs:all>
+                       <xs:element name="status" type="xs:string" />
+                       <xs:element name="type" type="xs:string" />
+                       <xs:element name="host" type="xs:string" />
+                       <xs:element name="path" type="xs:string" />
+                       <xs:element name="steps" minOccurs="0"
+                               type="slc:SlcExecutionStepsType" />
+               </xs:all>
+               <xs:attribute name="uuid" type="xs:string" use="required" />
+       </xs:complexType>
+       <xs:complexType name="SlcExecutionStepType">
+               <xs:all>
+                       <xs:element name="type" type="xs:string" />
+                       <xs:element name="begin" type="xs:dateTime" />
+                       <xs:element name="log-lines" minOccurs="0">
+                               <xs:complexType>
+                                       <xs:sequence>
+                                               <xs:element name="log-line" type="xs:string"
+                                                       maxOccurs="unbounded" />
+                                       </xs:sequence>
+                               </xs:complexType>
+                       </xs:element>
+               </xs:all>
+               <xs:attribute name="uuid" type="xs:string" use="required" />
+       </xs:complexType>
+       <xs:complexType name="SlcExecutionStepsType">
+               <xs:sequence>
+                       <xs:element name="slc-execution-step"
+                               type="slc:SlcExecutionStepType" maxOccurs="unbounded">
+                       </xs:element>
+               </xs:sequence>
+       </xs:complexType>
+
 </xs:schema>
\ No newline at end of file