blob: 97d70d33e9b26e586d4cb2a03405f5bdf484660b [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--
/*
* $Revision: 5673 $
*
* 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"
targetNamespace="http://www.osgi.org/xmlns/metatype/v1.0.0"
xmlns:metatype="http://www.osgi.org/xmlns/metatype/v1.0.0">
<complexType name="MetaData">
<sequence>
<element name="OCD" type="metatype:OCD" minOccurs="0"
maxOccurs="unbounded" />
<element name="Designate" type="metatype:Designate"
minOccurs="0" maxOccurs="unbounded" />
</sequence>
<attribute name="localization" type="string" use="optional" />
</complexType>
<complexType name="OCD">
<sequence>
<element name="AD" type="metatype:AD" minOccurs="1"
maxOccurs="unbounded" />
<element name="Icon" type="metatype:Icon" minOccurs="0"
maxOccurs="1" />
</sequence>
<attribute name="name" type="string" use="required" />
<attribute name="description" type="string" use="optional" />
<attribute name="id" type="string" use="required" />
</complexType>
<complexType name="AD">
<sequence>
<element name="Option" type="metatype:Option" 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:Scalar" 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" />
</complexType>
<complexType name="Object">
<sequence>
<element name="Attribute" type="metatype:Attribute"
minOccurs="0" maxOccurs="unbounded" />
</sequence>
<attribute name="ocdref" type="string" use="required" />
</complexType>
<complexType name="Attribute">
<sequence>
<element name="Value" type="string" minOccurs="0"
maxOccurs="unbounded" />
</sequence>
<attribute name="adref" type="string" use="required" />
<attribute name="content" type="string" use="optional" />
</complexType>
<complexType name="Designate">
<sequence>
<element name="Object" type="metatype:Object" minOccurs="1"
maxOccurs="1" />
</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" />
</complexType>
<simpleType name="Scalar">
<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="Option">
<attribute name="label" type="string" use="required" />
<attribute name="value" type="string" use="required" />
</complexType>
<complexType name="Icon">
<attribute name="resource" type="string" use="required" />
<attribute name="size" type="positiveInteger" use="required" />
</complexType>
<element name="MetaData" type="metatype:MetaData" />
</schema>