xref: /aosp_15_r20/system/libvintf/xsd/compatibilityMatrix/compatibility_matrix.xsd (revision 70a7ec852fcefd15a4fb57f8f183a8b1c3aacb08)
1*70a7ec85SAndroid Build Coastguard Worker<?xml version="1.0" encoding="UTF-8"?>
2*70a7ec85SAndroid Build Coastguard Worker<!-- Copyright (C) 2019 The Android Open Source Project
3*70a7ec85SAndroid Build Coastguard Worker
4*70a7ec85SAndroid Build Coastguard Worker         Licensed under the Apache License, Version 2.0 (the "License");
5*70a7ec85SAndroid Build Coastguard Worker         you may not use this file except in compliance with the License.
6*70a7ec85SAndroid Build Coastguard Worker         You may obtain a copy of the License at
7*70a7ec85SAndroid Build Coastguard Worker
8*70a7ec85SAndroid Build Coastguard Worker                    http://www.apache.org/licenses/LICENSE-2.0
9*70a7ec85SAndroid Build Coastguard Worker
10*70a7ec85SAndroid Build Coastguard Worker         Unless required by applicable law or agreed to in writing, software
11*70a7ec85SAndroid Build Coastguard Worker         distributed under the License is distributed on an "AS IS" BASIS,
12*70a7ec85SAndroid Build Coastguard Worker         WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*70a7ec85SAndroid Build Coastguard Worker         See the License for the specific language governing permissions and
14*70a7ec85SAndroid Build Coastguard Worker         limitations under the License.
15*70a7ec85SAndroid Build Coastguard Worker-->
16*70a7ec85SAndroid Build Coastguard Worker<!-- TODO: define a targetNamespace. Note that it will break retrocompatibility -->
17*70a7ec85SAndroid Build Coastguard Worker<xs:schema version="2.0"
18*70a7ec85SAndroid Build Coastguard Worker           elementFormDefault="qualified"
19*70a7ec85SAndroid Build Coastguard Worker           attributeFormDefault="unqualified"
20*70a7ec85SAndroid Build Coastguard Worker           xmlns:xs="http://www.w3.org/2001/XMLSchema">
21*70a7ec85SAndroid Build Coastguard Worker    <xs:element name="compatibility-matrix">
22*70a7ec85SAndroid Build Coastguard Worker        <xs:complexType>
23*70a7ec85SAndroid Build Coastguard Worker            <xs:sequence>
24*70a7ec85SAndroid Build Coastguard Worker                <xs:element name="hal" type="hal" minOccurs="0" maxOccurs="unbounded"/>
25*70a7ec85SAndroid Build Coastguard Worker                <xs:element name="kernel" type="kernel" minOccurs="0" maxOccurs="unbounded"/>
26*70a7ec85SAndroid Build Coastguard Worker                <xs:element name="sepolicy" type="sepolicy" minOccurs="0"/>
27*70a7ec85SAndroid Build Coastguard Worker                <xs:element name="avb" type="avb" minOccurs="0"/>
28*70a7ec85SAndroid Build Coastguard Worker                <xs:element name="vndk" type="vndk" minOccurs="0"/>
29*70a7ec85SAndroid Build Coastguard Worker                <xs:element name="vendor-ndk" type="vendor-ndk" minOccurs="0"/>
30*70a7ec85SAndroid Build Coastguard Worker                <xs:element name="system-sdk" type="system-sdk" minOccurs="0"/>
31*70a7ec85SAndroid Build Coastguard Worker                <xs:element name="xmlfile" type="xmlfile" minOccurs="0" maxOccurs="unbounded"/>
32*70a7ec85SAndroid Build Coastguard Worker            </xs:sequence>
33*70a7ec85SAndroid Build Coastguard Worker            <xs:attribute name="version" type="xs:string" use="required"/>
34*70a7ec85SAndroid Build Coastguard Worker            <xs:attribute name="type" type="xs:string" use="required"/>
35*70a7ec85SAndroid Build Coastguard Worker            <xs:attribute name="level" type="xs:string"/>
36*70a7ec85SAndroid Build Coastguard Worker        </xs:complexType>
37*70a7ec85SAndroid Build Coastguard Worker    </xs:element>
38*70a7ec85SAndroid Build Coastguard Worker    <xs:complexType name="hal">
39*70a7ec85SAndroid Build Coastguard Worker        <xs:sequence>
40*70a7ec85SAndroid Build Coastguard Worker            <xs:element name="name" type="xs:string"/>
41*70a7ec85SAndroid Build Coastguard Worker            <xs:element name="version" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
42*70a7ec85SAndroid Build Coastguard Worker            <xs:element name="interface" type="interface" minOccurs="0" maxOccurs="unbounded"/>
43*70a7ec85SAndroid Build Coastguard Worker            <xs:element name="fqname" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
44*70a7ec85SAndroid Build Coastguard Worker        </xs:sequence>
45*70a7ec85SAndroid Build Coastguard Worker        <xs:attribute name="format" type="xs:string"/>
46*70a7ec85SAndroid Build Coastguard Worker        <xs:attribute name="optional" type="xs:string"/>
47*70a7ec85SAndroid Build Coastguard Worker        <xs:attribute name="updatable-via-apex" type="xs:boolean"/>
48*70a7ec85SAndroid Build Coastguard Worker        <xs:attribute name="exclusive-to" type="xs:string"/>
49*70a7ec85SAndroid Build Coastguard Worker    </xs:complexType>
50*70a7ec85SAndroid Build Coastguard Worker    <xs:complexType name="interface">
51*70a7ec85SAndroid Build Coastguard Worker        <xs:sequence>
52*70a7ec85SAndroid Build Coastguard Worker            <xs:element name="name" type="xs:string" minOccurs="0"/>
53*70a7ec85SAndroid Build Coastguard Worker            <xs:element name="instance" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
54*70a7ec85SAndroid Build Coastguard Worker            <xs:element name="regex-instance" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
55*70a7ec85SAndroid Build Coastguard Worker        </xs:sequence>
56*70a7ec85SAndroid Build Coastguard Worker    </xs:complexType>
57*70a7ec85SAndroid Build Coastguard Worker    <xs:complexType name="kernel">
58*70a7ec85SAndroid Build Coastguard Worker        <xs:sequence>
59*70a7ec85SAndroid Build Coastguard Worker            <xs:element name="conditions" minOccurs="0">
60*70a7ec85SAndroid Build Coastguard Worker                <xs:complexType>
61*70a7ec85SAndroid Build Coastguard Worker                    <xs:sequence>
62*70a7ec85SAndroid Build Coastguard Worker                        <xs:element name="config" type="config" minOccurs="0" maxOccurs="unbounded"/>
63*70a7ec85SAndroid Build Coastguard Worker                    </xs:sequence>
64*70a7ec85SAndroid Build Coastguard Worker                </xs:complexType>
65*70a7ec85SAndroid Build Coastguard Worker            </xs:element>
66*70a7ec85SAndroid Build Coastguard Worker            <xs:element name="config" type="config" minOccurs="0" maxOccurs="unbounded"/>
67*70a7ec85SAndroid Build Coastguard Worker        </xs:sequence>
68*70a7ec85SAndroid Build Coastguard Worker        <xs:attribute name="version" type="xs:string"/>
69*70a7ec85SAndroid Build Coastguard Worker        <xs:attribute name="level" type="xs:string"/>
70*70a7ec85SAndroid Build Coastguard Worker    </xs:complexType>
71*70a7ec85SAndroid Build Coastguard Worker    <xs:complexType name="config">
72*70a7ec85SAndroid Build Coastguard Worker        <xs:sequence>
73*70a7ec85SAndroid Build Coastguard Worker            <xs:element name="key" type="xs:string"/>
74*70a7ec85SAndroid Build Coastguard Worker            <xs:element name="value">
75*70a7ec85SAndroid Build Coastguard Worker                <xs:complexType>
76*70a7ec85SAndroid Build Coastguard Worker                    <xs:simpleContent>
77*70a7ec85SAndroid Build Coastguard Worker                        <xs:extension base="xs:string">
78*70a7ec85SAndroid Build Coastguard Worker                            <xs:attribute name="type" type="xs:string"/>
79*70a7ec85SAndroid Build Coastguard Worker                        </xs:extension>
80*70a7ec85SAndroid Build Coastguard Worker                    </xs:simpleContent>
81*70a7ec85SAndroid Build Coastguard Worker                </xs:complexType>
82*70a7ec85SAndroid Build Coastguard Worker            </xs:element>
83*70a7ec85SAndroid Build Coastguard Worker        </xs:sequence>
84*70a7ec85SAndroid Build Coastguard Worker    </xs:complexType>
85*70a7ec85SAndroid Build Coastguard Worker    <xs:complexType name="sepolicy">
86*70a7ec85SAndroid Build Coastguard Worker        <xs:sequence>
87*70a7ec85SAndroid Build Coastguard Worker            <xs:element name="kernel-sepolicy-version" type="xs:string"/>
88*70a7ec85SAndroid Build Coastguard Worker            <xs:element name="sepolicy-version" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
89*70a7ec85SAndroid Build Coastguard Worker        </xs:sequence>
90*70a7ec85SAndroid Build Coastguard Worker    </xs:complexType>
91*70a7ec85SAndroid Build Coastguard Worker    <xs:complexType name="avb">
92*70a7ec85SAndroid Build Coastguard Worker        <xs:sequence>
93*70a7ec85SAndroid Build Coastguard Worker            <xs:element name="vbmeta-version" type="xs:string"/>
94*70a7ec85SAndroid Build Coastguard Worker        </xs:sequence>
95*70a7ec85SAndroid Build Coastguard Worker    </xs:complexType>
96*70a7ec85SAndroid Build Coastguard Worker    <xs:complexType name="vndk">
97*70a7ec85SAndroid Build Coastguard Worker        <xs:sequence>
98*70a7ec85SAndroid Build Coastguard Worker            <xs:element name="version" type="xs:string"/>
99*70a7ec85SAndroid Build Coastguard Worker            <xs:element name="library" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
100*70a7ec85SAndroid Build Coastguard Worker        </xs:sequence>
101*70a7ec85SAndroid Build Coastguard Worker    </xs:complexType>
102*70a7ec85SAndroid Build Coastguard Worker    <xs:complexType name="vendor-ndk">
103*70a7ec85SAndroid Build Coastguard Worker        <xs:sequence>
104*70a7ec85SAndroid Build Coastguard Worker            <xs:element name="version" type="xs:string"/>
105*70a7ec85SAndroid Build Coastguard Worker            <xs:element name="library" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
106*70a7ec85SAndroid Build Coastguard Worker        </xs:sequence>
107*70a7ec85SAndroid Build Coastguard Worker    </xs:complexType>
108*70a7ec85SAndroid Build Coastguard Worker    <xs:complexType name="system-sdk">
109*70a7ec85SAndroid Build Coastguard Worker        <xs:sequence>
110*70a7ec85SAndroid Build Coastguard Worker            <xs:element name="version" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
111*70a7ec85SAndroid Build Coastguard Worker        </xs:sequence>
112*70a7ec85SAndroid Build Coastguard Worker    </xs:complexType>
113*70a7ec85SAndroid Build Coastguard Worker    <xs:complexType name="xmlfile">
114*70a7ec85SAndroid Build Coastguard Worker        <xs:sequence>
115*70a7ec85SAndroid Build Coastguard Worker            <xs:element name="name" type="xs:string"/>
116*70a7ec85SAndroid Build Coastguard Worker            <xs:element name="version" type="xs:string"/>
117*70a7ec85SAndroid Build Coastguard Worker            <xs:element name="path" type="xs:string"/>
118*70a7ec85SAndroid Build Coastguard Worker        </xs:sequence>
119*70a7ec85SAndroid Build Coastguard Worker        <xs:attribute name="format" type="xs:string"/>
120*70a7ec85SAndroid Build Coastguard Worker        <xs:attribute name="optional" type="xs:string"/>
121*70a7ec85SAndroid Build Coastguard Worker    </xs:complexType>
122*70a7ec85SAndroid Build Coastguard Worker</xs:schema>
123