blob: 605c69ca6d63d723c9643c0944e29e948a46c3ec [file] [log] [blame]
<?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:metatype="http://www.osgi.org/xmlns/metatype/v1.1.0"
targetNamespace="http://www.osgi.org/xmlns/metatype/v1.1.0"
version="1.1.0">
<element name="MetaData" type="metatype:Tmetadata" />
<complexType name="Tmetadata">
<sequence>
<element name="OCD" type="metatype:Tocd" minOccurs="0"
maxOccurs="unbounded" />
<element name="Designate" type="metatype:Tdesignate"
minOccurs="0" 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>
<attribute name="localization" type="string" use="optional" />
<anyAttribute />
</complexType>
<complexType name="Tocd">
<sequence>
<element name="AD" type="metatype:Tad" minOccurs="1"
maxOccurs="unbounded" />
<element name="Icon" type="metatype:Ticon" minOccurs="0"
maxOccurs="1" />
<!-- 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="name" type="string" use="required" />
<attribute name="description" type="string" use="optional" />
<attribute name="id" type="string" use="required" />
<anyAttribute />
</complexType>
<complexType name="Tad">
<sequence>
<element name="Option" type="metatype:Toption" minOccurs="0"
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>
<attribute name="name" type="string" use="optional" />
<attribute name="description" type="string" use="optional" />
<attribute name="id" type="string" use="required" />
<attribute name="type" type="metatype:Tscalar" use="required" />
<attribute name="cardinality" type="int" use="optional"
default="0" />
<attribute name="min" type="string" use="optional" />
<attribute name="max" type="string" use="optional" />
<attribute name="default" type="string" use="optional" />
<attribute name="required" type="boolean" use="optional"
default="true" />
<anyAttribute />
</complexType>
<complexType name="Tobject">
<sequence>
<element name="Attribute" type="metatype:Tattribute"
minOccurs="0" 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>
<attribute name="ocdref" type="string" use="required" />
<anyAttribute />
</complexType>
<complexType name="Tattribute">
<sequence>
<element name="Value" type="string" minOccurs="0"
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>
<attribute name="adref" type="string" use="required" />
<attribute name="content" type="string" use="optional" />
<anyAttribute />
</complexType>
<complexType name="Tdesignate">
<sequence>
<element name="Object" type="metatype:Tobject" minOccurs="1"
maxOccurs="1" />
<any namespace="##any" processContents="lax" minOccurs="0"
maxOccurs="unbounded" />
</sequence>
<attribute name="pid" type="string" use="required" />
<attribute name="factoryPid" type="string" use="optional" />
<attribute name="bundle" type="string" use="optional" />
<attribute name="optional" type="boolean" default="false"
use="optional" />
<attribute name="merge" type="boolean" default="false"
use="optional" />
<anyAttribute />
</complexType>
<simpleType name="Tscalar">
<restriction base="string">
<enumeration value="String" />
<enumeration value="Long" />
<enumeration value="Double" />
<enumeration value="Float" />
<enumeration value="Integer" />
<enumeration value="Byte" />
<enumeration value="Char" />
<enumeration value="Boolean" />
<enumeration value="Short" />
</restriction>
</simpleType>
<complexType name="Toption">
<sequence>
<any namespace="##any" processContents="lax" minOccurs="0"
maxOccurs="unbounded" />
</sequence>
<attribute name="label" type="string" use="required" />
<attribute name="value" type="string" use="required" />
<anyAttribute />
</complexType>
<complexType name="Ticon">
<sequence>
<any namespace="##any" processContents="lax" minOccurs="0"
maxOccurs="unbounded" />
</sequence>
<attribute name="resource" type="string" use="required" />
<attribute name="size" type="positiveInteger" use="required" />
<anyAttribute />
</complexType>
<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>