1<?xml version="1.0" encoding="UTF-8"?> 2<!-- 3 * Copyright (C) 2009 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/cts_result/1.15" 20 xmlns="http://compatibility.android.com/cts_result/1.15" 21 elementFormDefault="qualified"> 22 23<xs:element name="TestResult"> 24 <xs:complexType> 25 <xs:sequence> 26 <xs:element name="DeviceInfo" type="deviceInfoType"/> 27 <xs:element name="HostInfo" type="hostInfoType"/> 28 <xs:element name="Summary" type="summaryType"/> 29 <xs:element name="TestPackage" type="testPackageType" maxOccurs="unbounded" minOccurs="1"/> 30 </xs:sequence> 31 <xs:attribute name="starttime" type="xs:string"/> 32 <xs:attribute name="endtime" type="xs:string"/> 33 <xs:attribute name="testPlan" type="xs:string"/> 34 <xs:attribute name="version" type="xs:string"/> 35 <xs:attribute name="suite" type="xs:string"/> 36 </xs:complexType> 37</xs:element> 38 39<xs:complexType name="deviceInfoType"> 40 <xs:sequence> 41 <xs:element name="Screen"> 42 <xs:complexType> 43 <xs:attribute name="screen_size" type="xs:string"/> 44 <xs:attribute name="resolution" type="xs:string"/> 45 <xs:attribute name="screen_density" type="xs:decimal"/> 46 <xs:attribute name="screen_density_bucket" type="xs:string"/> 47 </xs:complexType> 48 </xs:element> 49 <xs:element name="PhoneSubInfo"> 50 <xs:complexType> 51 <xs:attribute name="subscriberId" type="xs:string"/> 52 </xs:complexType> 53 </xs:element> 54 <xs:element name="BuildInfo"> 55 <xs:complexType> 56 <xs:attribute name="Xdpi" type="xs:decimal"/> 57 <xs:attribute name="Ydpi" type="xs:decimal"/> 58 <xs:attribute name="androidPlatformVersion" type="xs:integer"/> 59 <xs:attribute name="buildID" type="xs:string"/> 60 <xs:attribute name="buildName" type="xs:string"/> 61 <xs:attribute name="buildVersion" type="xs:string"/> 62 <xs:attribute name="build_board" type="xs:string"/> 63 <xs:attribute name="build_manufacturer" type="xs:string"/> 64 <xs:attribute name="build_brand" type="xs:string"/> 65 <xs:attribute name="build_device" type="xs:string"/> 66 <xs:attribute name="build_fingerprint" type="xs:string"/> 67 <xs:attribute name="build_model" type="xs:string"/> 68 <xs:attribute name="build_type" type="xs:string"/> 69 <xs:attribute name="deviceID" type="xs:string"/> 70 <xs:attribute name="imei" type="xs:integer"/> 71 <xs:attribute name="imsi" type="xs:integer"/> 72 <xs:attribute name="keypad" type="xs:string"/> 73 <xs:attribute name="locales" type="xs:string"/> 74 <xs:attribute name="navigation" type="xs:string"/> 75 <xs:attribute name="network" type="xs:string"/> 76 <xs:attribute name="touch" type="xs:string"/> 77 <xs:attribute name="openGlEsVersion" type="xs:string"/> 78 <xs:attribute name="partitions" type="xs:string"/> 79 <xs:attribute name="build_abi" type="xs:string"/> 80 <xs:attribute name="build_abi2" type="xs:string"/> 81 <xs:attribute name="storage_devices" type="xs:string"/> 82 <xs:attribute name="multi_user" type="xs:string"/> 83 </xs:complexType> 84 </xs:element> 85 <xs:element name="FeatureInfo" type="featureInfoType"/> 86 <xs:element name="ProcessInfo" type="processInfoType"/> 87 <xs:element name="SystemLibrariesInfo" type="systemLibrariesInfoType"/> 88 <xs:element name="OpenGLCompressedTextureFormatsInfo" type="openGLCompressedTextureFormatsInfoType"/> 89 </xs:sequence> 90</xs:complexType> 91 92<xs:complexType name="hostInfoType"> 93 <xs:sequence> 94 <xs:element name="Os"> 95 <xs:complexType> 96 <xs:attribute name="arch" type="xs:string"/> 97 <xs:attribute name="name" type="xs:string"/> 98 <xs:attribute name="version" type="xs:string"/> 99 </xs:complexType> 100 </xs:element> 101 <xs:element name="Java"> 102 <xs:complexType> 103 <xs:attribute name="name" type="xs:string"/> 104 <xs:attribute name="version" type="xs:string"/> 105 </xs:complexType> 106 </xs:element> 107 <xs:element name="Cts"> 108 <xs:complexType> 109 <xs:sequence> 110 <xs:element name="IntValue" minOccurs="0" maxOccurs="unbounded"> 111 <xs:complexType> 112 <xs:attribute name="name" type="xs:string"/> 113 <xs:attribute name="value" type="xs:integer"/> 114 </xs:complexType> 115 </xs:element> 116 </xs:sequence> 117 <xs:attribute name="version" type="xs:string"/> 118 </xs:complexType> 119 </xs:element> 120 </xs:sequence> 121 <xs:attribute name="name" type="xs:string"/> 122</xs:complexType> 123 124<xs:complexType name="featureInfoType"> 125 <xs:sequence> 126 <xs:element name="Feature" minOccurs="0" maxOccurs="unbounded"> 127 <xs:complexType> 128 <xs:attribute name="name" type="xs:string" /> 129 <xs:attribute name="type" type="xs:string" /> 130 <xs:attribute name="available" type="xs:string" /> 131 </xs:complexType> 132 </xs:element> 133 </xs:sequence> 134</xs:complexType> 135 136<xs:complexType name="processInfoType"> 137 <xs:sequence> 138 <xs:element name="Process" minOccurs="0" maxOccurs="unbounded"> 139 <xs:complexType> 140 <xs:attribute name="name" type="xs:string" /> 141 <xs:attribute name="uid" type="xs:integer" /> 142 </xs:complexType> 143 </xs:element> 144 </xs:sequence> 145</xs:complexType> 146 147<xs:complexType name="systemLibrariesInfoType"> 148 <xs:sequence> 149 <xs:element name="Library" minOccurs="0" maxOccurs="unbounded"> 150 <xs:complexType> 151 <xs:attribute name="name" type="xs:string" /> 152 </xs:complexType> 153 </xs:element> 154 </xs:sequence> 155</xs:complexType> 156 157<xs:complexType name="openGLCompressedTextureFormatsInfoType"> 158 <xs:sequence> 159 <xs:element name="TextureFormat" minOccurs="0" maxOccurs="unbounded"> 160 <xs:complexType> 161 <xs:attribute name="name" type="xs:string" /> 162 </xs:complexType> 163 </xs:element> 164 </xs:sequence> 165</xs:complexType> 166 167<xs:complexType name="summaryType"> 168 <xs:attribute name="failed" type="xs:integer"/> 169 <xs:attribute name="notExecuted" type="xs:integer"/> 170 <xs:attribute name="pass" type="xs:integer"/> 171 <xs:attribute name="timeout" type="xs:integer"/> 172 <xs:attribute name="omitted" type="xs:integer"/> 173</xs:complexType> 174 175<xs:complexType name="testPackageType"> 176 <xs:sequence> 177 <xs:element name="TestSuite" type="testSuiteType" minOccurs="0" maxOccurs="unbounded" /> 178 </xs:sequence> 179 <xs:attribute name="appPackageName" type="xs:string"/> 180 <xs:attribute name="digest" type="xs:hexBinary"/> 181 <xs:attribute name="name" type="xs:string" use="required"/> 182 <xs:attribute name="signatureCheck" type="xs:boolean" /> 183</xs:complexType> 184 185<xs:complexType name="testSuiteType"> 186 <xs:sequence> 187 <xs:element name="TestCase" type="testCaseType" minOccurs="0" maxOccurs="unbounded"/> 188 <xs:element name="TestSuite" type="testSuiteType" minOccurs="0" maxOccurs="unbounded"/> 189 </xs:sequence> 190 <xs:attribute name="name" type="xs:string" use="required"/> 191</xs:complexType> 192 193<xs:complexType name="testCaseType"> 194 <xs:sequence> 195 <xs:element name="Test" type="testType" minOccurs="0" maxOccurs="unbounded"/> 196 </xs:sequence> 197 <xs:attribute name="name" type="xs:string" use="required"/> 198 <xs:attribute name="priority" type="xs:string"/> 199</xs:complexType> 200 201<xs:simpleType name="unitType"> 202 <xs:restriction base="xs:string"> 203 <xs:enumeration value="none"/> 204 <xs:enumeration value="ms"/> 205 <xs:enumeration value="fps"/> 206 <xs:enumeration value="ops"/> 207 <xs:enumeration value="kbps"/> 208 <xs:enumeration value="mbps"/> 209 <xs:enumeration value="byte"/> 210 <xs:enumeration value="count"/> 211 <xs:enumeration value="score"/> 212 </xs:restriction> 213</xs:simpleType> 214 215<xs:simpleType name="scoreTypeType"> 216 <xs:restriction base="xs:string"> 217 <xs:enumeration value="higherBetter"/> 218 <xs:enumeration value="lowerBetter"/> 219 <xs:enumeration value="neutral"/> 220 <xs:enumeration value="warning"/> 221 </xs:restriction> 222</xs:simpleType> 223 224<xs:complexType name="testType"> 225 <xs:sequence> 226 <xs:element name="FailedScene" minOccurs="0" maxOccurs="1"> 227 <xs:complexType> 228 <xs:sequence> 229 <xs:element name="StackTrace" type="xs:string" minOccurs="0" maxOccurs="1"/> 230 </xs:sequence> 231 <xs:attribute name="message" type="xs:string"/> 232 </xs:complexType> 233 </xs:element> 234 <xs:element name="Summary" minOccurs="0" maxOccurs="1"> 235 <xs:complexType> 236 <xs:simpleContent> 237 <xs:extension base="xs:decimal"> 238 <xs:attribute name="message" type="xs:string" use="required" /> 239 <xs:attribute name="scoreType" type="scoreTypeType" use="required" /> 240 <xs:attribute name="unit" type="unitType" use="required" /> 241 <xs:attribute name="target" type="xs:decimal" /> 242 </xs:extension> 243 </xs:simpleContent> 244 </xs:complexType> 245 </xs:element> 246 <xs:element name="Details" minOccurs="0" maxOccurs="1"> 247 <xs:complexType> 248 <xs:sequence> 249 <xs:element name="ValueArray" minOccurs="0" maxOccurs="unbounded"> 250 <xs:complexType> 251 <xs:sequence> 252 <xs:element name="Value" type="xs:decimal" minOccurs="0" maxOccurs="unbounded" /> 253 </xs:sequence> 254 <xs:attribute name="source" type="xs:string" use="required" /> 255 <xs:attribute name="message" type="xs:string" use="required" /> 256 <xs:attribute name="scoreType" type="scoreTypeType" use="required" /> 257 <xs:attribute name="unit" type="unitType" use="required" /> 258 </xs:complexType> 259 </xs:element> 260 </xs:sequence> 261 </xs:complexType> 262 </xs:element> 263 </xs:sequence> 264 <xs:attribute name="name" type="xs:string" use="required"/> 265 <xs:attribute name="result" type="resultType" use="required"/> 266 <xs:attribute name="starttime" type="xs:string"/> 267 <xs:attribute name="endtime" type="xs:string"/> 268</xs:complexType> 269 270<xs:simpleType name="resultType"> 271 <xs:restriction base="xs:string"> 272 <xs:enumeration value="pass"/> 273 <xs:enumeration value="fail"/> 274 <xs:enumeration value="timeout"/> 275 <xs:enumeration value="notExecuted"/> 276 <xs:enumeration value="omitted"/> 277 </xs:restriction> 278</xs:simpleType> 279</xs:schema> 280