<?xml version="1.0" encoding="UTF-8"?> | |
<!-- | |
Licensed to the Apache Software Foundation (ASF) under one or more | |
contributor license agreements. See the NOTICE file distributed with | |
this work for additional information regarding copyright ownership. | |
The ASF licenses this file to You 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. | |
--> | |
<xs:schema elementFormDefault="qualified" | |
targetNamespace="http://karaf.apache.org/xmlns/features/v1.0.0" | |
xmlns:tns="http://karaf.apache.org/xmlns/features/v1.0.0" | |
xmlns:xs="http://www.w3.org/2001/XMLSchema"> | |
<xs:annotation> | |
<xs:documentation><![CDATA[ | |
Karaf features mechanism. For documentation please visit | |
<a href="http://karaf.apache.org/">Karaf website</a>. | |
]]></xs:documentation> | |
</xs:annotation> | |
<xs:complexType name="features"> | |
<xs:annotation> | |
<xs:documentation><![CDATA[ | |
Root element of Feature definition. It contains optional attribute which allow | |
name of repository. This name will be used in shell to display source repository | |
of given feature. | |
]]></xs:documentation> | |
</xs:annotation> | |
<xs:choice minOccurs="0" maxOccurs="unbounded"> | |
<xs:element name="repository" type="xs:anyURI"> | |
<xs:annotation> | |
<xs:documentation><![CDATA[ | |
Additional repositories where dependencies are stored. | |
]]></xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="feature" type="tns:feature"> | |
<xs:annotation> | |
<xs:documentation><![CDATA[ | |
Feature definition. | |
]]></xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
</xs:choice> | |
<xs:attribute name="name" type="xs:string" /> | |
</xs:complexType> | |
<xs:complexType name="feature"> | |
<xs:annotation> | |
<xs:documentation><![CDATA[ | |
Definition of the Feature. | |
]]></xs:documentation> | |
</xs:annotation> | |
<xs:choice minOccurs="0" maxOccurs="unbounded"> | |
<xs:element name="details" minOccurs="0" type="xs:string"> | |
<xs:annotation> | |
<xs:documentation><![CDATA[ | |
Long info displayed in features:info command result. | |
]]> | |
</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="config" type="tns:config" /> | |
<xs:element name="configfile" type="tns:configFile" /> | |
<xs:element name="feature" type="tns:dependency" /> | |
<xs:element name="bundle" type="tns:bundle" /> | |
</xs:choice> | |
<xs:attribute name="name" type="tns:featureName" use="required" /> | |
<xs:attribute name="version" type="xs:string" default="0.0.0" /> | |
<xs:attribute name="description" type="xs:string" /> | |
<xs:attribute name="resolver" type="tns:resolver"> | |
<xs:annotation> | |
<xs:documentation><![CDATA[ | |
Karaf allow using dynamic resolvers. | |
]]> | |
</xs:documentation> | |
</xs:annotation> | |
</xs:attribute> | |
<xs:attribute name="start-level" type="xs:int"> | |
<xs:annotation> | |
<xs:documentation><![CDATA[ | |
Bundles in this feature start level set to OSGi framework. | |
]]> | |
</xs:documentation> | |
</xs:annotation> | |
</xs:attribute> | |
</xs:complexType> | |
<xs:complexType name="bundle"> | |
<xs:annotation> | |
<xs:documentation><![CDATA[ | |
Deployable element to install. | |
]]></xs:documentation> | |
</xs:annotation> | |
<xs:simpleContent> | |
<xs:extension base="xs:anyURI"> | |
<xs:attribute name="start-level" type="xs:int"> | |
<xs:annotation> | |
<xs:documentation><![CDATA[ | |
Bundle start level set to OSGi framework. | |
]]> | |
</xs:documentation> | |
</xs:annotation> | |
</xs:attribute> | |
<xs:attribute name="start" type="xs:boolean"> | |
<xs:annotation> | |
<xs:documentation><![CDATA[ | |
This switch allow you to leave bundle in resolved state. | |
]]> | |
</xs:documentation> | |
</xs:annotation> | |
</xs:attribute> | |
<xs:attribute name="dependency" type="xs:boolean"> | |
<xs:annotation> | |
<xs:documentation><![CDATA[ | |
Mark bundle as dependency for resolver. | |
]]> | |
</xs:documentation> | |
</xs:annotation> | |
</xs:attribute> | |
</xs:extension> | |
</xs:simpleContent> | |
</xs:complexType> | |
<xs:complexType name="dependency"> | |
<xs:annotation> | |
<xs:documentation><![CDATA[ | |
Dependency of feature. | |
]]></xs:documentation> | |
</xs:annotation> | |
<xs:simpleContent> | |
<xs:extension base="tns:featureName"> | |
<xs:attribute name="version" type="xs:string" default="0.0.0" /> | |
</xs:extension> | |
</xs:simpleContent> | |
</xs:complexType> | |
<xs:complexType name="config"> | |
<xs:annotation> | |
<xs:documentation><![CDATA[ | |
Configuration entries which should be created during feature installation. This | |
configuration may be used with OSGi Configuration Admin. | |
]]></xs:documentation> | |
</xs:annotation> | |
<xs:simpleContent> | |
<xs:extension base="xs:string"> | |
<xs:attribute name="name" type="xs:string" use="required" /> | |
</xs:extension> | |
</xs:simpleContent> | |
</xs:complexType> | |
<xs:complexType name="configFile"> | |
<xs:annotation> | |
<xs:documentation><![CDATA[ | |
Additional configuration files which should be created during feature installation. | |
]]></xs:documentation> | |
</xs:annotation> | |
<xs:simpleContent> | |
<xs:extension base="xs:anyURI"> | |
<xs:attribute name="finalname" type="xs:string" use="required"> | |
<xs:annotation> | |
<xs:documentation><![CDATA[ | |
Name of file name where given deployable element should be stored. | |
]]></xs:documentation> | |
</xs:annotation> | |
</xs:attribute> | |
<xs:attribute name="override" type="xs:boolean"> | |
<xs:annotation> | |
<xs:documentation><![CDATA[ | |
flag to specify if the finalname file should be overriden | |
]]></xs:documentation> | |
</xs:annotation> | |
</xs:attribute> | |
</xs:extension> | |
</xs:simpleContent> | |
</xs:complexType> | |
<xs:simpleType name="featureName"> | |
<xs:annotation> | |
<xs:documentation><![CDATA[ | |
Feature name should be non empty string. | |
]]></xs:documentation> | |
</xs:annotation> | |
<xs:restriction base="xs:string"> | |
<xs:minLength value="1" /> | |
</xs:restriction> | |
</xs:simpleType> | |
<xs:simpleType name="resolver"> | |
<xs:annotation> | |
<xs:documentation><![CDATA[ | |
Resolver to use. Karaf will look for OSGi servie which have following properties: | |
objectClass: org.apache.karaf.features.Resolver | |
name: the value | |
]]></xs:documentation> | |
</xs:annotation> | |
<xs:restriction base="xs:string"> | |
<xs:minLength value="1" /> | |
</xs:restriction> | |
</xs:simpleType> | |
<xs:element name="features" type="tns:features" /> | |
</xs:schema> |