Author: jbonofre
Date: Thu Mar 26 13:44:50 2020
New Revision: 1875709

URL: http://svn.apache.org/viewvc?rev=1875709&view=rev
Log:
[scm-publish] Updating main website contents

Added:
    karaf/site/production/xmlns/features-processing/
    karaf/site/production/xmlns/features-processing/v1.0.0
    karaf/site/production/xsd/karaf-features-processing-1.0.0.xsd

Added: karaf/site/production/xmlns/features-processing/v1.0.0
URL: 
http://svn.apache.org/viewvc/karaf/site/production/xmlns/features-processing/v1.0.0?rev=1875709&view=auto
==============================================================================
--- karaf/site/production/xmlns/features-processing/v1.0.0 (added)
+++ karaf/site/production/xmlns/features-processing/v1.0.0 Thu Mar 26 13:44:50 
2020
@@ -0,0 +1,232 @@
+<?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-processing/v1.0.0";
+        xmlns:tns="http://karaf.apache.org/xmlns/features-processing/v1.0.0";
+        xmlns:features="http://karaf.apache.org/xmlns/features/v1.6.0";
+        xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+
+    <xs:import namespace="http://karaf.apache.org/xmlns/features/v1.6.0"; />
+
+    <xs:element name="featuresProcessing" type="tns:featuresProcessing" />
+
+    <xs:complexType name="featuresProcessing">
+        <xs:annotation>
+            <xs:documentation><![CDATA[Configuration of FeaturesProcessor that 
may modify feature definitions
+after reading them from features XML file and before using them by 
FeaturesService.
+]]></xs:documentation>
+        </xs:annotation>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element name="blacklistedRepositories" 
type="tns:blacklistedRepositories" />
+            <xs:element name="blacklistedFeatures" 
type="tns:blacklistedFeatures" />
+            <xs:element name="blacklistedBundles" 
type="tns:blacklistedBundles" />
+            <xs:element name="overrideBundleDependency" 
type="tns:overrideBundleDependency" />
+            <xs:element name="bundleReplacements" 
type="tns:bundleReplacements" />
+            <xs:element name="featureReplacements" 
type="tns:featureReplacements" />
+        </xs:choice>
+    </xs:complexType>
+
+    <xs:complexType name="blacklistedRepositories">
+        <xs:annotation>
+            <xs:documentation><![CDATA[A list of feature repository URIs 
(e.g., mvn:group/artifact/version/xml/features)
+that should be blacklisted - they can't be added to FeaturesService and can't 
be searched for features to install.
+
+Repository URI should use 'mvn:' scheme, may use '*' glob (not RegExp) for all 
components except versions and
+version ranges as maven versions, e.g., 
"mvn:group/artifact/[3,5)/xml/*features*". At least groupId and artifactId
+should be specified. In most abstract case, "mvn:*/*" describes all maven URIs.
+]]></xs:documentation>
+        </xs:annotation>
+        <xs:sequence>
+            <xs:element name="repository" type="xs:anyURI" minOccurs="0" 
maxOccurs="unbounded" />
+        </xs:sequence>
+    </xs:complexType>
+
+    <xs:complexType name="blacklistedFeatures">
+        <xs:annotation>
+            <xs:documentation><![CDATA[A list of feature identifiers that 
should be blacklisted.
+
+Attempt to install such feature will be prohibited, but such feature is still 
available in `feature:list`
+output and marked as blacklisted. When custom Karaf distribution is assembled, 
blacklisted features' bundles are not
+taken into account (are not declared in "etc/startup.properties" and 
"etc/org.apache.karaf.features.cfg" and are not
+copied to "system/" directory).
+]]></xs:documentation>
+        </xs:annotation>
+        <xs:sequence>
+            <xs:element name="feature" type="tns:blacklistedFeature" 
minOccurs="0" maxOccurs="unbounded" />
+        </xs:sequence>
+    </xs:complexType>
+
+    <xs:complexType name="blacklistedFeature">
+        <xs:annotation>
+            <xs:documentation><![CDATA[Blacklisted feature name may use '*' 
character as glob. "version" attribute
+MAY specify a version (or range) of features to blacklist, e.g.,:
+ * version="[1,2)" - feature with versions 1, 1.1, 1.4.3, 1.9.99, ... will be 
blacklisted
+ * version="[2,*)" - features with all versions above and including 2.0.0 will 
be blacklisted
+ * version="3.0" - feature with version 3.0 only will be blacklisted
+]]></xs:documentation>
+        </xs:annotation>
+        <xs:simpleContent>
+            <xs:extension base="xs:string">
+                <xs:attribute name="version" type="xs:string" />
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:complexType name="blacklistedBundles">
+        <xs:annotation>
+            <xs:documentation><![CDATA[A list of bundle URIs that should be 
blacklisted.
+When feature is installed, all blacklisted bundles are skipped.
+
+When custom Karaf distribution is assembled, blacklisted bundles are not taken 
into account (are not declared in
+"etc/startup.properties" and are not copied to "system/" directory).
+
+Bundle URIs should use 'mvn:' scheme, may use '*' glob (not RegExp) for all 
components except versions and
+version ranges may be specified as maven versions, e.g., 
"mvn:group/artifact/[3,5)/type/classifier". At least
+groupId and artifactId should be specified. In most abstract case, "mvn:*/*" 
describes all maven URIs.
+
+This element may be used instead of "etc/blacklisted.properties" file for 
bundle blacklisting.
+]]></xs:documentation>
+        </xs:annotation>
+        <xs:sequence>
+            <xs:element name="bundle" type="xs:anyURI" minOccurs="0" 
maxOccurs="unbounded" />
+        </xs:sequence>
+    </xs:complexType>
+
+    <xs:complexType name="overrideBundleDependency">
+        <xs:annotation>
+            <xs:documentation><![CDATA[FeaturesService configuration uses 
"dependency" flags for bundles and features
+declared in features XML file. This flag instructs the service to consider 
such "dependency" item only if current
+state of system doesn't provide required capabilities. When such flag is 
chosen wisely it greatly improves consistency
+of installed features and bundles. However many external features XML files 
(which are out of control, or simply are no
+longer maintained) do not use this flag. With "overrideBundleDependency" 
element it's possible to externally
+override this flag for any repository, feature or particular bundles.
+]]></xs:documentation>
+        </xs:annotation>
+        <xs:sequence>
+            <xs:element name="repository" type="tns:overrideDependency" 
minOccurs="0" maxOccurs="unbounded" />
+            <xs:element name="feature" type="tns:overrideFeatureDependency" 
minOccurs="0" maxOccurs="unbounded" />
+            <xs:element name="bundle" type="tns:overrideDependency" 
minOccurs="0" maxOccurs="unbounded" />
+        </xs:sequence>
+    </xs:complexType>
+
+    <xs:complexType name="overrideDependency">
+        <xs:annotation>
+            <xs:documentation><![CDATA[An URI of depedency (bundle or 
repository) should use 'mvn:' scheme.
+Maven schemes allow parsing version/version ranges. "dependency" flag will 
overwrite dependency attribute of related
+features (in repository) and bundles.
+]]></xs:documentation>
+        </xs:annotation>
+        <xs:attribute name="uri" type="xs:anyURI" />
+        <xs:attribute name="dependency" type="xs:boolean" default="false" />
+    </xs:complexType>
+
+    <xs:complexType name="overrideFeatureDependency">
+        <xs:annotation>
+            <xs:documentation><![CDATA[After matching feature by name (may use 
"*" glob) and version (or range), we
+can overwrite "dependency" attribute on given feature
+]]></xs:documentation>
+        </xs:annotation>
+        <xs:attribute name="name" type="xs:string" />
+        <xs:attribute name="version" type="xs:string" />
+        <xs:attribute name="dependency" type="xs:boolean" default="false" />
+    </xs:complexType>
+
+    <xs:complexType name="bundleReplacements">
+        <xs:annotation>
+            <xs:documentation><![CDATA[When feature is loaded from features 
XML file, "etc/overrides.properties" may
+be used to change the version of one/more of the bundles from given feature. 
Override is used only when symbolic
+names match. With bundleReplacements element, its possible to do the same and 
more. It's possible to replace a bundle
+with totally different bundle (in terms of OSGi's Symbolic-Name and Maven 
groupId/artifactId/version). That's useful
+especially with JavaEE API bundles, where single API may be provided by 
different bundles (ServiceMix, Geronimo,
+JBoss, javax.*, ...).
+]]></xs:documentation>
+        </xs:annotation>
+        <xs:sequence>
+            <xs:element name="bundle" type="tns:overrideBundle" minOccurs="0" 
maxOccurs="unbounded" />
+        </xs:sequence>
+    </xs:complexType>
+
+    <xs:complexType name="overrideBundle">
+        <xs:annotation>
+            <xs:documentation><![CDATA[For each bundle of any feature we can 
point bundle's URI to different location.
+
+URIs should use 'mvn:' scheme, to allow version/version ranges parsing. 
Replacement URI should use concrete version
+- no range. Original URI may use version ranges to indicate which version is 
eligible for replacement. E.g,:
+ * mvn:groupId/artifactId/[1,2) - bundle location will be overriden for 
versions 1, 1.1, 1.4.3, 1.9.99, ...
+ * mvn:groupId/artifactId/[2,*) - bundle location will be overriden for 
version 2.0, 3.1, 4.2, ...
+ * mvn:groupId/artifactId/3 - bundle location will be overriden for version 3 
(3.0, 3.0.0) only (i.e., [3.0.0,3.0.0]
+URIs can't use globs for Maven components (groupId, artifactId, ...).
+
+mode="osgi" is used for etc/overrides.properties compatibility - symbolic name 
should be equal (requires
+resource's/bundle's manifest parsing) and target/replacement bundle's version 
shold be lower to perform replacement.
+When reading etc/overrides.properties, groupId and artifactId will match 
anyway, but if configured in XML, they do
+not have to match.
+
+with mode="maven", only location matching is done and target version is not 
compared - this is useful
+to replace bundle using different groupId/artifactId. The most common case is 
e.g.,
+"org.eclipse.jetty.orbit/javax.servlet/[3,4)" -> 
"org.apache.geronimo.specs/geronimo-servlet_3.0_spec/1.0" replacement.
+This is new mode (comparing to etc/overrides.properties).
+]]></xs:documentation>
+        </xs:annotation>
+        <xs:attribute name="originalUri" type="xs:anyURI" />
+        <xs:attribute name="replacement" type="xs:anyURI" />
+        <xs:attribute name="mode" type="tns:bundleOverrideMode" default="osgi" 
/>
+    </xs:complexType>
+
+    <xs:simpleType name="bundleOverrideMode">
+        <xs:restriction base="xs:string">
+            <xs:enumeration value="osgi" />
+            <xs:enumeration value="maven" />
+        </xs:restriction>
+    </xs:simpleType>
+
+    <xs:complexType name="featureReplacements">
+        <xs:annotation>
+            <xs:documentation><![CDATA[This element may be used to completely 
"rewrite" any feature (by name and
+version). Depending on mode of modification (replace, merge) it's possible to 
replace any feature definition, or just
+add/remove some items (usually bundles) to/from original feature.
+]]></xs:documentation>
+        </xs:annotation>
+        <xs:sequence>
+            <xs:element name="replacement" type="tns:overrideFeature" 
minOccurs="0" maxOccurs="unbounded" />
+        </xs:sequence>
+    </xs:complexType>
+
+    <xs:complexType name="overrideFeature">
+        <xs:annotation>
+            <xs:documentation><![CDATA[Any feature may be "overriden" simply 
by including its changed definition
+according to http://karaf.apache.org/xmlns/features/v1.6.0 XML schema.
+]]></xs:documentation>
+        </xs:annotation>
+        <xs:sequence>
+            <xs:element name="feature" type="features:feature" />
+        </xs:sequence>
+        <xs:attribute name="mode" type="tns:featureOverrideMode" 
default="replace" />
+    </xs:complexType>
+
+    <xs:simpleType name="featureOverrideMode">
+        <xs:restriction base="xs:string">
+            <xs:enumeration value="replace" />
+            <xs:enumeration value="merge" />
+            <xs:enumeration value="remove" />
+        </xs:restriction>
+    </xs:simpleType>
+
+</xs:schema>

Added: karaf/site/production/xsd/karaf-features-processing-1.0.0.xsd
URL: 
http://svn.apache.org/viewvc/karaf/site/production/xsd/karaf-features-processing-1.0.0.xsd?rev=1875709&view=auto
==============================================================================
--- karaf/site/production/xsd/karaf-features-processing-1.0.0.xsd (added)
+++ karaf/site/production/xsd/karaf-features-processing-1.0.0.xsd Thu Mar 26 
13:44:50 2020
@@ -0,0 +1,232 @@
+<?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-processing/v1.0.0";
+        xmlns:tns="http://karaf.apache.org/xmlns/features-processing/v1.0.0";
+        xmlns:features="http://karaf.apache.org/xmlns/features/v1.6.0";
+        xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+
+    <xs:import namespace="http://karaf.apache.org/xmlns/features/v1.6.0"; />
+
+    <xs:element name="featuresProcessing" type="tns:featuresProcessing" />
+
+    <xs:complexType name="featuresProcessing">
+        <xs:annotation>
+            <xs:documentation><![CDATA[Configuration of FeaturesProcessor that 
may modify feature definitions
+after reading them from features XML file and before using them by 
FeaturesService.
+]]></xs:documentation>
+        </xs:annotation>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element name="blacklistedRepositories" 
type="tns:blacklistedRepositories" />
+            <xs:element name="blacklistedFeatures" 
type="tns:blacklistedFeatures" />
+            <xs:element name="blacklistedBundles" 
type="tns:blacklistedBundles" />
+            <xs:element name="overrideBundleDependency" 
type="tns:overrideBundleDependency" />
+            <xs:element name="bundleReplacements" 
type="tns:bundleReplacements" />
+            <xs:element name="featureReplacements" 
type="tns:featureReplacements" />
+        </xs:choice>
+    </xs:complexType>
+
+    <xs:complexType name="blacklistedRepositories">
+        <xs:annotation>
+            <xs:documentation><![CDATA[A list of feature repository URIs 
(e.g., mvn:group/artifact/version/xml/features)
+that should be blacklisted - they can't be added to FeaturesService and can't 
be searched for features to install.
+
+Repository URI should use 'mvn:' scheme, may use '*' glob (not RegExp) for all 
components except versions and
+version ranges as maven versions, e.g., 
"mvn:group/artifact/[3,5)/xml/*features*". At least groupId and artifactId
+should be specified. In most abstract case, "mvn:*/*" describes all maven URIs.
+]]></xs:documentation>
+        </xs:annotation>
+        <xs:sequence>
+            <xs:element name="repository" type="xs:anyURI" minOccurs="0" 
maxOccurs="unbounded" />
+        </xs:sequence>
+    </xs:complexType>
+
+    <xs:complexType name="blacklistedFeatures">
+        <xs:annotation>
+            <xs:documentation><![CDATA[A list of feature identifiers that 
should be blacklisted.
+
+Attempt to install such feature will be prohibited, but such feature is still 
available in `feature:list`
+output and marked as blacklisted. When custom Karaf distribution is assembled, 
blacklisted features' bundles are not
+taken into account (are not declared in "etc/startup.properties" and 
"etc/org.apache.karaf.features.cfg" and are not
+copied to "system/" directory).
+]]></xs:documentation>
+        </xs:annotation>
+        <xs:sequence>
+            <xs:element name="feature" type="tns:blacklistedFeature" 
minOccurs="0" maxOccurs="unbounded" />
+        </xs:sequence>
+    </xs:complexType>
+
+    <xs:complexType name="blacklistedFeature">
+        <xs:annotation>
+            <xs:documentation><![CDATA[Blacklisted feature name may use '*' 
character as glob. "version" attribute
+MAY specify a version (or range) of features to blacklist, e.g.,:
+ * version="[1,2)" - feature with versions 1, 1.1, 1.4.3, 1.9.99, ... will be 
blacklisted
+ * version="[2,*)" - features with all versions above and including 2.0.0 will 
be blacklisted
+ * version="3.0" - feature with version 3.0 only will be blacklisted
+]]></xs:documentation>
+        </xs:annotation>
+        <xs:simpleContent>
+            <xs:extension base="xs:string">
+                <xs:attribute name="version" type="xs:string" />
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:complexType name="blacklistedBundles">
+        <xs:annotation>
+            <xs:documentation><![CDATA[A list of bundle URIs that should be 
blacklisted.
+When feature is installed, all blacklisted bundles are skipped.
+
+When custom Karaf distribution is assembled, blacklisted bundles are not taken 
into account (are not declared in
+"etc/startup.properties" and are not copied to "system/" directory).
+
+Bundle URIs should use 'mvn:' scheme, may use '*' glob (not RegExp) for all 
components except versions and
+version ranges may be specified as maven versions, e.g., 
"mvn:group/artifact/[3,5)/type/classifier". At least
+groupId and artifactId should be specified. In most abstract case, "mvn:*/*" 
describes all maven URIs.
+
+This element may be used instead of "etc/blacklisted.properties" file for 
bundle blacklisting.
+]]></xs:documentation>
+        </xs:annotation>
+        <xs:sequence>
+            <xs:element name="bundle" type="xs:anyURI" minOccurs="0" 
maxOccurs="unbounded" />
+        </xs:sequence>
+    </xs:complexType>
+
+    <xs:complexType name="overrideBundleDependency">
+        <xs:annotation>
+            <xs:documentation><![CDATA[FeaturesService configuration uses 
"dependency" flags for bundles and features
+declared in features XML file. This flag instructs the service to consider 
such "dependency" item only if current
+state of system doesn't provide required capabilities. When such flag is 
chosen wisely it greatly improves consistency
+of installed features and bundles. However many external features XML files 
(which are out of control, or simply are no
+longer maintained) do not use this flag. With "overrideBundleDependency" 
element it's possible to externally
+override this flag for any repository, feature or particular bundles.
+]]></xs:documentation>
+        </xs:annotation>
+        <xs:sequence>
+            <xs:element name="repository" type="tns:overrideDependency" 
minOccurs="0" maxOccurs="unbounded" />
+            <xs:element name="feature" type="tns:overrideFeatureDependency" 
minOccurs="0" maxOccurs="unbounded" />
+            <xs:element name="bundle" type="tns:overrideDependency" 
minOccurs="0" maxOccurs="unbounded" />
+        </xs:sequence>
+    </xs:complexType>
+
+    <xs:complexType name="overrideDependency">
+        <xs:annotation>
+            <xs:documentation><![CDATA[An URI of depedency (bundle or 
repository) should use 'mvn:' scheme.
+Maven schemes allow parsing version/version ranges. "dependency" flag will 
overwrite dependency attribute of related
+features (in repository) and bundles.
+]]></xs:documentation>
+        </xs:annotation>
+        <xs:attribute name="uri" type="xs:anyURI" />
+        <xs:attribute name="dependency" type="xs:boolean" default="false" />
+    </xs:complexType>
+
+    <xs:complexType name="overrideFeatureDependency">
+        <xs:annotation>
+            <xs:documentation><![CDATA[After matching feature by name (may use 
"*" glob) and version (or range), we
+can overwrite "dependency" attribute on given feature
+]]></xs:documentation>
+        </xs:annotation>
+        <xs:attribute name="name" type="xs:string" />
+        <xs:attribute name="version" type="xs:string" />
+        <xs:attribute name="dependency" type="xs:boolean" default="false" />
+    </xs:complexType>
+
+    <xs:complexType name="bundleReplacements">
+        <xs:annotation>
+            <xs:documentation><![CDATA[When feature is loaded from features 
XML file, "etc/overrides.properties" may
+be used to change the version of one/more of the bundles from given feature. 
Override is used only when symbolic
+names match. With bundleReplacements element, its possible to do the same and 
more. It's possible to replace a bundle
+with totally different bundle (in terms of OSGi's Symbolic-Name and Maven 
groupId/artifactId/version). That's useful
+especially with JavaEE API bundles, where single API may be provided by 
different bundles (ServiceMix, Geronimo,
+JBoss, javax.*, ...).
+]]></xs:documentation>
+        </xs:annotation>
+        <xs:sequence>
+            <xs:element name="bundle" type="tns:overrideBundle" minOccurs="0" 
maxOccurs="unbounded" />
+        </xs:sequence>
+    </xs:complexType>
+
+    <xs:complexType name="overrideBundle">
+        <xs:annotation>
+            <xs:documentation><![CDATA[For each bundle of any feature we can 
point bundle's URI to different location.
+
+URIs should use 'mvn:' scheme, to allow version/version ranges parsing. 
Replacement URI should use concrete version
+- no range. Original URI may use version ranges to indicate which version is 
eligible for replacement. E.g,:
+ * mvn:groupId/artifactId/[1,2) - bundle location will be overriden for 
versions 1, 1.1, 1.4.3, 1.9.99, ...
+ * mvn:groupId/artifactId/[2,*) - bundle location will be overriden for 
version 2.0, 3.1, 4.2, ...
+ * mvn:groupId/artifactId/3 - bundle location will be overriden for version 3 
(3.0, 3.0.0) only (i.e., [3.0.0,3.0.0]
+URIs can't use globs for Maven components (groupId, artifactId, ...).
+
+mode="osgi" is used for etc/overrides.properties compatibility - symbolic name 
should be equal (requires
+resource's/bundle's manifest parsing) and target/replacement bundle's version 
shold be lower to perform replacement.
+When reading etc/overrides.properties, groupId and artifactId will match 
anyway, but if configured in XML, they do
+not have to match.
+
+with mode="maven", only location matching is done and target version is not 
compared - this is useful
+to replace bundle using different groupId/artifactId. The most common case is 
e.g.,
+"org.eclipse.jetty.orbit/javax.servlet/[3,4)" -> 
"org.apache.geronimo.specs/geronimo-servlet_3.0_spec/1.0" replacement.
+This is new mode (comparing to etc/overrides.properties).
+]]></xs:documentation>
+        </xs:annotation>
+        <xs:attribute name="originalUri" type="xs:anyURI" />
+        <xs:attribute name="replacement" type="xs:anyURI" />
+        <xs:attribute name="mode" type="tns:bundleOverrideMode" default="osgi" 
/>
+    </xs:complexType>
+
+    <xs:simpleType name="bundleOverrideMode">
+        <xs:restriction base="xs:string">
+            <xs:enumeration value="osgi" />
+            <xs:enumeration value="maven" />
+        </xs:restriction>
+    </xs:simpleType>
+
+    <xs:complexType name="featureReplacements">
+        <xs:annotation>
+            <xs:documentation><![CDATA[This element may be used to completely 
"rewrite" any feature (by name and
+version). Depending on mode of modification (replace, merge) it's possible to 
replace any feature definition, or just
+add/remove some items (usually bundles) to/from original feature.
+]]></xs:documentation>
+        </xs:annotation>
+        <xs:sequence>
+            <xs:element name="replacement" type="tns:overrideFeature" 
minOccurs="0" maxOccurs="unbounded" />
+        </xs:sequence>
+    </xs:complexType>
+
+    <xs:complexType name="overrideFeature">
+        <xs:annotation>
+            <xs:documentation><![CDATA[Any feature may be "overriden" simply 
by including its changed definition
+according to http://karaf.apache.org/xmlns/features/v1.6.0 XML schema.
+]]></xs:documentation>
+        </xs:annotation>
+        <xs:sequence>
+            <xs:element name="feature" type="features:feature" />
+        </xs:sequence>
+        <xs:attribute name="mode" type="tns:featureOverrideMode" 
default="replace" />
+    </xs:complexType>
+
+    <xs:simpleType name="featureOverrideMode">
+        <xs:restriction base="xs:string">
+            <xs:enumeration value="replace" />
+            <xs:enumeration value="merge" />
+            <xs:enumeration value="remove" />
+        </xs:restriction>
+    </xs:simpleType>
+
+</xs:schema>


Reply via email to