| <?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 the |
| <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 |
| for naming the repository. This name will be used in shell to display source repository |
| of given feature. |
| ]]></xs:documentation> |
| </xs:annotation> |
| <xs:sequence> |
| <xs:element name="repository" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded"> |
| <xs:annotation> |
| <xs:documentation><![CDATA[ |
| Additional repositories where dependencies are stored. |
| ]]></xs:documentation> |
| </xs:annotation> |
| </xs:element> |
| <xs:element name="feature" type="tns:feature" minOccurs="0" maxOccurs="unbounded"> |
| <xs:annotation> |
| <xs:documentation><![CDATA[ |
| Feature definition. |
| ]]></xs:documentation> |
| </xs:annotation> |
| </xs:element> |
| </xs:sequence> |
| <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:sequence> |
| <!-- Tags with info --> |
| <xs:element name="details" type="xs:string" minOccurs="0" maxOccurs="unbounded"> |
| <xs:annotation> |
| <xs:documentation><![CDATA[ |
| The text information that will be displayed with the features:info commands. |
| ]]> |
| </xs:documentation> |
| </xs:annotation> |
| </xs:element> |
| <xs:element name="config" type="tns:config" minOccurs="0" maxOccurs="unbounded"/> |
| <xs:element name="configfile" type="tns:configFile" minOccurs="0" maxOccurs="unbounded"/> |
| <xs:element name="feature" type="tns:dependency" minOccurs="0" maxOccurs="unbounded"/> |
| <xs:element name="bundle" type="tns:bundle" minOccurs="0" maxOccurs="unbounded"/> |
| </xs:sequence> |
| <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 allows for using dynamic resolvers. |
| ]]> |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="start-level" type="xs:int"> |
| <xs:annotation> |
| <xs:documentation><![CDATA[ |
| Set this attribute to have an OSGi start level for this feature different |
| from the default start level defined in Karaf's config.properties. |
| ]]> |
| </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" default="true"> |
| <xs:annotation> |
| <xs:documentation><![CDATA[ |
| This switch allows you to install the bundle in resolved state rather than the default active state. |
| ]]> |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="dependency" type="xs:boolean"> |
| <xs:annotation> |
| <xs:documentation><![CDATA[ |
| Mark this bundle as dependency for the resolver. |
| ]]> |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| </xs:extension> |
| </xs:simpleContent> |
| </xs:complexType> |
| |
| <xs:complexType name="dependency"> |
| <xs:annotation> |
| <xs:documentation><![CDATA[ |
| Dependency of the 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 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 an already existing final with name of filename should be overridden |
| ]]></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 a 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 an OSGi service which has the 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> |