<?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.1.0"
           xmlns:tns="http://karaf.apache.org/xmlns/features/v1.1.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 an required attribute for
designating from which repository this feature should be loaded. The Karaf
shell will show the repository name when displaying information about the 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" use="required"/>
    </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[
The help text shown for this feature when using feature:info console command.
                    ]]>
                    </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[
Optional alternative resolver to use for determining the list of bundles to install for a given feature.
                ]]>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="install" type="tns:install">
            <xs:annotation>
                <xs:documentation><![CDATA[
Marks if the feaute will be automatically started when thrown to the deploy folder.
                ]]>
                </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[
Set this attribute to have an OSGi start level for this bundle different
from the default start level defined in the Karaf's config.properties.
                        ]]>
                        </xs:documentation>
                    </xs:annotation>
                </xs:attribute>
                <xs:attribute name="start" type="xs:boolean" default="true">
                    <xs:annotation>
                        <xs:documentation><![CDATA[
If false, leaves 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 a 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 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. The element content is
read in as a properties file.
            ]]></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[
The final destination path and name for the configuration file.
                        ]]></xs:documentation>
                    </xs:annotation>
                </xs:attribute>
                <xs:attribute name="override" type="xs:boolean">
                    <xs:annotation>
                        <xs:documentation><![CDATA[
If the configFile already exists at the finalname location, whether or not to replace it.
                        ]]></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 service 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:simpleType name="install">
        <xs:annotation>
            <xs:documentation><![CDATA[
Installation mode. Can be either manual or auto. Specifies whether the feature should be automatically installed when
dropped inside the deploy folder. Note: This attribute doesn't affect feature descriptors that are installed from the
command line or as part of the org.apache.karaf.features.cfg.
            ]]></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>
