1<?xml version="1.0" encoding="UTF-8"?>
2<!--
3         Copyright (C) 2021 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<xsd:schema version="2.0"
18           elementFormDefault="qualified"
19           xmlns:xsd="http://www.w3.org/2001/XMLSchema">
20    <xsd:element name="uwbChipConfig">
21        <xsd:annotation>
22            <xsd:documentation>
23                A collection of chipGroups.
24            </xsd:documentation>
25        </xsd:annotation>
26        <xsd:complexType>
27        <xsd:sequence>
28            <xsd:element name="defaultChipId" type="xsd:string">
29                <xsd:annotation>
30                    <xsd:documentation>
31                        The id of the UWB chip that should be used by the framework if the framework
32                        doesn't specify which chip it wants to use.
33                    </xsd:documentation>
34                </xsd:annotation>
35            </xsd:element>
36            <xsd:element name="chipGroup" type="chipGroupInfo" maxOccurs="unbounded"/>
37        </xsd:sequence>
38        </xsd:complexType>
39    </xsd:element>
40
41    <xsd:complexType name="chipGroupInfo">
42        <xsd:annotation>
43            <xsd:documentation>
44                A collection of UWB chips that are connected to the AP via a common hardware
45                connection and a common shared library.
46            </xsd:documentation>
47        </xsd:annotation>
48        <xsd:sequence>
49            <xsd:element name="sharedLib" type="xsd:string"/>
50            <xsd:element name="chip" type="chipInfo" maxOccurs="unbounded"/>
51        </xsd:sequence>
52    </xsd:complexType>
53
54    <xsd:complexType name="chipInfo">
55        <xsd:annotation>
56            <xsd:documentation>
57                A single UWB chip defined by its id and position.
58
59                Even a single UWB chip must be part of a chipGroup.
60            </xsd:documentation>
61        </xsd:annotation>
62        <xsd:sequence>
63            <xsd:element name="id" type="xsd:string"/>
64            <xsd:element name="position" type="coordinates" minOccurs="0"/>
65        </xsd:sequence>
66    </xsd:complexType>
67
68    <xsd:complexType name="coordinates">
69        <xsd:annotation>
70            <xsd:documentation>
71                The physical 3D position of the UWB antenna, measured in meters from the origin of
72                coordinate system that the device uses.
73            </xsd:documentation>
74        </xsd:annotation>
75        <xsd:sequence>
76            <xsd:element name="x" type="xsd:decimal"/>
77            <xsd:element name="y" type="xsd:decimal"/>
78            <xsd:element name="z" type="xsd:decimal"/>
79        </xsd:sequence>
80    </xsd:complexType>
81</xsd:schema>