<?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.3.0"
    xmlns:tns="http://karaf.apache.org/xmlns/features/v1.3.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:sequence>
            <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:element name="conditional" type="tns:conditional" />
                <xs:element name="requirement" type="tns:requirement" />
                <xs:element name="capability" type="tns:capability" />
                <xs:element name="library" type="tns:library" />
            </xs:choice>
            <xs:element name="scoping" minOccurs="0" maxOccurs="1" type="tns:scoping" />
        </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="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:attribute name="hidden" type="xs:boolean" default="false" />
    </xs:complexType>

    <xs:complexType name="conditional">
        <xs:annotation>
            <xs:documentation><![CDATA[
Definition of the Conditional.
            ]]></xs:documentation>
        </xs:annotation>
        <xs:choice minOccurs="0" maxOccurs="unbounded">
            <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:element name="condition" type="tns:dependency" minOccurs="0" maxOccurs="1" />
        </xs:choice>
    </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:attribute name="prerequisite" type="xs:boolean" default="false"/>
                <xs:attribute name="dependency" type="xs:boolean" default="false"/>
            </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:attribute name="append" type="xs:boolean" use="optional">
                	<xs:annotation>
                		<xs:documentation><![CDATA[
Optional flag to append unknown values to the configuration.                 		
                		]]>
                		</xs:documentation>
                	</xs:annotation>
                </xs:attribute>
            </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:complexType name="requirement">
        <xs:annotation>
            <xs:documentation><![CDATA[
Additional requirements of this feature.
            ]]></xs:documentation>
        </xs:annotation>
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute name="prerequisite" type="xs:boolean" default="false"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>

    <xs:complexType name="capability">
        <xs:annotation>
            <xs:documentation><![CDATA[
Additional capability of this feature.
            ]]></xs:documentation>
        </xs:annotation>
        <xs:simpleContent>
            <xs:extension base="xs:string">
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>

    <xs:complexType name="library">
        <xs:annotation>
            <xs:documentation><![CDATA[
Additional capability of this feature.
            ]]></xs:documentation>
        </xs:annotation>
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute name="type" type="tns:libraryType" default="default"/>
                <xs:attribute name="export" type="xs:boolean" default="false"/>
                <xs:attribute name="delegate" type="xs:boolean" default="false"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>

    <xs:simpleType name="libraryType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="default"/>
            <xs:enumeration value="endorsed"/>
            <xs:enumeration value="extension"/>
            <xs:enumeration value="boot"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="scoping">
        <xs:annotation>
            <xs:documentation><![CDATA[
Scoping definition for this feature.
            ]]></xs:documentation>
        </xs:annotation>
        <xs:choice minOccurs="0" maxOccurs="unbounded">
            <xs:element name="import" type="tns:scopeFilter"/>
            <xs:element name="export" type="tns:scopeFilter"/>
        </xs:choice>
        <xs:attribute name="acceptDependencies" type="xs:boolean"/>
    </xs:complexType>

    <xs:complexType name="scopeFilter">
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute name="namespace"  type="xs:string" use="required"/>
            </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="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>
