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="not_executed" type="xs:integer"/> 40 <xs:attribute name="pass" type="xs:integer"/> 41 </xs:complexType> 42 43 <xs:complexType name="moduleType"> 44 <xs:sequence> 45 <xs:element name="Test" type="testType" minOccurs="1" maxOccurs="unbounded" /> 46 </xs:sequence> 47 <xs:attribute name="name" type="xs:string" use="required"/> 48 <xs:attribute name="abi" type="xs:string"/> 49 </xs:complexType> 50 51 <xs:simpleType name="unitType"> 52 <xs:restriction base="xs:string"> 53 <xs:enumeration value="none"/> 54 <xs:enumeration value="ms"/> 55 <xs:enumeration value="fps"/> 56 <xs:enumeration value="ops"/> 57 <xs:enumeration value="kbps"/> 58 <xs:enumeration value="mbps"/> 59 <xs:enumeration value="byte"/> 60 <xs:enumeration value="count"/> 61 <xs:enumeration value="score"/> 62 </xs:restriction> 63 </xs:simpleType> 64 65 <xs:simpleType name="scoreTypeType"> 66 <xs:restriction base="xs:string"> 67 <xs:enumeration value="higher-better"/> 68 <xs:enumeration value="lower-better"/> 69 <xs:enumeration value="neutral"/> 70 <xs:enumeration value="warning"/> 71 </xs:restriction> 72 </xs:simpleType> 73 74 <xs:complexType name="testType"> 75 <xs:sequence> 76 <xs:element name="Failure" minOccurs="0" maxOccurs="1"> 77 <xs:complexType> 78 <xs:sequence> 79 <xs:element name="StackTrace" type="xs:string" minOccurs="0" maxOccurs="1"/> 80 </xs:sequence> 81 <xs:attribute name="message" type="xs:string"/> 82 </xs:complexType> 83 </xs:element> 84 <xs:element name="Summary" minOccurs="0" maxOccurs="1"> 85 <xs:complexType> 86 <xs:simpleContent> 87 <xs:extension base="xs:decimal"> 88 <xs:attribute name="message" type="xs:string" use="required" /> 89 <xs:attribute name="scoreType" type="scoreTypeType" use="required" /> 90 <xs:attribute name="unit" type="unitType" use="required" /> 91 <xs:attribute name="target" type="xs:decimal" /> 92 </xs:extension> 93 </xs:simpleContent> 94 </xs:complexType> 95 </xs:element> 96 <xs:element name="Details" minOccurs="0" maxOccurs="1"> 97 <xs:complexType> 98 <xs:sequence> 99 <xs:element name="ValueArray" minOccurs="0" maxOccurs="unbounded"> 100 <xs:complexType> 101 <xs:sequence> 102 <xs:element name="Value" type="xs:decimal" minOccurs="0" maxOccurs="unbounded" /> 103 </xs:sequence> 104 <xs:attribute name="source" type="xs:string" use="required" /> 105 <xs:attribute name="message" type="xs:string" use="required" /> 106 <xs:attribute name="scoreType" type="scoreTypeType" use="required" /> 107 <xs:attribute name="unit" type="unitType" use="required" /> 108 </xs:complexType> 109 </xs:element> 110 </xs:sequence> 111 </xs:complexType> 112 </xs:element> 113 </xs:sequence> 114 <xs:attribute name="name" type="xs:string" use="required"/> 115 <xs:attribute name="result" type="resultType" use="required"/> 116 <xs:attribute name="start" type="xs:string"/> 117 <xs:attribute name="end" type="xs:string"/> 118 </xs:complexType> 119 120 <xs:simpleType name="resultType"> 121 <xs:restriction base="xs:string"> 122 <xs:enumeration value="pass"/> 123 <xs:enumeration value="fail"/> 124 <xs:enumeration value="not_executed"/> 125 </xs:restriction> 126 </xs:simpleType> 127</xs:schema>