| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| /* |
| * $Revision: 5655 $ |
| * |
| * Copyright (c) OSGi Alliance (2005, 2008). All Rights Reserved. |
| * |
| * 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. |
| */ |
| --> |
| <schema xmlns="http://www.w3.org/2001/XMLSchema" |
| xmlns:app="http://www.osgi.org/xmlns/app/v1.1.0" |
| targetNamespace="http://www.osgi.org/xmlns/app/v1.1.0" |
| version="1.1.0"> |
| |
| <element name="descriptor" type="app:Tdescriptor"> |
| <annotation> |
| <documentation xml:lang="en"> |
| descriptor element encloses the application descriptors |
| provided in a document |
| </documentation> |
| </annotation> |
| </element> |
| |
| <complexType name="Tdescriptor"> |
| <sequence> |
| <element name="application" type="app:Tapplication" |
| minOccurs="1" maxOccurs="unbounded" /> |
| <!-- It is non-deterministic, per W3C XML Schema 1.0: http://www.w3.org/TR/xmlschema-1/#cos-nonambig |
| to use namespace="##any" below. --> |
| <any namespace="##other" processContents="lax" minOccurs="0" |
| maxOccurs="unbounded" /> |
| </sequence> |
| <anyAttribute /> |
| </complexType> |
| |
| <complexType name="Tapplication"> |
| <annotation> |
| <documentation xml:lang="en"> |
| describes the service dependencies of an application |
| </documentation> |
| </annotation> |
| <sequence> |
| <element name="reference" minOccurs="0" |
| maxOccurs="unbounded" type="app:Treference" /> |
| <!-- It is non-deterministic, per W3C XML Schema 1.0: http://www.w3.org/TR/xmlschema-1/#cos-nonambig |
| to use namespace="##any" below. --> |
| <any namespace="##other" processContents="lax" minOccurs="0" |
| maxOccurs="unbounded" /> |
| </sequence> |
| <attribute name="class" type="string" /> |
| <anyAttribute /> |
| </complexType> |
| |
| <complexType name="Treference"> |
| <sequence> |
| <any namespace="##any" processContents="lax" minOccurs="0" |
| maxOccurs="unbounded" /> |
| </sequence> |
| <attribute name="name" type="NMTOKEN" use="required" /> |
| <attribute name="interface" type="string" use="required" /> |
| <attribute name="cardinality" default="1..1" use="optional" |
| type="app:Tcardinality" /> |
| <attribute name="policy" use="optional" default="static" |
| type="app:Tpolicy" /> |
| <attribute name="target" type="string" use="optional" /> |
| <anyAttribute /> |
| </complexType> |
| |
| <simpleType name="Tcardinality"> |
| <restriction base="string"> |
| <enumeration value="0..1" /> |
| <enumeration value="0..n" /> |
| <enumeration value="1..1" /> |
| <enumeration value="1..n" /> |
| </restriction> |
| </simpleType> |
| |
| <simpleType name="Tpolicy"> |
| <restriction base="string"> |
| <enumeration value="static" /> |
| <enumeration value="dynamic" /> |
| </restriction> |
| </simpleType> |
| |
| <attribute name="must-understand" type="boolean"> |
| <annotation> |
| <documentation xml:lang="en"> |
| This attribute should be used by extensions to documents |
| to require that the document consumer understand the |
| extension. |
| </documentation> |
| </annotation> |
| </attribute> |
| </schema> |