The sequence element is changed to choice element with minOccurs="0" and maxOccurs="unbounded" for supporting any order and any times sub element. And maxOccurs of subelement is deleted because maxOccurs are not needed. Bug: 127435354 Test: m -j Change-Id: I72866da5b2a8ac37d725f5b604dae37a06f30162
168 lines
8.2 KiB
XML
168 lines
8.2 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!-- Copyright (C) 2019 The Android Open Source Project
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
-->
|
|
<!-- TODO: define a targetNamespace. Note that it will break retrocompatibility -->
|
|
<xs:schema version="2.0"
|
|
elementFormDefault="qualified"
|
|
attributeFormDefault="unqualified"
|
|
xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
|
<xs:element name="permissions">
|
|
<xs:complexType>
|
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
|
<xs:element name="group" type="group"/>
|
|
<xs:element name="permission" type="permission"/>
|
|
<xs:element name="assign-permission" type="assign-permission"/>
|
|
<xs:element name="split-permission" type="split-permission"/>
|
|
<xs:element name="library" type="library"/>
|
|
<xs:element name="feature" type="feature"/>
|
|
<xs:element name="unavailable-feature" type="unavailable-feature"/>
|
|
<xs:element name="allow-in-power-save-except-idle" type="allow-in-power-save-except-idle"/>
|
|
<xs:element name="allow-in-power-save" type="allow-in-power-save"/>
|
|
<xs:element name="allow-in-data-usage-save" type="allow-in-data-usage-save"/>
|
|
<xs:element name="allow-unthrottled-location" type="allow-unthrottled-location"/>
|
|
<xs:element name="allow-ignore-location-settings" type="allow-ignore-location-settings"/>
|
|
<xs:element name="allow-implicit-broadcast" type="allow-implicit-broadcast"/>
|
|
<xs:element name="app-link" type="app-link"/>
|
|
<xs:element name="system-user-whitelisted-app" type="system-user-whitelisted-app"/>
|
|
<xs:element name="system-user-blacklisted-app" type="system-user-blacklisted-app"/>
|
|
<xs:element name="default-enabled-vr-app" type="default-enabled-vr-app"/>
|
|
<xs:element name="backup-transport-whitelisted-service" type="backup-transport-whitelisted-service"/>
|
|
<xs:element name="disabled-until-used-preinstalled-carrier-associated-app" type="disabled-until-used-preinstalled-carrier-associated-app"/>
|
|
<xs:element name="disabled-until-used-preinstalled-carrier-app" type="disabled-until-used-preinstalled-carrier-app"/>
|
|
<xs:element name="privapp-permissions" type="privapp-permissions"/>
|
|
<xs:element name="oem-permissions" type="oem-permissions"/>
|
|
<xs:element name="hidden-api-whitelisted-app" type="hidden-api-whitelisted-app"/>
|
|
<xs:element name="allow-association" type="allow-association"/>
|
|
<xs:element name="bugreport-whitelisted" type="bugreport-whitelisted"/>
|
|
</xs:choice>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:complexType name="group">
|
|
<xs:attribute name="gid" type="xs:int"/>
|
|
</xs:complexType>
|
|
<xs:complexType name="permission">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
</xs:complexType>
|
|
<xs:complexType name="assign-permission">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="uid" type="xs:int"/>
|
|
</xs:complexType>
|
|
<xs:complexType name="split-permission">
|
|
<xs:sequence>
|
|
<xs:element name="library" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="targetSdk" type="xs:int"/>
|
|
</xs:complexType>
|
|
<xs:complexType name="library">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="file" type="xs:string"/>
|
|
<xs:attribute name="dependency" type="xs:string"/>
|
|
</xs:complexType>
|
|
<xs:complexType name="feature">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="notLowRam" type="xs:string"/>
|
|
<xs:attribute name="version" type="xs:int"/>
|
|
</xs:complexType>
|
|
<xs:complexType name="unavailable-feature">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
</xs:complexType>
|
|
<xs:complexType name="allow-in-power-save-except-idle">
|
|
<xs:attribute name="package" type="xs:string"/>
|
|
</xs:complexType>
|
|
<xs:complexType name="allow-in-power-save">
|
|
<xs:attribute name="package" type="xs:string"/>
|
|
</xs:complexType>
|
|
<xs:complexType name="allow-in-data-usage-save">
|
|
<xs:attribute name="package" type="xs:string"/>
|
|
</xs:complexType>
|
|
<xs:complexType name="allow-unthrottled-location">
|
|
<xs:attribute name="package" type="xs:string"/>
|
|
</xs:complexType>
|
|
<xs:complexType name="allow-ignore-location-settings">
|
|
<xs:attribute name="package" type="xs:string"/>
|
|
</xs:complexType>
|
|
<xs:complexType name="allow-implicit-broadcast">
|
|
<xs:attribute name="action" type="xs:string"/>
|
|
</xs:complexType>
|
|
<xs:complexType name="app-link">
|
|
<xs:attribute name="package" type="xs:string"/>
|
|
</xs:complexType>
|
|
<xs:complexType name="system-user-whitelisted-app">
|
|
<xs:attribute name="package" type="xs:string"/>
|
|
</xs:complexType>
|
|
<xs:complexType name="system-user-blacklisted-app">
|
|
<xs:attribute name="package" type="xs:string"/>
|
|
</xs:complexType>
|
|
<xs:complexType name="default-enabled-vr-app">
|
|
<xs:attribute name="package" type="xs:string"/>
|
|
<xs:attribute name="class" type="xs:string"/>
|
|
</xs:complexType>
|
|
<xs:complexType name="backup-transport-whitelisted-service">
|
|
<xs:attribute name="service" type="xs:string"/>
|
|
</xs:complexType>
|
|
<xs:complexType name="disabled-until-used-preinstalled-carrier-associated-app">
|
|
<xs:attribute name="package" type="xs:string"/>
|
|
<xs:attribute name="carrierAppPackage" type="xs:string"/>
|
|
</xs:complexType>
|
|
<xs:complexType name="disabled-until-used-preinstalled-carrier-app">
|
|
<xs:attribute name="package" type="xs:string"/>
|
|
</xs:complexType>
|
|
<xs:complexType name="privapp-permissions">
|
|
<xs:sequence>
|
|
<xs:element name="permission" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="deny-permission" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
<xs:attribute name="package" type="xs:string"/>
|
|
</xs:complexType>
|
|
<xs:complexType name="oem-permissions">
|
|
<xs:sequence>
|
|
<xs:element name="permission" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="deny-permission" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
<xs:attribute name="package" type="xs:string"/>
|
|
</xs:complexType>
|
|
<xs:complexType name="hidden-api-whitelisted-app">
|
|
<xs:attribute name="package" type="xs:string"/>
|
|
</xs:complexType>
|
|
<xs:complexType name="allow-association">
|
|
<xs:attribute name="target" type="xs:string"/>
|
|
<xs:attribute name="allowed" type="xs:string"/>
|
|
</xs:complexType>
|
|
<xs:complexType name="bugreport-whitelisted">
|
|
<xs:attribute name="package" type="xs:string"/>
|
|
</xs:complexType>
|
|
</xs:schema>
|