1 <?xml version="1.0" encoding="UTF-8"?> 2 <!-- 3 * Copyright (C) 2015 The Android Open Source Project 4 * 5 * Licensed under the Apache License, Version 2.0 (the "License"); 6 * you may not use this file except in compliance with the License. 7 * You may obtain a copy of the License at 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 --> 17 18 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 19 targetNamespace="http://compatibility.android.com/compatibility_result/1.15" 20 xmlns="http://compatibility.android.com/compatibility_result/1.15" 21 elementFormDefault="qualified"> 22 23 <xs:element name="Result"> 24 <xs:complexType> 25 <xs:sequence> 26 <xs:element name="Summary" type="summaryType"/> 27 <xs:element name="Module" type="moduleType" minOccurs="1" maxOccurs="unbounded"/> 28 </xs:sequence> 29 <xs:attribute name="start" type="xs:string"/> 30 <xs:attribute name="end" type="xs:string"/> 31 <xs:attribute name="plan" type="xs:string"/> 32 <xs:attribute name="suite_name" type="xs:string"/> 33 <xs:attribute name="suite_version" type="xs:string"/> 34 </xs:complexType> 35 </xs:element> 36 37 <xs:complexType name="summaryType"> 38 <xs:attribute name="failed" type="xs:integer"/> 39 <xs:attribute name="pass" type="xs:integer"/> 40 </xs:complexType> 41 42 <xs:complexType name="moduleType"> 43 <xs:sequence> 44 <xs:element name="Test" type="testType" minOccurs="1" maxOccurs="unbounded" /> 45 </xs:sequence> 46 <xs:attribute name="name" type="xs:string" use="required"/> 47 <xs:attribute name="abi" type="xs:string"/> 48 </xs:complexType> 49 50 <xs:simpleType name="unitType"> 51 <xs:restriction base="xs:string"> 52 <xs:enumeration value="none"/> 53 <xs:enumeration value="ms"/> 54 <xs:enumeration value="fps"/> 55 <xs:enumeration value="ops"/> 56 <xs:enumeration value="kbps"/> 57 <xs:enumeration value="mbps"/> 58 <xs:enumeration value="byte"/> 59 <xs:enumeration value="count"/> 60 <xs:enumeration value="score"/> 61 </xs:restriction> 62 </xs:simpleType> 63 64 <xs:simpleType name="scoreTypeType"> 65 <xs:restriction base="xs:string"> 66 <xs:enumeration value="higher-better"/> 67 <xs:enumeration value="lower-better"/> 68 <xs:enumeration value="neutral"/> 69 <xs:enumeration value="warning"/> 70 </xs:restriction> 71 </xs:simpleType> 72 73 <xs:complexType name="testType"> 74 <xs:sequence> 75 <xs:element name="Failure" minOccurs="0" maxOccurs="1"> 76 <xs:complexType> 77 <xs:sequence> 78 <xs:element name="StackTrace" type="xs:string" minOccurs="0" maxOccurs="1"/> 79 </xs:sequence> 80 <xs:attribute name="message" type="xs:string"/> 81 </xs:complexType> 82 </xs:element> 83 <xs:element name="Summary" minOccurs="0" maxOccurs="1"> 84 <xs:complexType> 85 <xs:simpleContent> 86 <xs:extension base="xs:decimal"> 87 <xs:attribute name="message" type="xs:string" use="required" /> 88 <xs:attribute name="scoreType" type="scoreTypeType" use="required" /> 89 <xs:attribute name="unit" type="unitType" use="required" /> 90 <xs:attribute name="target" type="xs:decimal" /> 91 </xs:extension> 92 </xs:simpleContent> 93 </xs:complexType> 94 </xs:element> 95 <xs:element name="Details" minOccurs="0" maxOccurs="1"> 96 <xs:complexType> 97 <xs:sequence> 98 <xs:element name="ValueArray" minOccurs="0" maxOccurs="unbounded"> 99 <xs:complexType> 100 <xs:sequence> 101 <xs:element name="Value" type="xs:decimal" minOccurs="0" maxOccurs="unbounded" /> 102 </xs:sequence> 103 <xs:attribute name="source" type="xs:string" use="required" /> 104 <xs:attribute name="message" type="xs:string" use="required" /> 105 <xs:attribute name="scoreType" type="scoreTypeType" use="required" /> 106 <xs:attribute name="unit" type="unitType" use="required" /> 107 </xs:complexType> 108 </xs:element> 109 </xs:sequence> 110 </xs:complexType> 111 </xs:element> 112 </xs:sequence> 113 <xs:attribute name="name" type="xs:string" use="required"/> 114 <xs:attribute name="result" type="resultType" use="required"/> 115 <xs:attribute name="start" type="xs:string"/> 116 <xs:attribute name="end" type="xs:string"/> 117 </xs:complexType> 118 119 <xs:simpleType name="resultType"> 120 <xs:restriction base="xs:string"> 121 <xs:enumeration value="pass"/> 122 <xs:enumeration value="fail"/> 123 </xs:restriction> 124 </xs:simpleType> 125 </xs:schema> 126