You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by jb...@apache.org on 2015/07/01 21:43:38 UTC

svn commit: r1688715 [22/23] - in /karaf/site/production/manual/latest: ./ commands/ developers-guide/ users-guide/

Modified: karaf/site/production/manual/latest/users-guide/provisioning-schema.html
URL: http://svn.apache.org/viewvc/karaf/site/production/manual/latest/users-guide/provisioning-schema.html?rev=1688715&r1=1688714&r2=1688715&view=diff
==============================================================================
--- karaf/site/production/manual/latest/users-guide/provisioning-schema.html (original)
+++ karaf/site/production/manual/latest/users-guide/provisioning-schema.html Wed Jul  1 19:43:35 2015
@@ -8,7 +8,7 @@
     <link href="../css/style.css" rel="stylesheet" type="text/css"/>
     <link href="../css/pygmentize.css" rel="stylesheet" type="text/css"/>
     <title>
-      Apache Karaf 3.0.3-SNAPSHOT Guides
+      Apache Karaf 4.0.1-SNAPSHOT Guides
     </title>
   </head>
   <body>
@@ -101,11 +101,13 @@
               </td>
               <td height="100%" width="100%">
                 <div class="wiki-content">
-<h1 id="FeaturesXMLSchemasprovisioning">Features XML Schemas (provisioning)</h1><p>Apache Karaf 3.0.0 supports different versions of the features XML schemas.</p><p>The features XML schema can be found directly in the Apache Karaf sources, in the <tt>features/core</tt> module:</p><pre>
+<h1 id="FeaturesXMLSchemasprovisioning">Features XML Schemas (provisioning)</h1><p>Apache Karaf 4.0.0 supports different versions of the features XML schemas.</p><p>The features XML schema can be found directly in the Apache Karaf sources, in the <tt>features/core</tt> module:</p><pre>
+features/core/src/main/resources/org/apache/karaf/features/karaf-features-1.3.0.xsd
+features/core/src/main/resources/org/apache/karaf/features/karaf-features-1.2.1.xsd
 features/core/src/main/resources/org/apache/karaf/features/karaf-features-1.2.0.xsd
 features/core/src/main/resources/org/apache/karaf/features/karaf-features-1.1.0.xsd
 features/core/src/main/resources/org/apache/karaf/features/karaf-features-1.0.0.xsd
-</pre><p>These schemas are also available on the Apache Karaf website:</p><ul><li><a href="http://karaf.apache.org/xmlns/features/v1.2.0">http://karaf.apache.org/xmlns/features/v1.2.0</a></li><li><a href="http://karaf.apache.org/xmlns/features/v1.1.0">http://karaf.apache.org/xmlns/features/v1.1.0</a></li><li><a href="http://karaf.apache.org/xmlns/features/v1.0.0">http://karaf.apache.org/xmlns/features/v1.0.0</a></li></ul><h2 id="karaffeatures1.2.0.xsd">karaf-features-1.2.0.xsd</h2><div class="syntax"><div class="highlight"><pre><span class="cp">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;</span>&#x000A;<span class="c">&lt;!--</span>&#x000A;<span class="c">    Licensed to the Apache Software Foundation (ASF) under one or more</span>&#x000A;<span class="c">    contributor license agreements. See the NOTICE file distributed with</span>&#x000A;<span class="c">    this work for additional information regarding copyright ownership.</span>&#x000A;<span class="c">    The
  ASF licenses this file to You under the Apache License, Version 2.0</span>&#x000A;<span class="c">    (the &quot;License&quot;); you may not use this file except in compliance with</span>&#x000A;<span class="c">    the License. You may obtain a copy of the License at</span>&#x000A;&#x000A;<span class="c">       http://www.apache.org/licenses/LICENSE-2.0</span>&#x000A;&#x000A;<span class="c">    Unless required by applicable law or agreed to in writing, software</span>&#x000A;<span class="c">    distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>&#x000A;<span class="c">    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>&#x000A;<span class="c">    See the License for the specific language governing permissions and</span>&#x000A;<span class="c">    limitations under the License.</span>&#x000A;&#x000A;<span class="c">--&gt;</span>&#x000A;<span class="nt">&lt;xs:schema</span> <span class="na">elementFormDefault=</span><span 
 class="s">&quot;qualified&quot;</span>&#x000A;    <span class="na">targetNamespace=</span><span class="s">&quot;http://karaf.apache.org/xmlns/features/v1.2.0&quot;</span>&#x000A;    <span class="na">xmlns:tns=</span><span class="s">&quot;http://karaf.apache.org/xmlns/features/v1.2.0&quot;</span>&#x000A;    <span class="na">xmlns:xs=</span><span class="s">&quot;http://www.w3.org/2001/XMLSchema&quot;</span><span class="nt">&gt;</span>&#x000A;&#x000A;    <span class="nt">&lt;xs:annotation&gt;</span>&#x000A;        <span class="nt">&lt;xs:documentation&gt;</span><span class="cp">&lt;![CDATA[</span>&#x000A;<span class="cp">Karaf features mechanism. For documentation please visit the</span>&#x000A;<span class="cp">&lt;a href=&quot;http://karaf.apache.org/&quot;&gt;Karaf website&lt;/a&gt;.</span>&#x000A;<span class="cp">        ]]&gt;</span><span class="nt">&lt;/xs:documentation&gt;</span>&#x000A;    <span class="nt">&lt;/xs:annotation&gt;</span>&#x000A;&#x000A;    <span class="nt">&lt;xs:
 complexType</span> <span class="na">name=</span><span class="s">&quot;features&quot;</span><span class="nt">&gt;</span>&#x000A;        <span class="nt">&lt;xs:annotation&gt;</span>&#x000A;            <span class="nt">&lt;xs:documentation&gt;</span><span class="cp">&lt;![CDATA[</span>&#x000A;<span class="cp">Root element of Feature definition. It contains an required attribute for</span>&#x000A;<span class="cp">designating from which repository this feature should be loaded. The Karaf</span>&#x000A;<span class="cp">shell will show the repository name when displaying information about the feature.</span>&#x000A;<span class="cp">            ]]&gt;</span><span class="nt">&lt;/xs:documentation&gt;</span>&#x000A;        <span class="nt">&lt;/xs:annotation&gt;</span>&#x000A;        <span class="nt">&lt;xs:choice</span> <span class="na">minOccurs=</span><span class="s">&quot;0&quot;</span> <span class="na">maxOccurs=</span><span class="s">&quot;unbounded&quot;</span><span class="nt">&gt;</s
 pan>&#x000A;            <span class="nt">&lt;xs:element</span> <span class="na">name=</span><span class="s">&quot;repository&quot;</span> <span class="na">type=</span><span class="s">&quot;xs:anyURI&quot;</span><span class="nt">&gt;</span>&#x000A;                <span class="nt">&lt;xs:annotation&gt;</span>&#x000A;                    <span class="nt">&lt;xs:documentation&gt;</span><span class="cp">&lt;![CDATA[</span>&#x000A;<span class="cp">Additional repositories where dependencies are stored.</span>&#x000A;<span class="cp">                    ]]&gt;</span><span class="nt">&lt;/xs:documentation&gt;</span>&#x000A;                <span class="nt">&lt;/xs:annotation&gt;</span>&#x000A;            <span class="nt">&lt;/xs:element&gt;</span>&#x000A;            <span class="nt">&lt;xs:element</span> <span class="na">name=</span><span class="s">&quot;feature&quot;</span> <span class="na">type=</span><span class="s">&quot;tns:feature&quot;</span><span class="nt">&gt;</span>&#x000A;         
        <span class="nt">&lt;xs:annotation&gt;</span>&#x000A;                    <span class="nt">&lt;xs:documentation&gt;</span><span class="cp">&lt;![CDATA[</span>&#x000A;<span class="cp">Feature definition.</span>&#x000A;<span class="cp">                    ]]&gt;</span><span class="nt">&lt;/xs:documentation&gt;</span>&#x000A;                <span class="nt">&lt;/xs:annotation&gt;</span>&#x000A;            <span class="nt">&lt;/xs:element&gt;</span>&#x000A;        <span class="nt">&lt;/xs:choice&gt;</span>&#x000A;        <span class="nt">&lt;xs:attribute</span> <span class="na">name=</span><span class="s">&quot;name&quot;</span> <span class="na">type=</span><span class="s">&quot;xs:string&quot;</span> <span class="na">use=</span><span class="s">&quot;required&quot;</span><span class="nt">/&gt;</span>&#x000A;    <span class="nt">&lt;/xs:complexType&gt;</span>&#x000A;&#x000A;    <span class="nt">&lt;xs:complexType</span> <span class="na">name=</span><span class="s">&quot;feature&quo
 t;</span><span class="nt">&gt;</span>&#x000A;        <span class="nt">&lt;xs:annotation&gt;</span>&#x000A;            <span class="nt">&lt;xs:documentation&gt;</span><span class="cp">&lt;![CDATA[</span>&#x000A;<span class="cp">Definition of the Feature.</span>&#x000A;<span class="cp">            ]]&gt;</span><span class="nt">&lt;/xs:documentation&gt;</span>&#x000A;        <span class="nt">&lt;/xs:annotation&gt;</span>&#x000A;        <span class="nt">&lt;xs:choice</span> <span class="na">minOccurs=</span><span class="s">&quot;0&quot;</span> <span class="na">maxOccurs=</span><span class="s">&quot;unbounded&quot;</span><span class="nt">&gt;</span>&#x000A;            <span class="nt">&lt;xs:element</span> <span class="na">name=</span><span class="s">&quot;details&quot;</span> <span class="na">minOccurs=</span><span class="s">&quot;0&quot;</span> <span class="na">type=</span><span class="s">&quot;xs:string&quot;</span><span class="nt">&gt;</span>&#x000A;                <span class="nt">&
 lt;xs:annotation&gt;</span>&#x000A;                    <span class="nt">&lt;xs:documentation&gt;</span><span class="cp">&lt;![CDATA[</span>&#x000A;<span class="cp">The help text shown for this feature when using feature:info console command.</span>&#x000A;<span class="cp">                    ]]&gt;</span>&#x000A;                    <span class="nt">&lt;/xs:documentation&gt;</span>&#x000A;                <span class="nt">&lt;/xs:annotation&gt;</span>&#x000A;            <span class="nt">&lt;/xs:element&gt;</span>&#x000A;            <span class="nt">&lt;xs:element</span> <span class="na">name=</span><span class="s">&quot;config&quot;</span> <span class="na">type=</span><span class="s">&quot;tns:config&quot;</span> <span class="nt">/&gt;</span>&#x000A;            <span class="nt">&lt;xs:element</span> <span class="na">name=</span><span class="s">&quot;configfile&quot;</span> <span class="na">type=</span><span class="s">&quot;tns:configFile&quot;</span> <span class="nt">/&gt;</span>&#x00
 0A;            <span class="nt">&lt;xs:element</span> <span class="na">name=</span><span class="s">&quot;feature&quot;</span> <span class="na">type=</span><span class="s">&quot;tns:dependency&quot;</span> <span class="nt">/&gt;</span>&#x000A;            <span class="nt">&lt;xs:element</span> <span class="na">name=</span><span class="s">&quot;bundle&quot;</span> <span class="na">type=</span><span class="s">&quot;tns:bundle&quot;</span> <span class="nt">/&gt;</span>&#x000A;            <span class="nt">&lt;xs:element</span> <span class="na">name=</span><span class="s">&quot;conditional&quot;</span> <span class="na">type=</span><span class="s">&quot;tns:conditional&quot;</span> <span class="nt">/&gt;</span>&#x000A;        <span class="nt">&lt;/xs:choice&gt;</span>&#x000A;        <span class="nt">&lt;xs:attribute</span> <span class="na">name=</span><span class="s">&quot;name&quot;</span> <span class="na">type=</span><span class="s">&quot;tns:featureName&quot;</span> <span class="na">use=
 </span><span class="s">&quot;required&quot;</span> <span class="nt">/&gt;</span>&#x000A;        <span class="nt">&lt;xs:attribute</span> <span class="na">name=</span><span class="s">&quot;version&quot;</span> <span class="na">type=</span><span class="s">&quot;xs:string&quot;</span> <span class="na">default=</span><span class="s">&quot;0.0.0&quot;</span> <span class="nt">/&gt;</span>&#x000A;        <span class="nt">&lt;xs:attribute</span> <span class="na">name=</span><span class="s">&quot;description&quot;</span> <span class="na">type=</span><span class="s">&quot;xs:string&quot;</span> <span class="nt">/&gt;</span>&#x000A;        <span class="nt">&lt;xs:attribute</span> <span class="na">name=</span><span class="s">&quot;resolver&quot;</span> <span class="na">type=</span><span class="s">&quot;tns:resolver&quot;</span><span class="nt">&gt;</span>&#x000A;            <span class="nt">&lt;xs:annotation&gt;</span>&#x000A;                <span class="nt">&lt;xs:documentation&gt;</span><span
  class="cp">&lt;![CDATA[</span>&#x000A;<span class="cp">Optional alternative resolver to use for determining the list of bundles to install for a given feature.</span>&#x000A;<span class="cp">                ]]&gt;</span>&#x000A;                <span class="nt">&lt;/xs:documentation&gt;</span>&#x000A;            <span class="nt">&lt;/xs:annotation&gt;</span>&#x000A;        <span class="nt">&lt;/xs:attribute&gt;</span>&#x000A;        <span class="nt">&lt;xs:attribute</span> <span class="na">name=</span><span class="s">&quot;install&quot;</span> <span class="na">type=</span><span class="s">&quot;tns:install&quot;</span><span class="nt">&gt;</span>&#x000A;            <span class="nt">&lt;xs:annotation&gt;</span>&#x000A;                <span class="nt">&lt;xs:documentation&gt;</span><span class="cp">&lt;![CDATA[</span>&#x000A;<span class="cp">Marks if the feaute will be automatically started when thrown to the deploy folder.</span>&#x000A;<span class="cp">                ]]&gt;</span>&#
 x000A;                <span class="nt">&lt;/xs:documentation&gt;</span>&#x000A;            <span class="nt">&lt;/xs:annotation&gt;</span>&#x000A;        <span class="nt">&lt;/xs:attribute&gt;</span>&#x000A;        <span class="nt">&lt;xs:attribute</span> <span class="na">name=</span><span class="s">&quot;start-level&quot;</span> <span class="na">type=</span><span class="s">&quot;xs:int&quot;</span><span class="nt">&gt;</span>&#x000A;             <span class="nt">&lt;xs:annotation&gt;</span>&#x000A;                <span class="nt">&lt;xs:documentation&gt;</span><span class="cp">&lt;![CDATA[</span>&#x000A;<span class="cp">Set this attribute to have an OSGi start level for this feature different</span>&#x000A;<span class="cp">from the default start level defined in Karaf&#39;s config.properties.</span>&#x000A;<span class="cp">                ]]&gt;</span>&#x000A;                <span class="nt">&lt;/xs:documentation&gt;</span>&#x000A;             <span class="nt">&lt;/xs:annotation&gt;
 </span>&#x000A;         <span class="nt">&lt;/xs:attribute&gt;</span>&#x000A;    <span class="nt">&lt;/xs:complexType&gt;</span>&#x000A;&#x000A;    <span class="nt">&lt;xs:complexType</span> <span class="na">name=</span><span class="s">&quot;conditional&quot;</span><span class="nt">&gt;</span>&#x000A;        <span class="nt">&lt;xs:annotation&gt;</span>&#x000A;            <span class="nt">&lt;xs:documentation&gt;</span><span class="cp">&lt;![CDATA[</span>&#x000A;<span class="cp">Definition of the Conditional.</span>&#x000A;<span class="cp">            ]]&gt;</span><span class="nt">&lt;/xs:documentation&gt;</span>&#x000A;        <span class="nt">&lt;/xs:annotation&gt;</span>&#x000A;        <span class="nt">&lt;xs:choice</span> <span class="na">minOccurs=</span><span class="s">&quot;0&quot;</span> <span class="na">maxOccurs=</span><span class="s">&quot;unbounded&quot;</span><span class="nt">&gt;</span>&#x000A;            <span class="nt">&lt;xs:element</span> <span class="na">name=</s
 pan><span class="s">&quot;config&quot;</span> <span class="na">type=</span><span class="s">&quot;tns:config&quot;</span> <span class="nt">/&gt;</span>&#x000A;            <span class="nt">&lt;xs:element</span> <span class="na">name=</span><span class="s">&quot;configfile&quot;</span> <span class="na">type=</span><span class="s">&quot;tns:configFile&quot;</span> <span class="nt">/&gt;</span>&#x000A;            <span class="nt">&lt;xs:element</span> <span class="na">name=</span><span class="s">&quot;feature&quot;</span> <span class="na">type=</span><span class="s">&quot;tns:dependency&quot;</span> <span class="nt">/&gt;</span>&#x000A;            <span class="nt">&lt;xs:element</span> <span class="na">name=</span><span class="s">&quot;bundle&quot;</span> <span class="na">type=</span><span class="s">&quot;tns:bundle&quot;</span> <span class="nt">/&gt;</span>&#x000A;            <span class="nt">&lt;xs:element</span> <span class="na">name=</span><span class="s">&quot;condition&quot;</span>
  <span class="na">type=</span><span class="s">&quot;tns:dependency&quot;</span> <span class="na">minOccurs=</span><span class="s">&quot;0&quot;</span> <span class="na">maxOccurs=</span><span class="s">&quot;1&quot;</span> <span class="nt">/&gt;</span>&#x000A;        <span class="nt">&lt;/xs:choice&gt;</span>&#x000A;    <span class="nt">&lt;/xs:complexType&gt;</span>&#x000A;&#x000A;&#x000A;    <span class="nt">&lt;xs:complexType</span> <span class="na">name=</span><span class="s">&quot;bundle&quot;</span><span class="nt">&gt;</span>&#x000A;        <span class="nt">&lt;xs:annotation&gt;</span>&#x000A;            <span class="nt">&lt;xs:documentation&gt;</span><span class="cp">&lt;![CDATA[</span>&#x000A;<span class="cp">Deployable element to install.</span>&#x000A;<span class="cp">            ]]&gt;</span><span class="nt">&lt;/xs:documentation&gt;</span>&#x000A;        <span class="nt">&lt;/xs:annotation&gt;</span>&#x000A;        <span class="nt">&lt;xs:simpleContent&gt;</span>&#x000A;
             <span class="nt">&lt;xs:extension</span> <span class="na">base=</span><span class="s">&quot;xs:anyURI&quot;</span><span class="nt">&gt;</span>&#x000A;                <span class="nt">&lt;xs:attribute</span> <span class="na">name=</span><span class="s">&quot;start-level&quot;</span> <span class="na">type=</span><span class="s">&quot;xs:int&quot;</span><span class="nt">&gt;</span>&#x000A;                    <span class="nt">&lt;xs:annotation&gt;</span>&#x000A;                        <span class="nt">&lt;xs:documentation&gt;</span><span class="cp">&lt;![CDATA[</span>&#x000A;<span class="cp">Set this attribute to have an OSGi start level for this bundle different</span>&#x000A;<span class="cp">from the default start level defined in the Karaf&#39;s config.properties.</span>&#x000A;<span class="cp">                        ]]&gt;</span>&#x000A;                        <span class="nt">&lt;/xs:documentation&gt;</span>&#x000A;                    <span class="nt">&lt;/xs:annotatio
 n&gt;</span>&#x000A;                <span class="nt">&lt;/xs:attribute&gt;</span>&#x000A;                <span class="nt">&lt;xs:attribute</span> <span class="na">name=</span><span class="s">&quot;start&quot;</span> <span class="na">type=</span><span class="s">&quot;xs:boolean&quot;</span> <span class="na">default=</span><span class="s">&quot;true&quot;</span><span class="nt">&gt;</span>&#x000A;                    <span class="nt">&lt;xs:annotation&gt;</span>&#x000A;                        <span class="nt">&lt;xs:documentation&gt;</span><span class="cp">&lt;![CDATA[</span>&#x000A;<span class="cp">If false, leaves bundle in resolved state rather than the default active state.</span>&#x000A;<span class="cp">                        ]]&gt;</span>&#x000A;                        <span class="nt">&lt;/xs:documentation&gt;</span>&#x000A;                    <span class="nt">&lt;/xs:annotation&gt;</span>&#x000A;                <span class="nt">&lt;/xs:attribute&gt;</span>&#x000A;             
    <span class="nt">&lt;xs:attribute</span> <span class="na">name=</span><span class="s">&quot;dependency&quot;</span> <span class="na">type=</span><span class="s">&quot;xs:boolean&quot;</span><span class="nt">&gt;</span>&#x000A;                    <span class="nt">&lt;xs:annotation&gt;</span>&#x000A;                        <span class="nt">&lt;xs:documentation&gt;</span><span class="cp">&lt;![CDATA[</span>&#x000A;<span class="cp">Mark this bundle as a dependency for the resolver.</span>&#x000A;<span class="cp">                        ]]&gt;</span>&#x000A;                        <span class="nt">&lt;/xs:documentation&gt;</span>&#x000A;                    <span class="nt">&lt;/xs:annotation&gt;</span>&#x000A;                <span class="nt">&lt;/xs:attribute&gt;</span>&#x000A;            <span class="nt">&lt;/xs:extension&gt;</span>&#x000A;        <span class="nt">&lt;/xs:simpleContent&gt;</span>&#x000A;    <span class="nt">&lt;/xs:complexType&gt;</span>&#x000A;&#x000A;    <span clas
 s="nt">&lt;xs:complexType</span> <span class="na">name=</span><span class="s">&quot;dependency&quot;</span><span class="nt">&gt;</span>&#x000A;        <span class="nt">&lt;xs:annotation&gt;</span>&#x000A;            <span class="nt">&lt;xs:documentation&gt;</span><span class="cp">&lt;![CDATA[</span>&#x000A;<span class="cp">Dependency of feature.</span>&#x000A;<span class="cp">            ]]&gt;</span><span class="nt">&lt;/xs:documentation&gt;</span>&#x000A;        <span class="nt">&lt;/xs:annotation&gt;</span>&#x000A;        <span class="nt">&lt;xs:simpleContent&gt;</span>&#x000A;            <span class="nt">&lt;xs:extension</span> <span class="na">base=</span><span class="s">&quot;tns:featureName&quot;</span><span class="nt">&gt;</span>&#x000A;                <span class="nt">&lt;xs:attribute</span> <span class="na">name=</span><span class="s">&quot;version&quot;</span> <span class="na">type=</span><span class="s">&quot;xs:string&quot;</span> <span class="na">default=</span><span c
 lass="s">&quot;0.0.0&quot;</span> <span class="nt">/&gt;</span>&#x000A;            <span class="nt">&lt;/xs:extension&gt;</span>&#x000A;        <span class="nt">&lt;/xs:simpleContent&gt;</span>&#x000A;    <span class="nt">&lt;/xs:complexType&gt;</span>&#x000A;&#x000A;    <span class="nt">&lt;xs:complexType</span> <span class="na">name=</span><span class="s">&quot;config&quot;</span><span class="nt">&gt;</span>&#x000A;        <span class="nt">&lt;xs:annotation&gt;</span>&#x000A;            <span class="nt">&lt;xs:documentation&gt;</span><span class="cp">&lt;![CDATA[</span>&#x000A;<span class="cp">Configuration entries which should be created during feature installation. This</span>&#x000A;<span class="cp">configuration may be used with OSGi Configuration Admin. The element content is</span>&#x000A;<span class="cp">read in as a properties file.</span>&#x000A;<span class="cp">            ]]&gt;</span><span class="nt">&lt;/xs:documentation&gt;</span>&#x000A;        <span class="nt">&lt;
 /xs:annotation&gt;</span>&#x000A;        <span class="nt">&lt;xs:simpleContent&gt;</span>&#x000A;            <span class="nt">&lt;xs:extension</span> <span class="na">base=</span><span class="s">&quot;xs:string&quot;</span><span class="nt">&gt;</span>&#x000A;                <span class="nt">&lt;xs:attribute</span> <span class="na">name=</span><span class="s">&quot;name&quot;</span> <span class="na">type=</span><span class="s">&quot;xs:string&quot;</span> <span class="na">use=</span><span class="s">&quot;required&quot;</span> <span class="nt">/&gt;</span>&#x000A;            <span class="nt">&lt;/xs:extension&gt;</span>&#x000A;        <span class="nt">&lt;/xs:simpleContent&gt;</span>&#x000A;    <span class="nt">&lt;/xs:complexType&gt;</span>&#x000A;&#x000A;    <span class="nt">&lt;xs:complexType</span> <span class="na">name=</span><span class="s">&quot;configFile&quot;</span><span class="nt">&gt;</span>&#x000A;        <span class="nt">&lt;xs:annotation&gt;</span>&#x000A;            <s
 pan class="nt">&lt;xs:documentation&gt;</span><span class="cp">&lt;![CDATA[</span>&#x000A;<span class="cp">Additional configuration files which should be created during feature installation.</span>&#x000A;<span class="cp">            ]]&gt;</span><span class="nt">&lt;/xs:documentation&gt;</span>&#x000A;        <span class="nt">&lt;/xs:annotation&gt;</span>&#x000A;        <span class="nt">&lt;xs:simpleContent&gt;</span>&#x000A;            <span class="nt">&lt;xs:extension</span> <span class="na">base=</span><span class="s">&quot;xs:anyURI&quot;</span><span class="nt">&gt;</span>&#x000A;                <span class="nt">&lt;xs:attribute</span> <span class="na">name=</span><span class="s">&quot;finalname&quot;</span> <span class="na">type=</span><span class="s">&quot;xs:string&quot;</span> <span class="na">use=</span><span class="s">&quot;required&quot;</span><span class="nt">&gt;</span>&#x000A;                    <span class="nt">&lt;xs:annotation&gt;</span>&#x000A;                    
     <span class="nt">&lt;xs:documentation&gt;</span><span class="cp">&lt;![CDATA[</span>&#x000A;<span class="cp">The final destination path and name for the configuration file.</span>&#x000A;<span class="cp">                        ]]&gt;</span><span class="nt">&lt;/xs:documentation&gt;</span>&#x000A;                    <span class="nt">&lt;/xs:annotation&gt;</span>&#x000A;                <span class="nt">&lt;/xs:attribute&gt;</span>&#x000A;                <span class="nt">&lt;xs:attribute</span> <span class="na">name=</span><span class="s">&quot;override&quot;</span> <span class="na">type=</span><span class="s">&quot;xs:boolean&quot;</span><span class="nt">&gt;</span>&#x000A;                    <span class="nt">&lt;xs:annotation&gt;</span>&#x000A;                        <span class="nt">&lt;xs:documentation&gt;</span><span class="cp">&lt;![CDATA[</span>&#x000A;<span class="cp">If the configFile already exists at the finalname location, whether or not to replace it.</span>&#x000A;<s
 pan class="cp">                        ]]&gt;</span><span class="nt">&lt;/xs:documentation&gt;</span>&#x000A;                    <span class="nt">&lt;/xs:annotation&gt;</span>&#x000A;                <span class="nt">&lt;/xs:attribute&gt;</span>&#x000A;&#x000A;            <span class="nt">&lt;/xs:extension&gt;</span>&#x000A;        <span class="nt">&lt;/xs:simpleContent&gt;</span>&#x000A;    <span class="nt">&lt;/xs:complexType&gt;</span>&#x000A;&#x000A;    <span class="nt">&lt;xs:simpleType</span> <span class="na">name=</span><span class="s">&quot;featureName&quot;</span><span class="nt">&gt;</span>&#x000A;        <span class="nt">&lt;xs:annotation&gt;</span>&#x000A;            <span class="nt">&lt;xs:documentation&gt;</span><span class="cp">&lt;![CDATA[</span>&#x000A;<span class="cp">Feature name should be non empty string.</span>&#x000A;<span class="cp">            ]]&gt;</span><span class="nt">&lt;/xs:documentation&gt;</span>&#x000A;        <span class="nt">&lt;/xs:annotation&gt;
 </span>&#x000A;        <span class="nt">&lt;xs:restriction</span> <span class="na">base=</span><span class="s">&quot;xs:string&quot;</span><span class="nt">&gt;</span>&#x000A;            <span class="nt">&lt;xs:minLength</span> <span class="na">value=</span><span class="s">&quot;1&quot;</span> <span class="nt">/&gt;</span>&#x000A;        <span class="nt">&lt;/xs:restriction&gt;</span>&#x000A;    <span class="nt">&lt;/xs:simpleType&gt;</span>&#x000A;&#x000A;    <span class="nt">&lt;xs:simpleType</span> <span class="na">name=</span><span class="s">&quot;resolver&quot;</span><span class="nt">&gt;</span>&#x000A;        <span class="nt">&lt;xs:annotation&gt;</span>&#x000A;            <span class="nt">&lt;xs:documentation&gt;</span><span class="cp">&lt;![CDATA[</span>&#x000A;<span class="cp">Resolver to use. Karaf will look for OSGi service which have following properties:</span>&#x000A;<span class="cp">objectClass: org.apache.karaf.features.Resolver</span>&#x000A;<span class="cp">name: t
 he value</span>&#x000A;<span class="cp">            ]]&gt;</span><span class="nt">&lt;/xs:documentation&gt;</span>&#x000A;        <span class="nt">&lt;/xs:annotation&gt;</span>&#x000A;        <span class="nt">&lt;xs:restriction</span> <span class="na">base=</span><span class="s">&quot;xs:string&quot;</span><span class="nt">&gt;</span>&#x000A;            <span class="nt">&lt;xs:minLength</span> <span class="na">value=</span><span class="s">&quot;1&quot;</span> <span class="nt">/&gt;</span>&#x000A;        <span class="nt">&lt;/xs:restriction&gt;</span>&#x000A;    <span class="nt">&lt;/xs:simpleType&gt;</span>&#x000A;    <span class="nt">&lt;xs:simpleType</span> <span class="na">name=</span><span class="s">&quot;install&quot;</span><span class="nt">&gt;</span>&#x000A;        <span class="nt">&lt;xs:annotation&gt;</span>&#x000A;            <span class="nt">&lt;xs:documentation&gt;</span><span class="cp">&lt;![CDATA[</span>&#x000A;<span class="cp">Installation mode. Can be either manual 
 or auto. Specifies whether the feature should be automatically installed when</span>&#x000A;<span class="cp">dropped inside the deploy folder. Note: This attribute doesn&#39;t affect feature descriptors that are installed from the</span>&#x000A;<span class="cp">command line or as part of the org.apache.karaf.features.cfg.</span>&#x000A;<span class="cp">            ]]&gt;</span><span class="nt">&lt;/xs:documentation&gt;</span>&#x000A;        <span class="nt">&lt;/xs:annotation&gt;</span>&#x000A;        <span class="nt">&lt;xs:restriction</span> <span class="na">base=</span><span class="s">&quot;xs:string&quot;</span><span class="nt">&gt;</span>&#x000A;            <span class="nt">&lt;xs:minLength</span> <span class="na">value=</span><span class="s">&quot;1&quot;</span> <span class="nt">/&gt;</span>&#x000A;        <span class="nt">&lt;/xs:restriction&gt;</span>&#x000A;    <span class="nt">&lt;/xs:simpleType&gt;</span>&#x000A;    <span class="nt">&lt;xs:element</span> <span class="na">
 name=</span><span class="s">&quot;features&quot;</span> <span class="na">type=</span><span class="s">&quot;tns:features&quot;</span> <span class="nt">/&gt;</span>&#x000A;&#x000A;<span class="nt">&lt;/xs:schema&gt;</span>&#x000A;</pre></div>&#x000A;</div><h2 id="karaffeatures1.1.0.xsd">karaf-features-1.1.0.xsd</h2><div class="syntax"><div class="highlight"><pre><span class="cp">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;</span>&#x000A;<span class="c">&lt;!--</span>&#x000A;<span class="c">    Licensed to the Apache Software Foundation (ASF) under one or more</span>&#x000A;<span class="c">    contributor license agreements. See the NOTICE file distributed with</span>&#x000A;<span class="c">    this work for additional information regarding copyright ownership.</span>&#x000A;<span class="c">    The ASF licenses this file to You under the Apache License, Version 2.0</span>&#x000A;<span class="c">    (the &quot;License&quot;); you may not use this file except in compl
 iance with</span>&#x000A;<span class="c">    the License. You may obtain a copy of the License at</span>&#x000A;&#x000A;<span class="c">       http://www.apache.org/licenses/LICENSE-2.0</span>&#x000A;&#x000A;<span class="c">    Unless required by applicable law or agreed to in writing, software</span>&#x000A;<span class="c">    distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>&#x000A;<span class="c">    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>&#x000A;<span class="c">    See the License for the specific language governing permissions and</span>&#x000A;<span class="c">    limitations under the License.</span>&#x000A;&#x000A;<span class="c">--&gt;</span>&#x000A;<span class="nt">&lt;xs:schema</span> <span class="na">elementFormDefault=</span><span class="s">&quot;qualified&quot;</span>&#x000A;    <span class="na">targetNamespace=</span><span class="s">&quot;http://karaf.apache.org/xmlns/features/v1.1.0&quot;</span>&
 #x000A;    <span class="na">xmlns:tns=</span><span class="s">&quot;http://karaf.apache.org/xmlns/features/v1.1.0&quot;</span>&#x000A;    <span class="na">xmlns:xs=</span><span class="s">&quot;http://www.w3.org/2001/XMLSchema&quot;</span><span class="nt">&gt;</span>&#x000A;&#x000A;    <span class="nt">&lt;xs:annotation&gt;</span>&#x000A;        <span class="nt">&lt;xs:documentation&gt;</span><span class="cp">&lt;![CDATA[</span>&#x000A;<span class="cp">Karaf features mechanism. For documentation please visit the</span>&#x000A;<span class="cp">&lt;a href=&quot;http://karaf.apache.org/&quot;&gt;Karaf website&lt;/a&gt;.</span>&#x000A;<span class="cp">        ]]&gt;</span><span class="nt">&lt;/xs:documentation&gt;</span>&#x000A;    <span class="nt">&lt;/xs:annotation&gt;</span>&#x000A;&#x000A;    <span class="nt">&lt;xs:complexType</span> <span class="na">name=</span><span class="s">&quot;features&quot;</span><span class="nt">&gt;</span>&#x000A;        <span class="nt">&lt;xs:annotation&g
 t;</span>&#x000A;            <span class="nt">&lt;xs:documentation&gt;</span><span class="cp">&lt;![CDATA[</span>&#x000A;<span class="cp">Root element of Feature definition. It contains an required attribute for</span>&#x000A;<span class="cp">designating from which repository this feature should be loaded. The Karaf</span>&#x000A;<span class="cp">shell will show the repository name when displaying information about the feature.</span>&#x000A;<span class="cp">            ]]&gt;</span><span class="nt">&lt;/xs:documentation&gt;</span>&#x000A;        <span class="nt">&lt;/xs:annotation&gt;</span>&#x000A;        <span class="nt">&lt;xs:choice</span> <span class="na">minOccurs=</span><span class="s">&quot;0&quot;</span> <span class="na">maxOccurs=</span><span class="s">&quot;unbounded&quot;</span><span class="nt">&gt;</span>&#x000A;            <span class="nt">&lt;xs:element</span> <span class="na">name=</span><span class="s">&quot;repository&quot;</span> <span class="na">type=</span><spa
 n class="s">&quot;xs:anyURI&quot;</span><span class="nt">&gt;</span>&#x000A;                <span class="nt">&lt;xs:annotation&gt;</span>&#x000A;                    <span class="nt">&lt;xs:documentation&gt;</span><span class="cp">&lt;![CDATA[</span>&#x000A;<span class="cp">Additional repositories where dependencies are stored.</span>&#x000A;<span class="cp">                    ]]&gt;</span><span class="nt">&lt;/xs:documentation&gt;</span>&#x000A;                <span class="nt">&lt;/xs:annotation&gt;</span>&#x000A;            <span class="nt">&lt;/xs:element&gt;</span>&#x000A;            <span class="nt">&lt;xs:element</span> <span class="na">name=</span><span class="s">&quot;feature&quot;</span> <span class="na">type=</span><span class="s">&quot;tns:feature&quot;</span><span class="nt">&gt;</span>&#x000A;                <span class="nt">&lt;xs:annotation&gt;</span>&#x000A;                    <span class="nt">&lt;xs:documentation&gt;</span><span class="cp">&lt;![CDATA[</span>&#x000A
 ;<span class="cp">Feature definition.</span>&#x000A;<span class="cp">                    ]]&gt;</span><span class="nt">&lt;/xs:documentation&gt;</span>&#x000A;                <span class="nt">&lt;/xs:annotation&gt;</span>&#x000A;            <span class="nt">&lt;/xs:element&gt;</span>&#x000A;        <span class="nt">&lt;/xs:choice&gt;</span>&#x000A;        <span class="nt">&lt;xs:attribute</span> <span class="na">name=</span><span class="s">&quot;name&quot;</span> <span class="na">type=</span><span class="s">&quot;xs:string&quot;</span> <span class="na">use=</span><span class="s">&quot;required&quot;</span><span class="nt">/&gt;</span>&#x000A;    <span class="nt">&lt;/xs:complexType&gt;</span>&#x000A;&#x000A;    <span class="nt">&lt;xs:complexType</span> <span class="na">name=</span><span class="s">&quot;feature&quot;</span><span class="nt">&gt;</span>&#x000A;        <span class="nt">&lt;xs:annotation&gt;</span>&#x000A;            <span class="nt">&lt;xs:documentation&gt;</span><span
  class="cp">&lt;![CDATA[</span>&#x000A;<span class="cp">Definition of the Feature.</span>&#x000A;<span class="cp">            ]]&gt;</span><span class="nt">&lt;/xs:documentation&gt;</span>&#x000A;        <span class="nt">&lt;/xs:annotation&gt;</span>&#x000A;        <span class="nt">&lt;xs:choice</span> <span class="na">minOccurs=</span><span class="s">&quot;0&quot;</span> <span class="na">maxOccurs=</span><span class="s">&quot;unbounded&quot;</span><span class="nt">&gt;</span>&#x000A;            <span class="nt">&lt;xs:element</span> <span class="na">name=</span><span class="s">&quot;details&quot;</span> <span class="na">minOccurs=</span><span class="s">&quot;0&quot;</span> <span class="na">type=</span><span class="s">&quot;xs:string&quot;</span><span class="nt">&gt;</span>&#x000A;                <span class="nt">&lt;xs:annotation&gt;</span>&#x000A;                    <span class="nt">&lt;xs:documentation&gt;</span><span class="cp">&lt;![CDATA[</span>&#x000A;<span class="cp">The hel
 p text shown for this feature when using feature:info console command.</span>&#x000A;<span class="cp">                    ]]&gt;</span>&#x000A;                    <span class="nt">&lt;/xs:documentation&gt;</span>&#x000A;                <span class="nt">&lt;/xs:annotation&gt;</span>&#x000A;            <span class="nt">&lt;/xs:element&gt;</span>&#x000A;            <span class="nt">&lt;xs:element</span> <span class="na">name=</span><span class="s">&quot;config&quot;</span> <span class="na">type=</span><span class="s">&quot;tns:config&quot;</span> <span class="nt">/&gt;</span>&#x000A;            <span class="nt">&lt;xs:element</span> <span class="na">name=</span><span class="s">&quot;configfile&quot;</span> <span class="na">type=</span><span class="s">&quot;tns:configFile&quot;</span> <span class="nt">/&gt;</span>&#x000A;            <span class="nt">&lt;xs:element</span> <span class="na">name=</span><span class="s">&quot;feature&quot;</span> <span class="na">type=</span><span class="s">
 &quot;tns:dependency&quot;</span> <span class="nt">/&gt;</span>&#x000A;            <span class="nt">&lt;xs:element</span> <span class="na">name=</span><span class="s">&quot;bundle&quot;</span> <span class="na">type=</span><span class="s">&quot;tns:bundle&quot;</span> <span class="nt">/&gt;</span>&#x000A;        <span class="nt">&lt;/xs:choice&gt;</span>&#x000A;        <span class="nt">&lt;xs:attribute</span> <span class="na">name=</span><span class="s">&quot;name&quot;</span> <span class="na">type=</span><span class="s">&quot;tns:featureName&quot;</span> <span class="na">use=</span><span class="s">&quot;required&quot;</span> <span class="nt">/&gt;</span>&#x000A;        <span class="nt">&lt;xs:attribute</span> <span class="na">name=</span><span class="s">&quot;version&quot;</span> <span class="na">type=</span><span class="s">&quot;xs:string&quot;</span> <span class="na">default=</span><span class="s">&quot;0.0.0&quot;</span> <span class="nt">/&gt;</span>&#x000A;        <span class="n
 t">&lt;xs:attribute</span> <span class="na">name=</span><span class="s">&quot;description&quot;</span> <span class="na">type=</span><span class="s">&quot;xs:string&quot;</span> <span class="nt">/&gt;</span>&#x000A;        <span class="nt">&lt;xs:attribute</span> <span class="na">name=</span><span class="s">&quot;resolver&quot;</span> <span class="na">type=</span><span class="s">&quot;tns:resolver&quot;</span><span class="nt">&gt;</span>&#x000A;            <span class="nt">&lt;xs:annotation&gt;</span>&#x000A;                <span class="nt">&lt;xs:documentation&gt;</span><span class="cp">&lt;![CDATA[</span>&#x000A;<span class="cp">Optional alternative resolver to use for determining the list of bundles to install for a given feature.</span>&#x000A;<span class="cp">                ]]&gt;</span>&#x000A;                <span class="nt">&lt;/xs:documentation&gt;</span>&#x000A;            <span class="nt">&lt;/xs:annotation&gt;</span>&#x000A;        <span class="nt">&lt;/xs:attribute&gt;<
 /span>&#x000A;        <span class="nt">&lt;xs:attribute</span> <span class="na">name=</span><span class="s">&quot;install&quot;</span> <span class="na">type=</span><span class="s">&quot;tns:install&quot;</span><span class="nt">&gt;</span>&#x000A;            <span class="nt">&lt;xs:annotation&gt;</span>&#x000A;                <span class="nt">&lt;xs:documentation&gt;</span><span class="cp">&lt;![CDATA[</span>&#x000A;<span class="cp">Marks if the feaute will be automatically started when thrown to the deploy folder.</span>&#x000A;<span class="cp">                ]]&gt;</span>&#x000A;                <span class="nt">&lt;/xs:documentation&gt;</span>&#x000A;            <span class="nt">&lt;/xs:annotation&gt;</span>&#x000A;        <span class="nt">&lt;/xs:attribute&gt;</span>&#x000A;        <span class="nt">&lt;xs:attribute</span> <span class="na">name=</span><span class="s">&quot;start-level&quot;</span> <span class="na">type=</span><span class="s">&quot;xs:int&quot;</span><span class="n
 t">&gt;</span>&#x000A;             <span class="nt">&lt;xs:annotation&gt;</span>&#x000A;                <span class="nt">&lt;xs:documentation&gt;</span><span class="cp">&lt;![CDATA[</span>&#x000A;<span class="cp">Set this attribute to have an OSGi start level for this feature different</span>&#x000A;<span class="cp">from the default start level defined in Karaf&#39;s config.properties.</span>&#x000A;<span class="cp">                ]]&gt;</span>&#x000A;                <span class="nt">&lt;/xs:documentation&gt;</span>&#x000A;             <span class="nt">&lt;/xs:annotation&gt;</span>&#x000A;         <span class="nt">&lt;/xs:attribute&gt;</span>&#x000A;    <span class="nt">&lt;/xs:complexType&gt;</span>&#x000A;&#x000A;    <span class="nt">&lt;xs:complexType</span> <span class="na">name=</span><span class="s">&quot;bundle&quot;</span><span class="nt">&gt;</span>&#x000A;        <span class="nt">&lt;xs:annotation&gt;</span>&#x000A;            <span class="nt">&lt;xs:documentation&gt;</sp
 an><span class="cp">&lt;![CDATA[</span>&#x000A;<span class="cp">Deployable element to install.</span>&#x000A;<span class="cp">            ]]&gt;</span><span class="nt">&lt;/xs:documentation&gt;</span>&#x000A;        <span class="nt">&lt;/xs:annotation&gt;</span>&#x000A;        <span class="nt">&lt;xs:simpleContent&gt;</span>&#x000A;            <span class="nt">&lt;xs:extension</span> <span class="na">base=</span><span class="s">&quot;xs:anyURI&quot;</span><span class="nt">&gt;</span>&#x000A;                <span class="nt">&lt;xs:attribute</span> <span class="na">name=</span><span class="s">&quot;start-level&quot;</span> <span class="na">type=</span><span class="s">&quot;xs:int&quot;</span><span class="nt">&gt;</span>&#x000A;                    <span class="nt">&lt;xs:annotation&gt;</span>&#x000A;                        <span class="nt">&lt;xs:documentation&gt;</span><span class="cp">&lt;![CDATA[</span>&#x000A;<span class="cp">Set this attribute to have an OSGi start level for this 
 bundle different</span>&#x000A;<span class="cp">from the default start level defined in the Karaf&#39;s config.properties.</span>&#x000A;<span class="cp">                        ]]&gt;</span>&#x000A;                        <span class="nt">&lt;/xs:documentation&gt;</span>&#x000A;                    <span class="nt">&lt;/xs:annotation&gt;</span>&#x000A;                <span class="nt">&lt;/xs:attribute&gt;</span>&#x000A;                <span class="nt">&lt;xs:attribute</span> <span class="na">name=</span><span class="s">&quot;start&quot;</span> <span class="na">type=</span><span class="s">&quot;xs:boolean&quot;</span> <span class="na">default=</span><span class="s">&quot;true&quot;</span><span class="nt">&gt;</span>&#x000A;                    <span class="nt">&lt;xs:annotation&gt;</span>&#x000A;                        <span class="nt">&lt;xs:documentation&gt;</span><span class="cp">&lt;![CDATA[</span>&#x000A;<span class="cp">If false, leaves bundle in resolved state rather than the d
 efault active state.</span>&#x000A;<span class="cp">                        ]]&gt;</span>&#x000A;                        <span class="nt">&lt;/xs:documentation&gt;</span>&#x000A;                    <span class="nt">&lt;/xs:annotation&gt;</span>&#x000A;                <span class="nt">&lt;/xs:attribute&gt;</span>&#x000A;                <span class="nt">&lt;xs:attribute</span> <span class="na">name=</span><span class="s">&quot;dependency&quot;</span> <span class="na">type=</span><span class="s">&quot;xs:boolean&quot;</span><span class="nt">&gt;</span>&#x000A;                    <span class="nt">&lt;xs:annotation&gt;</span>&#x000A;                        <span class="nt">&lt;xs:documentation&gt;</span><span class="cp">&lt;![CDATA[</span>&#x000A;<span class="cp">Mark this bundle as a dependency for the resolver.</span>&#x000A;<span class="cp">                        ]]&gt;</span>&#x000A;                        <span class="nt">&lt;/xs:documentation&gt;</span>&#x000A;                    
 <span class="nt">&lt;/xs:annotation&gt;</span>&#x000A;                <span class="nt">&lt;/xs:attribute&gt;</span>&#x000A;            <span class="nt">&lt;/xs:extension&gt;</span>&#x000A;        <span class="nt">&lt;/xs:simpleContent&gt;</span>&#x000A;    <span class="nt">&lt;/xs:complexType&gt;</span>&#x000A;&#x000A;    <span class="nt">&lt;xs:complexType</span> <span class="na">name=</span><span class="s">&quot;dependency&quot;</span><span class="nt">&gt;</span>&#x000A;        <span class="nt">&lt;xs:annotation&gt;</span>&#x000A;            <span class="nt">&lt;xs:documentation&gt;</span><span class="cp">&lt;![CDATA[</span>&#x000A;<span class="cp">Dependency of feature.</span>&#x000A;<span class="cp">            ]]&gt;</span><span class="nt">&lt;/xs:documentation&gt;</span>&#x000A;        <span class="nt">&lt;/xs:annotation&gt;</span>&#x000A;        <span class="nt">&lt;xs:simpleContent&gt;</span>&#x000A;            <span class="nt">&lt;xs:extension</span> <span class="na">base=<
 /span><span class="s">&quot;tns:featureName&quot;</span><span class="nt">&gt;</span>&#x000A;                <span class="nt">&lt;xs:attribute</span> <span class="na">name=</span><span class="s">&quot;version&quot;</span> <span class="na">type=</span><span class="s">&quot;xs:string&quot;</span> <span class="na">default=</span><span class="s">&quot;0.0.0&quot;</span> <span class="nt">/&gt;</span>&#x000A;            <span class="nt">&lt;/xs:extension&gt;</span>&#x000A;        <span class="nt">&lt;/xs:simpleContent&gt;</span>&#x000A;    <span class="nt">&lt;/xs:complexType&gt;</span>&#x000A;&#x000A;    <span class="nt">&lt;xs:complexType</span> <span class="na">name=</span><span class="s">&quot;config&quot;</span><span class="nt">&gt;</span>&#x000A;        <span class="nt">&lt;xs:annotation&gt;</span>&#x000A;            <span class="nt">&lt;xs:documentation&gt;</span><span class="cp">&lt;![CDATA[</span>&#x000A;<span class="cp">Configuration entries which should be created during feature
  installation. This</span>&#x000A;<span class="cp">configuration may be used with OSGi Configuration Admin. The element content is</span>&#x000A;<span class="cp">read in as a properties file.</span>&#x000A;<span class="cp">            ]]&gt;</span><span class="nt">&lt;/xs:documentation&gt;</span>&#x000A;        <span class="nt">&lt;/xs:annotation&gt;</span>&#x000A;        <span class="nt">&lt;xs:simpleContent&gt;</span>&#x000A;            <span class="nt">&lt;xs:extension</span> <span class="na">base=</span><span class="s">&quot;xs:string&quot;</span><span class="nt">&gt;</span>&#x000A;                <span class="nt">&lt;xs:attribute</span> <span class="na">name=</span><span class="s">&quot;name&quot;</span> <span class="na">type=</span><span class="s">&quot;xs:string&quot;</span> <span class="na">use=</span><span class="s">&quot;required&quot;</span> <span class="nt">/&gt;</span>&#x000A;            <span class="nt">&lt;/xs:extension&gt;</span>&#x000A;        <span class="nt">&lt;/
 xs:simpleContent&gt;</span>&#x000A;    <span class="nt">&lt;/xs:complexType&gt;</span>&#x000A;&#x000A;    <span class="nt">&lt;xs:complexType</span> <span class="na">name=</span><span class="s">&quot;configFile&quot;</span><span class="nt">&gt;</span>&#x000A;        <span class="nt">&lt;xs:annotation&gt;</span>&#x000A;            <span class="nt">&lt;xs:documentation&gt;</span><span class="cp">&lt;![CDATA[</span>&#x000A;<span class="cp">Additional configuration files which should be created during feature installation.</span>&#x000A;<span class="cp">            ]]&gt;</span><span class="nt">&lt;/xs:documentation&gt;</span>&#x000A;        <span class="nt">&lt;/xs:annotation&gt;</span>&#x000A;        <span class="nt">&lt;xs:simpleContent&gt;</span>&#x000A;            <span class="nt">&lt;xs:extension</span> <span class="na">base=</span><span class="s">&quot;xs:anyURI&quot;</span><span class="nt">&gt;</span>&#x000A;                <span class="nt">&lt;xs:attribute</span> <span class="n
 a">name=</span><span class="s">&quot;finalname&quot;</span> <span class="na">type=</span><span class="s">&quot;xs:string&quot;</span> <span class="na">use=</span><span class="s">&quot;required&quot;</span><span class="nt">&gt;</span>&#x000A;                    <span class="nt">&lt;xs:annotation&gt;</span>&#x000A;                        <span class="nt">&lt;xs:documentation&gt;</span><span class="cp">&lt;![CDATA[</span>&#x000A;<span class="cp">The final destination path and name for the configuration file.</span>&#x000A;<span class="cp">                        ]]&gt;</span><span class="nt">&lt;/xs:documentation&gt;</span>&#x000A;                    <span class="nt">&lt;/xs:annotation&gt;</span>&#x000A;                <span class="nt">&lt;/xs:attribute&gt;</span>&#x000A;                <span class="nt">&lt;xs:attribute</span> <span class="na">name=</span><span class="s">&quot;override&quot;</span> <span class="na">type=</span><span class="s">&quot;xs:boolean&quot;</span><span class="n
 t">&gt;</span>&#x000A;                    <span class="nt">&lt;xs:annotation&gt;</span>&#x000A;                        <span class="nt">&lt;xs:documentation&gt;</span><span class="cp">&lt;![CDATA[</span>&#x000A;<span class="cp">If the configFile already exists at the finalname location, whether or not to replace it.</span>&#x000A;<span class="cp">                        ]]&gt;</span><span class="nt">&lt;/xs:documentation&gt;</span>&#x000A;                    <span class="nt">&lt;/xs:annotation&gt;</span>&#x000A;                <span class="nt">&lt;/xs:attribute&gt;</span>&#x000A;&#x000A;            <span class="nt">&lt;/xs:extension&gt;</span>&#x000A;        <span class="nt">&lt;/xs:simpleContent&gt;</span>&#x000A;    <span class="nt">&lt;/xs:complexType&gt;</span>&#x000A;&#x000A;    <span class="nt">&lt;xs:simpleType</span> <span class="na">name=</span><span class="s">&quot;featureName&quot;</span><span class="nt">&gt;</span>&#x000A;        <span class="nt">&lt;xs:annotation&gt;</s
 pan>&#x000A;            <span class="nt">&lt;xs:documentation&gt;</span><span class="cp">&lt;![CDATA[</span>&#x000A;<span class="cp">Feature name should be non empty string.</span>&#x000A;<span class="cp">            ]]&gt;</span><span class="nt">&lt;/xs:documentation&gt;</span>&#x000A;        <span class="nt">&lt;/xs:annotation&gt;</span>&#x000A;        <span class="nt">&lt;xs:restriction</span> <span class="na">base=</span><span class="s">&quot;xs:string&quot;</span><span class="nt">&gt;</span>&#x000A;            <span class="nt">&lt;xs:minLength</span> <span class="na">value=</span><span class="s">&quot;1&quot;</span> <span class="nt">/&gt;</span>&#x000A;        <span class="nt">&lt;/xs:restriction&gt;</span>&#x000A;    <span class="nt">&lt;/xs:simpleType&gt;</span>&#x000A;&#x000A;    <span class="nt">&lt;xs:simpleType</span> <span class="na">name=</span><span class="s">&quot;resolver&quot;</span><span class="nt">&gt;</span>&#x000A;        <span class="nt">&lt;xs:annotation&gt;</
 span>&#x000A;            <span class="nt">&lt;xs:documentation&gt;</span><span class="cp">&lt;![CDATA[</span>&#x000A;<span class="cp">Resolver to use. Karaf will look for OSGi service which have following properties:</span>&#x000A;<span class="cp">objectClass: org.apache.karaf.features.Resolver</span>&#x000A;<span class="cp">name: the value</span>&#x000A;<span class="cp">            ]]&gt;</span><span class="nt">&lt;/xs:documentation&gt;</span>&#x000A;        <span class="nt">&lt;/xs:annotation&gt;</span>&#x000A;        <span class="nt">&lt;xs:restriction</span> <span class="na">base=</span><span class="s">&quot;xs:string&quot;</span><span class="nt">&gt;</span>&#x000A;            <span class="nt">&lt;xs:minLength</span> <span class="na">value=</span><span class="s">&quot;1&quot;</span> <span class="nt">/&gt;</span>&#x000A;        <span class="nt">&lt;/xs:restriction&gt;</span>&#x000A;    <span class="nt">&lt;/xs:simpleType&gt;</span>&#x000A;    <span class="nt">&lt;xs:simpleType</s
 pan> <span class="na">name=</span><span class="s">&quot;install&quot;</span><span class="nt">&gt;</span>&#x000A;        <span class="nt">&lt;xs:annotation&gt;</span>&#x000A;            <span class="nt">&lt;xs:documentation&gt;</span><span class="cp">&lt;![CDATA[</span>&#x000A;<span class="cp">Installation mode. Can be either manual or auto. Specifies whether the feature should be automatically installed when</span>&#x000A;<span class="cp">dropped inside the deploy folder. Note: This attribute doesn&#39;t affect feature descriptors that are installed from the</span>&#x000A;<span class="cp">command line or as part of the org.apache.karaf.features.cfg.</span>&#x000A;<span class="cp">            ]]&gt;</span><span class="nt">&lt;/xs:documentation&gt;</span>&#x000A;        <span class="nt">&lt;/xs:annotation&gt;</span>&#x000A;        <span class="nt">&lt;xs:restriction</span> <span class="na">base=</span><span class="s">&quot;xs:string&quot;</span><span class="nt">&gt;</span>&#x000A;    
         <span class="nt">&lt;xs:minLength</span> <span class="na">value=</span><span class="s">&quot;1&quot;</span> <span class="nt">/&gt;</span>&#x000A;        <span class="nt">&lt;/xs:restriction&gt;</span>&#x000A;    <span class="nt">&lt;/xs:simpleType&gt;</span>&#x000A;    <span class="nt">&lt;xs:element</span> <span class="na">name=</span><span class="s">&quot;features&quot;</span> <span class="na">type=</span><span class="s">&quot;tns:features&quot;</span> <span class="nt">/&gt;</span>&#x000A;&#x000A;<span class="nt">&lt;/xs:schema&gt;</span>&#x000A;</pre></div>&#x000A;</div><h2 id="karaffeatures1.0.0.xsd">karaf-features-1.0.0.xsd</h2><div class="syntax"><div class="highlight"><pre><span class="cp">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;</span>&#x000A;<span class="c">&lt;!--</span>&#x000A;<span class="c">    Licensed to the Apache Software Foundation (ASF) under one or more</span>&#x000A;<span class="c">    contributor license agreements. See the NOTIC
 E file distributed with</span>&#x000A;<span class="c">    this work for additional information regarding copyright ownership.</span>&#x000A;<span class="c">    The ASF licenses this file to You under the Apache License, Version 2.0</span>&#x000A;<span class="c">    (the &quot;License&quot;); you may not use this file except in compliance with</span>&#x000A;<span class="c">    the License. You may obtain a copy of the License at</span>&#x000A;&#x000A;<span class="c">       http://www.apache.org/licenses/LICENSE-2.0</span>&#x000A;&#x000A;<span class="c">    Unless required by applicable law or agreed to in writing, software</span>&#x000A;<span class="c">    distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>&#x000A;<span class="c">    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>&#x000A;<span class="c">    See the License for the specific language governing permissions and</span>&#x000A;<span class="c">    limitations un
 der the License.</span>&#x000A;&#x000A;<span class="c">--&gt;</span>&#x000A;<span class="nt">&lt;xs:schema</span> <span class="na">elementFormDefault=</span><span class="s">&quot;qualified&quot;</span>&#x000A;    <span class="na">targetNamespace=</span><span class="s">&quot;http://karaf.apache.org/xmlns/features/v1.0.0&quot;</span>&#x000A;    <span class="na">xmlns:tns=</span><span class="s">&quot;http://karaf.apache.org/xmlns/features/v1.0.0&quot;</span>&#x000A;    <span class="na">xmlns:xs=</span><span class="s">&quot;http://www.w3.org/2001/XMLSchema&quot;</span><span class="nt">&gt;</span>&#x000A;&#x000A;    <span class="nt">&lt;xs:annotation&gt;</span>&#x000A;        <span class="nt">&lt;xs:documentation&gt;</span><span class="cp">&lt;![CDATA[</span>&#x000A;<span class="cp">Karaf features mechanism. For documentation please visit the</span>&#x000A;<span class="cp">&lt;a href=&quot;http://karaf.apache.org/&quot;&gt;Karaf website&lt;/a&gt;.</span>&#x000A;<span class="cp">        ]
 ]&gt;</span><span class="nt">&lt;/xs:documentation&gt;</span>&#x000A;    <span class="nt">&lt;/xs:annotation&gt;</span>&#x000A;&#x000A;    <span class="nt">&lt;xs:complexType</span> <span class="na">name=</span><span class="s">&quot;features&quot;</span><span class="nt">&gt;</span>&#x000A;        <span class="nt">&lt;xs:annotation&gt;</span>&#x000A;            <span class="nt">&lt;xs:documentation&gt;</span><span class="cp">&lt;![CDATA[</span>&#x000A;<span class="cp">Root element of the Feature definition. It contains an optional attribute for</span>&#x000A;<span class="cp">designating the name of the repository of this feature. The Karaf shell will</span>&#x000A;<span class="cp">show the repository name when displaying information about the feature.</span>&#x000A;<span class="cp">            ]]&gt;</span><span class="nt">&lt;/xs:documentation&gt;</span>&#x000A;        <span class="nt">&lt;/xs:annotation&gt;</span>&#x000A;        <span class="nt">&lt;xs:choice</span> <span class="na
 ">minOccurs=</span><span class="s">&quot;0&quot;</span> <span class="na">maxOccurs=</span><span class="s">&quot;unbounded&quot;</span><span class="nt">&gt;</span>&#x000A;            <span class="nt">&lt;xs:element</span> <span class="na">name=</span><span class="s">&quot;repository&quot;</span> <span class="na">type=</span><span class="s">&quot;xs:anyURI&quot;</span><span class="nt">&gt;</span>&#x000A;                <span class="nt">&lt;xs:annotation&gt;</span>&#x000A;                    <span class="nt">&lt;xs:documentation&gt;</span><span class="cp">&lt;![CDATA[</span>&#x000A;<span class="cp">Additional repositories where dependencies are stored.</span>&#x000A;<span class="cp">                    ]]&gt;</span><span class="nt">&lt;/xs:documentation&gt;</span>&#x000A;                <span class="nt">&lt;/xs:annotation&gt;</span>&#x000A;            <span class="nt">&lt;/xs:element&gt;</span>&#x000A;            <span class="nt">&lt;xs:element</span> <span class="na">name=</span><span
  class="s">&quot;feature&quot;</span> <span class="na">type=</span><span class="s">&quot;tns:feature&quot;</span><span class="nt">&gt;</span>&#x000A;                <span class="nt">&lt;xs:annotation&gt;</span>&#x000A;                    <span class="nt">&lt;xs:documentation&gt;</span><span class="cp">&lt;![CDATA[</span>&#x000A;<span class="cp">Feature definition.</span>&#x000A;<span class="cp">                    ]]&gt;</span><span class="nt">&lt;/xs:documentation&gt;</span>&#x000A;                <span class="nt">&lt;/xs:annotation&gt;</span>&#x000A;            <span class="nt">&lt;/xs:element&gt;</span>&#x000A;        <span class="nt">&lt;/xs:choice&gt;</span>&#x000A;        <span class="nt">&lt;xs:attribute</span> <span class="na">name=</span><span class="s">&quot;name&quot;</span> <span class="na">type=</span><span class="s">&quot;xs:string&quot;</span> <span class="nt">/&gt;</span>&#x000A;    <span class="nt">&lt;/xs:complexType&gt;</span>&#x000A;&#x000A;    <span class="nt">&
 lt;xs:complexType</span> <span class="na">name=</span><span class="s">&quot;feature&quot;</span><span class="nt">&gt;</span>&#x000A;        <span class="nt">&lt;xs:annotation&gt;</span>&#x000A;            <span class="nt">&lt;xs:documentation&gt;</span><span class="cp">&lt;![CDATA[</span>&#x000A;<span class="cp">Definition of the Feature.</span>&#x000A;<span class="cp">            ]]&gt;</span><span class="nt">&lt;/xs:documentation&gt;</span>&#x000A;        <span class="nt">&lt;/xs:annotation&gt;</span>&#x000A;        <span class="nt">&lt;xs:choice</span> <span class="na">minOccurs=</span><span class="s">&quot;0&quot;</span> <span class="na">maxOccurs=</span><span class="s">&quot;unbounded&quot;</span><span class="nt">&gt;</span>&#x000A;            <span class="nt">&lt;xs:element</span> <span class="na">name=</span><span class="s">&quot;details&quot;</span> <span class="na">minOccurs=</span><span class="s">&quot;0&quot;</span> <span class="na">type=</span><span class="s">&quot;xs:st
 ring&quot;</span><span class="nt">&gt;</span>&#x000A;                <span class="nt">&lt;xs:annotation&gt;</span>&#x000A;                    <span class="nt">&lt;xs:documentation&gt;</span><span class="cp">&lt;![CDATA[</span>&#x000A;<span class="cp">The help text shown for this feature when using the feature:info console command.</span>&#x000A;<span class="cp">                    ]]&gt;</span>&#x000A;                    <span class="nt">&lt;/xs:documentation&gt;</span>&#x000A;                <span class="nt">&lt;/xs:annotation&gt;</span>&#x000A;            <span class="nt">&lt;/xs:element&gt;</span>&#x000A;            <span class="nt">&lt;xs:element</span> <span class="na">name=</span><span class="s">&quot;config&quot;</span> <span class="na">type=</span><span class="s">&quot;tns:config&quot;</span> <span class="nt">/&gt;</span>&#x000A;            <span class="nt">&lt;xs:element</span> <span class="na">name=</span><span class="s">&quot;configfile&quot;</span> <span class="na">type=
 </span><span class="s">&quot;tns:configFile&quot;</span> <span class="nt">/&gt;</span>&#x000A;            <span class="nt">&lt;xs:element</span> <span class="na">name=</span><span class="s">&quot;feature&quot;</span> <span class="na">type=</span><span class="s">&quot;tns:dependency&quot;</span> <span class="nt">/&gt;</span>&#x000A;            <span class="nt">&lt;xs:element</span> <span class="na">name=</span><span class="s">&quot;bundle&quot;</span> <span class="na">type=</span><span class="s">&quot;tns:bundle&quot;</span> <span class="nt">/&gt;</span>&#x000A;        <span class="nt">&lt;/xs:choice&gt;</span>&#x000A;        <span class="nt">&lt;xs:attribute</span> <span class="na">name=</span><span class="s">&quot;name&quot;</span> <span class="na">type=</span><span class="s">&quot;tns:featureName&quot;</span> <span class="na">use=</span><span class="s">&quot;required&quot;</span> <span class="nt">/&gt;</span>&#x000A;        <span class="nt">&lt;xs:attribute</span> <span class="na"
 >name=</span><span class="s">&quot;version&quot;</span> <span class="na">type=</span><span class="s">&quot;xs:string&quot;</span> <span class="na">default=</span><span class="s">&quot;0.0.0&quot;</span> <span class="nt">/&gt;</span>&#x000A;        <span class="nt">&lt;xs:attribute</span> <span class="na">name=</span><span class="s">&quot;description&quot;</span> <span class="na">type=</span><span class="s">&quot;xs:string&quot;</span> <span class="nt">/&gt;</span>&#x000A;        <span class="nt">&lt;xs:attribute</span> <span class="na">name=</span><span class="s">&quot;resolver&quot;</span> <span class="na">type=</span><span class="s">&quot;tns:resolver&quot;</span><span class="nt">&gt;</span>&#x000A;            <span class="nt">&lt;xs:annotation&gt;</span>&#x000A;                <span class="nt">&lt;xs:documentation&gt;</span><span class="cp">&lt;![CDATA[</span>&#x000A;<span class="cp">Optional alternative resolver to use for determining the list of bundles to install for a given f
 eature.</span>&#x000A;<span class="cp">                ]]&gt;</span>&#x000A;                <span class="nt">&lt;/xs:documentation&gt;</span>&#x000A;            <span class="nt">&lt;/xs:annotation&gt;</span>&#x000A;        <span class="nt">&lt;/xs:attribute&gt;</span>&#x000A;        <span class="nt">&lt;xs:attribute</span> <span class="na">name=</span><span class="s">&quot;install&quot;</span> <span class="na">type=</span><span class="s">&quot;tns:install&quot;</span><span class="nt">&gt;</span>&#x000A;            <span class="nt">&lt;xs:annotation&gt;</span>&#x000A;                <span class="nt">&lt;xs:documentation&gt;</span><span class="cp">&lt;![CDATA[</span>&#x000A;<span class="cp">If true, marks that the feature should start automatically when placed in the deploy folder.</span>&#x000A;<span class="cp">                ]]&gt;</span>&#x000A;                <span class="nt">&lt;/xs:documentation&gt;</span>&#x000A;            <span class="nt">&lt;/xs:annotation&gt;</span>&#x000A
 ;        <span class="nt">&lt;/xs:attribute&gt;</span>&#x000A;        <span class="nt">&lt;xs:attribute</span> <span class="na">name=</span><span class="s">&quot;start-level&quot;</span> <span class="na">type=</span><span class="s">&quot;xs:int&quot;</span><span class="nt">&gt;</span>&#x000A;             <span class="nt">&lt;xs:annotation&gt;</span>&#x000A;                <span class="nt">&lt;xs:documentation&gt;</span><span class="cp">&lt;![CDATA[</span>&#x000A;<span class="cp">Set this attribute to have an OSGi start level for the bundles in this feature different</span>&#x000A;<span class="cp">from the default start level defined in Karaf&#39;s config.properties.</span>&#x000A;<span class="cp">                ]]&gt;</span>&#x000A;                <span class="nt">&lt;/xs:documentation&gt;</span>&#x000A;             <span class="nt">&lt;/xs:annotation&gt;</span>&#x000A;         <span class="nt">&lt;/xs:attribute&gt;</span>&#x000A;         <span class="nt">&lt;xs:attribute</span> <s
 pan class="na">name=</span><span class="s">&quot;region&quot;</span> <span class="na">type=</span><span class="s">&quot;xs:string&quot;</span><span class="nt">/&gt;</span>&#x000A;    <span class="nt">&lt;/xs:complexType&gt;</span>&#x000A;&#x000A;    <span class="nt">&lt;xs:complexType</span> <span class="na">name=</span><span class="s">&quot;bundle&quot;</span><span class="nt">&gt;</span>&#x000A;        <span class="nt">&lt;xs:annotation&gt;</span>&#x000A;            <span class="nt">&lt;xs:documentation&gt;</span><span class="cp">&lt;![CDATA[</span>&#x000A;<span class="cp">Deployable element to install.</span>&#x000A;<span class="cp">            ]]&gt;</span><span class="nt">&lt;/xs:documentation&gt;</span>&#x000A;        <span class="nt">&lt;/xs:annotation&gt;</span>&#x000A;        <span class="nt">&lt;xs:simpleContent&gt;</span>&#x000A;            <span class="nt">&lt;xs:extension</span> <span class="na">base=</span><span class="s">&quot;xs:anyURI&quot;</span><span class="nt">&gt
 ;</span>&#x000A;                <span class="nt">&lt;xs:attribute</span> <span class="na">name=</span><span class="s">&quot;start-level&quot;</span> <span class="na">type=</span><span class="s">&quot;xs:int&quot;</span><span class="nt">&gt;</span>&#x000A;                    <span class="nt">&lt;xs:annotation&gt;</span>&#x000A;                        <span class="nt">&lt;xs:documentation&gt;</span><span class="cp">&lt;![CDATA[</span>&#x000A;<span class="cp">Set this attribute to have an OSGi start level for this bundle different</span>&#x000A;<span class="cp">from the default start level defined in Karaf&#39;s config.properties.</span>&#x000A;&#x000A;<span class="cp">                        ]]&gt;</span>&#x000A;                        <span class="nt">&lt;/xs:documentation&gt;</span>&#x000A;                    <span class="nt">&lt;/xs:annotation&gt;</span>&#x000A;                <span class="nt">&lt;/xs:attribute&gt;</span>&#x000A;                <span class="nt">&lt;xs:attribute</sp
 an> <span class="na">name=</span><span class="s">&quot;start&quot;</span> <span class="na">type=</span><span class="s">&quot;xs:boolean&quot;</span> <span class="na">default=</span><span class="s">&quot;true&quot;</span><span class="nt">&gt;</span>&#x000A;                    <span class="nt">&lt;xs:annotation&gt;</span>&#x000A;                        <span class="nt">&lt;xs:documentation&gt;</span><span class="cp">&lt;![CDATA[</span>&#x000A;<span class="cp">If false, leaves the bundle in resolved state rather than the default active state.</span>&#x000A;<span class="cp">                        ]]&gt;</span>&#x000A;                        <span class="nt">&lt;/xs:documentation&gt;</span>&#x000A;                    <span class="nt">&lt;/xs:annotation&gt;</span>&#x000A;                <span class="nt">&lt;/xs:attribute&gt;</span>&#x000A;                <span class="nt">&lt;xs:attribute</span> <span class="na">name=</span><span class="s">&quot;dependency&quot;</span> <span class="na">ty
 pe=</span><span class="s">&quot;xs:boolean&quot;</span><span class="nt">&gt;</span>&#x000A;                    <span class="nt">&lt;xs:annotation&gt;</span>&#x000A;                        <span class="nt">&lt;xs:documentation&gt;</span><span class="cp">&lt;![CDATA[</span>&#x000A;<span class="cp">Mark this bundle as a dependency for the resolver.</span>&#x000A;<span class="cp">                        ]]&gt;</span>&#x000A;                        <span class="nt">&lt;/xs:documentation&gt;</span>&#x000A;                    <span class="nt">&lt;/xs:annotation&gt;</span>&#x000A;                <span class="nt">&lt;/xs:attribute&gt;</span>&#x000A;            <span class="nt">&lt;/xs:extension&gt;</span>&#x000A;        <span class="nt">&lt;/xs:simpleContent&gt;</span>&#x000A;    <span class="nt">&lt;/xs:complexType&gt;</span>&#x000A;&#x000A;    <span class="nt">&lt;xs:complexType</span> <span class="na">name=</span><span class="s">&quot;dependency&quot;</span><span class="nt">&gt;</span>&#x
 000A;        <span class="nt">&lt;xs:annotation&gt;</span>&#x000A;            <span class="nt">&lt;xs:documentation&gt;</span><span class="cp">&lt;![CDATA[</span>&#x000A;<span class="cp">Dependency of feature.</span>&#x000A;<span class="cp">            ]]&gt;</span><span class="nt">&lt;/xs:documentation&gt;</span>&#x000A;        <span class="nt">&lt;/xs:annotation&gt;</span>&#x000A;        <span class="nt">&lt;xs:simpleContent&gt;</span>&#x000A;            <span class="nt">&lt;xs:extension</span> <span class="na">base=</span><span class="s">&quot;tns:featureName&quot;</span><span class="nt">&gt;</span>&#x000A;                <span class="nt">&lt;xs:attribute</span> <span class="na">name=</span><span class="s">&quot;version&quot;</span> <span class="na">type=</span><span class="s">&quot;xs:string&quot;</span> <span class="na">default=</span><span class="s">&quot;0.0.0&quot;</span> <span class="nt">/&gt;</span>&#x000A;            <span class="nt">&lt;/xs:extension&gt;</span>&#x000A;  
       <span class="nt">&lt;/xs:simpleContent&gt;</span>&#x000A;    <span class="nt">&lt;/xs:complexType&gt;</span>&#x000A;&#x000A;    <span class="nt">&lt;xs:complexType</span> <span class="na">name=</span><span class="s">&quot;config&quot;</span><span class="nt">&gt;</span>&#x000A;        <span class="nt">&lt;xs:annotation&gt;</span>&#x000A;            <span class="nt">&lt;xs:documentation&gt;</span><span class="cp">&lt;![CDATA[</span>&#x000A;<span class="cp">Configuration entries which should be created during feature installation. This</span>&#x000A;<span class="cp">configuration may be used with OSGi Configuration Admin. The element content is</span>&#x000A;<span class="cp">read in as a properties file.</span>&#x000A;<span class="cp">            ]]&gt;</span><span class="nt">&lt;/xs:documentation&gt;</span>&#x000A;        <span class="nt">&lt;/xs:annotation&gt;</span>&#x000A;        <span class="nt">&lt;xs:simpleContent&gt;</span>&#x000A;            <span class="nt">&lt;xs:exten
 sion</span> <span class="na">base=</span><span class="s">&quot;xs:string&quot;</span><span class="nt">&gt;</span>&#x000A;                <span class="nt">&lt;xs:attribute</span> <span class="na">name=</span><span class="s">&quot;name&quot;</span> <span class="na">type=</span><span class="s">&quot;xs:string&quot;</span> <span class="na">use=</span><span class="s">&quot;required&quot;</span> <span class="nt">/&gt;</span>&#x000A;            <span class="nt">&lt;/xs:extension&gt;</span>&#x000A;        <span class="nt">&lt;/xs:simpleContent&gt;</span>&#x000A;    <span class="nt">&lt;/xs:complexType&gt;</span>&#x000A;&#x000A;    <span class="nt">&lt;xs:complexType</span> <span class="na">name=</span><span class="s">&quot;configFile&quot;</span><span class="nt">&gt;</span>&#x000A;        <span class="nt">&lt;xs:annotation&gt;</span>&#x000A;            <span class="nt">&lt;xs:documentation&gt;</span><span class="cp">&lt;![CDATA[</span>&#x000A;<span class="cp">Additional configuration files 
 which should be created during feature installation.</span>&#x000A;<span class="cp">            ]]&gt;</span><span class="nt">&lt;/xs:documentation&gt;</span>&#x000A;        <span class="nt">&lt;/xs:annotation&gt;</span>&#x000A;        <span class="nt">&lt;xs:simpleContent&gt;</span>&#x000A;            <span class="nt">&lt;xs:extension</span> <span class="na">base=</span><span class="s">&quot;xs:anyURI&quot;</span><span class="nt">&gt;</span>&#x000A;                <span class="nt">&lt;xs:attribute</span> <span class="na">name=</span><span class="s">&quot;finalname&quot;</span> <span class="na">type=</span><span class="s">&quot;xs:string&quot;</span> <span class="na">use=</span><span class="s">&quot;required&quot;</span><span class="nt">&gt;</span>&#x000A;                    <span class="nt">&lt;xs:annotation&gt;</span>&#x000A;                        <span class="nt">&lt;xs:documentation&gt;</span><span class="cp">&lt;![CDATA[</span>&#x000A;<span class="cp">The final destination pat
 h and name for the configuration file (relative to the KARAF_BASE).</span>&#x000A;<span class="cp">                        ]]&gt;</span><span class="nt">&lt;/xs:documentation&gt;</span>&#x000A;                    <span class="nt">&lt;/xs:annotation&gt;</span>&#x000A;                <span class="nt">&lt;/xs:attribute&gt;</span>&#x000A;                <span class="nt">&lt;xs:attribute</span> <span class="na">name=</span><span class="s">&quot;override&quot;</span> <span class="na">type=</span><span class="s">&quot;xs:boolean&quot;</span><span class="nt">&gt;</span>&#x000A;                    <span class="nt">&lt;xs:annotation&gt;</span>&#x000A;                        <span class="nt">&lt;xs:documentation&gt;</span><span class="cp">&lt;![CDATA[</span>&#x000A;<span class="cp">If the configFile already exists at the finalname location, whether or not to replace it.</span>&#x000A;<span class="cp">                        ]]&gt;</span><span class="nt">&lt;/xs:documentation&gt;</span>&#x000A;
                     <span class="nt">&lt;/xs:annotation&gt;</span>&#x000A;                <span class="nt">&lt;/xs:attribute&gt;</span>&#x000A;&#x000A;            <span class="nt">&lt;/xs:extension&gt;</span>&#x000A;        <span class="nt">&lt;/xs:simpleContent&gt;</span>&#x000A;    <span class="nt">&lt;/xs:complexType&gt;</span>&#x000A;&#x000A;    <span class="nt">&lt;xs:simpleType</span> <span class="na">name=</span><span class="s">&quot;featureName&quot;</span><span class="nt">&gt;</span>&#x000A;        <span class="nt">&lt;xs:annotation&gt;</span>&#x000A;            <span class="nt">&lt;xs:documentation&gt;</span><span class="cp">&lt;![CDATA[</span>&#x000A;<span class="cp">Feature name should be non empty string.</span>&#x000A;<span class="cp">            ]]&gt;</span><span class="nt">&lt;/xs:documentation&gt;</span>&#x000A;        <span class="nt">&lt;/xs:annotation&gt;</span>&#x000A;        <span class="nt">&lt;xs:restriction</span> <span class="na">base=</span><span class="s
 ">&quot;xs:string&quot;</span><span class="nt">&gt;</span>&#x000A;            <span class="nt">&lt;xs:minLength</span> <span class="na">value=</span><span class="s">&quot;1&quot;</span> <span class="nt">/&gt;</span>&#x000A;        <span class="nt">&lt;/xs:restriction&gt;</span>&#x000A;    <span class="nt">&lt;/xs:simpleType&gt;</span>&#x000A;&#x000A;    <span class="nt">&lt;xs:simpleType</span> <span class="na">name=</span><span class="s">&quot;resolver&quot;</span><span class="nt">&gt;</span>&#x000A;        <span class="nt">&lt;xs:annotation&gt;</span>&#x000A;            <span class="nt">&lt;xs:documentation&gt;</span><span class="cp">&lt;![CDATA[</span>&#x000A;<span class="cp">Resolver to use. Karaf will look for OSGi service which has following properties:</span>&#x000A;<span class="cp">objectClass: org.apache.karaf.features.Resolver</span>&#x000A;<span class="cp">name: the value</span>&#x000A;<span class="cp">            ]]&gt;</span><span class="nt">&lt;/xs:documentation&gt;</s
 pan>&#x000A;        <span class="nt">&lt;/xs:annotation&gt;</span>&#x000A;        <span class="nt">&lt;xs:restriction</span> <span class="na">base=</span><span class="s">&quot;xs:string&quot;</span><span class="nt">&gt;</span>&#x000A;            <span class="nt">&lt;xs:minLength</span> <span class="na">value=</span><span class="s">&quot;1&quot;</span> <span class="nt">/&gt;</span>&#x000A;        <span class="nt">&lt;/xs:restriction&gt;</span>&#x000A;    <span class="nt">&lt;/xs:simpleType&gt;</span>&#x000A;    <span class="nt">&lt;xs:simpleType</span> <span class="na">name=</span><span class="s">&quot;install&quot;</span><span class="nt">&gt;</span>&#x000A;        <span class="nt">&lt;xs:annotation&gt;</span>&#x000A;            <span class="nt">&lt;xs:documentation&gt;</span><span class="cp">&lt;![CDATA[</span>&#x000A;<span class="cp">Installation mode. Can be either manual or auto. Specifies whether the feature should be automatically installed when</span>&#x000A;<span class="cp">d
 ropped inside the deploy folder. Note: This attribute doesn&#39;t affect feature descriptors that are installed from the</span>&#x000A;<span class="cp">command line or as part of the org.apache.karaf.features.cfg.</span>&#x000A;<span class="cp">            ]]&gt;</span><span class="nt">&lt;/xs:documentation&gt;</span>&#x000A;        <span class="nt">&lt;/xs:annotation&gt;</span>&#x000A;        <span class="nt">&lt;xs:restriction</span> <span class="na">base=</span><span class="s">&quot;xs:string&quot;</span><span class="nt">&gt;</span>&#x000A;            <span class="nt">&lt;xs:minLength</span> <span class="na">value=</span><span class="s">&quot;1&quot;</span> <span class="nt">/&gt;</span>&#x000A;        <span class="nt">&lt;/xs:restriction&gt;</span>&#x000A;    <span class="nt">&lt;/xs:simpleType&gt;</span>&#x000A;    <span class="nt">&lt;xs:element</span> <span class="na">name=</span><span class="s">&quot;features&quot;</span> <span class="na">type=</span><span class="s">&quot;tns
 :features&quot;</span> <span class="nt">/&gt;</span>&#x000A;&#x000A;<span class="nt">&lt;/xs:schema&gt;</span>&#x000A;</pre></div>&#x000A;</div>

[... 14 lines stripped ...]