You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by ri...@apache.org on 2009/07/24 19:06:44 UTC

svn commit: r797561 [9/9] - in /felix/trunk: org.osgi.compendium/ org.osgi.compendium/src/main/java/info/dmtree/ org.osgi.compendium/src/main/java/info/dmtree/notification/ org.osgi.compendium/src/main/java/info/dmtree/notification/spi/ org.osgi.compen...

Added: felix/trunk/org.osgi.compendium/xmlns/app/v1.1.0/app.xsd
URL: http://svn.apache.org/viewvc/felix/trunk/org.osgi.compendium/xmlns/app/v1.1.0/app.xsd?rev=797561&view=auto
==============================================================================
--- felix/trunk/org.osgi.compendium/xmlns/app/v1.1.0/app.xsd (added)
+++ felix/trunk/org.osgi.compendium/xmlns/app/v1.1.0/app.xsd Fri Jul 24 17:06:37 2009
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+	/*
+	* $Revision: 5655 $
+	* 
+	* Copyright (c) OSGi Alliance (2005, 2008). All Rights Reserved.
+	* 
+	* Licensed 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.
+	*/
+-->
+<schema xmlns="http://www.w3.org/2001/XMLSchema"
+	xmlns:app="http://www.osgi.org/xmlns/app/v1.1.0"
+	targetNamespace="http://www.osgi.org/xmlns/app/v1.1.0"
+	version="1.1.0">
+
+	<element name="descriptor" type="app:Tdescriptor">
+		<annotation>
+			<documentation xml:lang="en">
+				descriptor element encloses the application descriptors
+				provided in a document
+			</documentation>
+		</annotation>
+	</element>
+
+	<complexType name="Tdescriptor">
+		<sequence>
+			<element name="application" type="app:Tapplication"
+				minOccurs="1" maxOccurs="unbounded" />
+			<!-- It is non-deterministic, per W3C XML Schema 1.0: http://www.w3.org/TR/xmlschema-1/#cos-nonambig
+				to use namespace="##any" below. -->
+			<any namespace="##other" processContents="lax" minOccurs="0"
+				maxOccurs="unbounded" />
+		</sequence>
+		<anyAttribute />
+	</complexType>
+
+	<complexType name="Tapplication">
+		<annotation>
+			<documentation xml:lang="en">
+				describes the service dependencies of an application
+			</documentation>
+		</annotation>
+		<sequence>
+			<element name="reference" minOccurs="0"
+				maxOccurs="unbounded" type="app:Treference" />
+			<!-- It is non-deterministic, per W3C XML Schema 1.0: http://www.w3.org/TR/xmlschema-1/#cos-nonambig
+				to use namespace="##any" below. -->
+			<any namespace="##other" processContents="lax" minOccurs="0"
+				maxOccurs="unbounded" />
+		</sequence>
+		<attribute name="class" type="string" />
+		<anyAttribute />
+	</complexType>
+
+	<complexType name="Treference">
+		<sequence>
+			<any namespace="##any" processContents="lax" minOccurs="0"
+				maxOccurs="unbounded" />
+		</sequence>
+		<attribute name="name" type="NMTOKEN" use="required" />
+		<attribute name="interface" type="string" use="required" />
+		<attribute name="cardinality" default="1..1" use="optional"
+			type="app:Tcardinality" />
+		<attribute name="policy" use="optional" default="static"
+			type="app:Tpolicy" />
+		<attribute name="target" type="string" use="optional" />
+		<anyAttribute />
+	</complexType>
+
+	<simpleType name="Tcardinality">
+		<restriction base="string">
+			<enumeration value="0..1" />
+			<enumeration value="0..n" />
+			<enumeration value="1..1" />
+			<enumeration value="1..n" />
+		</restriction>
+	</simpleType>
+
+	<simpleType name="Tpolicy">
+		<restriction base="string">
+			<enumeration value="static" />
+			<enumeration value="dynamic" />
+		</restriction>
+	</simpleType>
+	
+	<attribute name="must-understand" type="boolean">
+		<annotation>
+			<documentation xml:lang="en">
+				This attribute should be used by extensions to documents
+				to require that the document consumer understand the
+				extension.
+			</documentation>
+		</annotation>
+	</attribute>
+</schema>

Added: felix/trunk/org.osgi.compendium/xmlns/blueprint/v1.0.0/blueprint.xsd
URL: http://svn.apache.org/viewvc/felix/trunk/org.osgi.compendium/xmlns/blueprint/v1.0.0/blueprint.xsd?rev=797561&view=auto
==============================================================================
--- felix/trunk/org.osgi.compendium/xmlns/blueprint/v1.0.0/blueprint.xsd (added)
+++ felix/trunk/org.osgi.compendium/xmlns/blueprint/v1.0.0/blueprint.xsd Fri Jul 24 17:06:37 2009
@@ -0,0 +1,1224 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+    /*
+    * $Revision: 7562 $
+    *
+    * Copyright (c) OSGi Alliance (2008, 2009). All Rights Reserved.
+    *
+    * Licensed 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.
+    */
+    -->
+<xsd:schema xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
+	xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.osgi.org/xmlns/blueprint/v1.0.0"
+	elementFormDefault="qualified" attributeFormDefault="unqualified"
+	version="1.0.0">
+
+	<xsd:annotation>
+		<xsd:documentation>
+        	<![CDATA[
+                This is the XML Schema for the OSGi Blueprint service 1.0.0
+                development descriptor.  Blueprint configuration files
+                using this schema must indicate the schema using the
+                blueprint/v1.0.0 namespace.  For example,
+
+                <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0">
+
+                if used as a qualified namespace, "bp" is the recommended
+                namespace prefix.
+            ]]>
+		</xsd:documentation>
+	</xsd:annotation>
+
+	<!-- Schema elements for core component declarations -->
+
+	<xsd:complexType name="Tcomponent" abstract="true">
+		<xsd:annotation>
+			<xsd:documentation>
+                <![CDATA[
+                    The Tcomponent type is the base type for top-level
+                    Blueprint components.  The <bean> <reference>, <service>,
+                    and <reference-list> elements are all derived from
+                    the Tcomponent type.  This type defines an id attribute
+                    that is used create references between different components.
+                    Component elements can also be inlined within other component
+                    definitions.  The id attribute is not valid when inlined.
+                ]]>
+			</xsd:documentation>
+		</xsd:annotation>
+
+		<xsd:attribute name="id" type="xsd:ID" />
+
+		<xsd:attribute name="activation" type="Tactivation">
+			<xsd:annotation>
+				<xsd:documentation>
+                    <![CDATA[
+                    The activation attribute for this component.  This can either
+                    be "eager" or "lazy".  If not specified, it
+                    defaults to default-activation attribute of the enclosing
+                    <blueprint> element.
+                    ]]>
+				</xsd:documentation>
+			</xsd:annotation>
+		</xsd:attribute>
+
+		<xsd:attribute name="depends-on" type="TdependsOn">
+			<xsd:annotation>
+				<xsd:documentation>
+                    <![CDATA[
+                    depends-on identifies (by id) other components that this component
+                    depends on.  The component only be activated after the
+                    depends-on components are successfully activated.  Also, if there
+                    are <reference> or <reference-list> elements with unstatisfied
+                    manadatory references, then the depends-on relationship will also
+                    be used to determine whether this service is enabled or not.
+                    ]]>
+				</xsd:documentation>
+			</xsd:annotation>
+		</xsd:attribute>
+	</xsd:complexType>
+
+	<xsd:element name="blueprint" type="Tblueprint">
+		<xsd:annotation>
+			<xsd:documentation>
+                <![CDATA[
+                The <blueprint> element is the root element for a blueprint
+                configuration file.  A blueprint configuration has two sections.
+                The first section (contained within the <type-converters> element)
+                identifies components that are used for converting values into
+                different target types.  The type converters are optional, so
+                the file does not need to specify a type converter section.
+
+                Following the type converters are the component definitions.
+                Components are <bean>, <service>, <reference>, and
+                <reference-list> elements that identify the bundle components that will
+                be managed by the blueprint service.
+                ]]>
+			</xsd:documentation>
+		</xsd:annotation>
+	</xsd:element>
+
+	<xsd:complexType name="Tblueprint">
+		<xsd:sequence>
+			<xsd:element name="description" type="Tdescription"
+				minOccurs="0" />
+			<xsd:element name="type-converters" type="Ttype-converters"
+				minOccurs="0" maxOccurs="1" />
+			<!-- top-level components -->
+			<xsd:choice minOccurs="0" maxOccurs="unbounded">
+				<xsd:element name="service" type="Tservice" />
+				<xsd:element name="reference-list" type="Treference-list" />
+				<xsd:element name="bean" type="Tbean" />
+				<xsd:element name="reference" type="Treference" />
+				<xsd:any namespace="##other" processContents="strict" />
+			</xsd:choice>
+		</xsd:sequence>
+
+		<!-- Defaults-->
+		<xsd:attribute name="default-activation" default="eager"
+			type="Tactivation">
+			<xsd:annotation>
+				<xsd:documentation>
+                    <![CDATA[
+                    Specifies the default activation setting that will be defined
+                    for components.  If not specified, the global default is "eager".
+                    Individual components may override the default value.
+                    ]]>
+				</xsd:documentation>
+			</xsd:annotation>
+		</xsd:attribute>
+		<xsd:attribute name="default-timeout" type="Ttimeout"
+			default="300000">
+			<xsd:annotation>
+				<xsd:documentation>
+                    <![CDATA[
+                    Specifies the default timeout value to be used when operations
+                    are invoked on unstatisfied service references.  If the
+                    reference does not change to a satisfied state within the timeout
+                    window, an error is raised on the method invocation.  The
+                    default timeout value is 300000 milliseconds and individual
+                    <reference> element can override the specified configuration
+                    default.
+                    ]]>
+				</xsd:documentation>
+			</xsd:annotation>
+		</xsd:attribute>
+		<xsd:attribute name="default-availability" type="Tavailability"
+			default="mandatory">
+			<xsd:annotation>
+				<xsd:documentation>
+                    <![CDATA[
+                    Specifies the default availability value to be used for
+                    <reference>, and <reference-list> components.  The
+                    normal default is "mandatory", and can be changed by individual
+                    service reference components.
+                    ]]>
+				</xsd:documentation>
+			</xsd:annotation>
+		</xsd:attribute>
+		<xsd:anyAttribute namespace="##other"
+			processContents="strict" />
+	</xsd:complexType>
+
+	<xsd:complexType name="Ttype-converters">
+		<xsd:annotation>
+			<xsd:documentation>
+                <![CDATA[
+                The type used for the <type-converters> element.  The
+                <type-converters> section is a set of <bean>, <ref>, or
+                <reference> elements that identify the type converter components.
+                ]]>
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:choice minOccurs="0" maxOccurs="unbounded">
+			<xsd:element name="bean" type="Tbean" />
+			<xsd:element name="reference" type="Treference" />
+			<xsd:element name="ref" type="Tref" />
+			<xsd:any namespace="##other" processContents="strict" />
+		</xsd:choice>
+	</xsd:complexType>
+
+	<!--
+		Components that provide a reasonable target for injection used for
+		listeners, etc.
+	-->
+
+	<xsd:group name="GtargetComponent">
+		<xsd:annotation>
+			<xsd:documentation>
+                <![CDATA[
+                A target component is one that can be a target for a
+                listener, registration-listener or service elements.
+                This is used in contexts where the requirement is a single
+                provided object that will implement a particular interface.
+                The provided object is obtained either from a <ref> element
+                or an inlined <bean> or <reference>.
+                ]]>
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:choice>
+			<xsd:element name="bean" type="Tinlined-bean" />
+			<xsd:element name="reference" type="Tinlined-reference" />
+			<xsd:element name="ref" type="Tref" />
+			<xsd:any namespace="##other" processContents="strict" />
+		</xsd:choice>
+	</xsd:group>
+
+	<xsd:group name="GallComponents">
+		<xsd:annotation>
+			<xsd:documentation>
+                <![CDATA[
+                An all components is used in contexts where all component element
+                types are values.  The set of component elements contains
+                <bean>, <service>, <reference>, <reference-list> and <ref>.
+                ]]>
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:choice>
+			<xsd:element name="service" type="Tinlined-service" />
+			<xsd:element name="reference-list" type="Tinlined-reference-list" />
+			<xsd:group ref="GtargetComponent" />
+		</xsd:choice>
+	</xsd:group>
+
+	<xsd:group name="GbeanElements">
+		<xsd:annotation>
+			<xsd:documentation>
+                <![CDATA[
+                A bean elements is a reusable definition of the elements allowed on 
+                a <bean> element.
+                ]]>
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:sequence>
+			<xsd:element name="description" type="Tdescription"
+				minOccurs="0" />
+			<xsd:choice minOccurs="0" maxOccurs="unbounded">
+				<xsd:element name="argument" type="Targument" />
+				<xsd:element name="property" type="Tproperty" />
+				<xsd:any namespace="##other" processContents="strict" />
+			</xsd:choice>
+		</xsd:sequence>
+	</xsd:group>
+
+	<xsd:complexType name="Tbean">
+		<xsd:annotation>
+			<xsd:documentation>
+                <![CDATA[
+                The type definition for a <bean> component.  The <bean> 
+                attributes provide the characteristics for how to create a
+                bean instance.  Constructor arguments and injected properties
+                are specified via child <argument> and <property> elements.
+                ]]>
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:complexContent>
+			<xsd:extension base="Tcomponent">
+				<xsd:group ref="GbeanElements" />
+				<xsd:attribute name="class" type="Tclass" />
+				<xsd:attribute name="init-method" type="Tmethod" />
+				<xsd:attribute name="destroy-method" type="Tmethod" />
+				<xsd:attribute name="factory-method" type="Tmethod" />
+				<xsd:attribute name="factory-ref" type="Tidref" />
+				<xsd:attribute name="scope" type="Tscope" />
+				<xsd:anyAttribute namespace="##other"
+					processContents="strict" />
+			</xsd:extension>
+		</xsd:complexContent>
+	</xsd:complexType>
+
+	<xsd:complexType name="Tinlined-bean">
+		<xsd:annotation>
+			<xsd:documentation>
+                <![CDATA[
+                The Tinlined-bean type is used for inlined (i.e. non top level)
+                <bean> elements.  Those elements have some restrictions on
+                the attributes that can be used to define them.
+                ]]>
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:complexContent>
+			<xsd:restriction base="Tbean">
+				<xsd:group ref="GbeanElements" />
+				<xsd:attribute name="id" use="prohibited" />
+				<xsd:attribute name="depends-on" type="TdependsOn" />
+				<xsd:attribute name="activation" use="prohibited"
+					fixed="lazy" />
+				<xsd:attribute name="class" type="Tclass" />
+				<xsd:attribute name="init-method" type="Tmethod" />
+				<xsd:attribute name="destroy-method" use="prohibited" />
+				<xsd:attribute name="factory-method" type="Tmethod" />
+				<xsd:attribute name="factory-ref" type="Tidref" />
+				<xsd:attribute name="scope" use="prohibited" fixed="prototype" />
+				<xsd:anyAttribute namespace="##other"
+					processContents="strict" />
+			</xsd:restriction>
+		</xsd:complexContent>
+	</xsd:complexType>
+
+	<xsd:complexType name="Targument">
+		<xsd:annotation>
+			<xsd:documentation>
+                <![CDATA[
+                An argument used to create an object defined by a <bean>
+                component.  The <argument> elements are the arguments for the
+                bean class constructor or passed to the bean factory method.
+
+                The type, if specified, is used to disambiguate the constructor
+                or method signature.  Arguments may also be matched up with
+                arguments by explicitly specifying the index position.  If the
+                index is used, then all <argument> elements for the bean must
+                also specify the index.
+
+                The value and ref attributes are convenience shortcuts to make
+                the <argument> tag easier to code.  A fuller set of injected
+                values and types can be specified using one of the "value"
+                type elements.
+                ]]>
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:sequence>
+			<xsd:element name="description" type="Tdescription"
+				minOccurs="0" />
+			<xsd:group ref="Gvalue" minOccurs="0" />
+		</xsd:sequence>
+		<xsd:attribute name="index" type="xsd:nonNegativeInteger" />
+		<xsd:attribute name="type" type="Ttype" />
+		<xsd:attribute name="ref" type="Tidref" />
+		<xsd:attribute name="value" type="TstringValue" />
+	</xsd:complexType>
+
+	<xsd:complexType name="Tproperty">
+		<xsd:annotation>
+			<xsd:documentation>
+                <![CDATA[
+                A property that will be injected into a created <bean>
+                component.  The <property> elements correspond to named
+                JavaBean setting methods for a created bean object.
+
+                The value and ref attributes are convenience shortcuts to make
+                the <argument> tag easier to code.  A fuller set of injected
+                values and types can be specified using one of the "value"
+                type elements.
+                ]]>
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:sequence>
+			<xsd:element name="description" type="Tdescription"
+				minOccurs="0" />
+			<xsd:group ref="Gvalue" minOccurs="0" />
+		</xsd:sequence>
+		<xsd:attribute name="name" type="Tmethod" use="required" />
+		<xsd:attribute name="ref" type="Tidref" />
+		<xsd:attribute name="value" type="TstringValue" />
+	</xsd:complexType>
+
+	<xsd:complexType name="Tkey">
+		<xsd:annotation>
+			<xsd:documentation>
+                <![CDATA[
+                The Tkey type defines the element types that are permitted
+                for Map key situations.  These can be any of the "value"
+                types other than the <null> element.
+                ]]>
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:group ref="GnonNullValue" />
+	</xsd:complexType>
+
+	<!-- reference -->
+	<xsd:complexType name="Treference">
+		<xsd:annotation>
+			<xsd:documentation>
+                <![CDATA[
+                The Treference type defines the <reference> element.  These
+                are instances of the TserviceReference type, with the addition
+                of a timeout attribute.  If the timeout is not specified,
+                the default-timeout value is inherited from the encapsulating
+                <blueprint> definition.
+                ]]>
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:complexContent>
+			<xsd:extension base="TserviceReference">
+				<xsd:sequence>
+					<xsd:any namespace="##other" minOccurs="0" maxOccurs="unbounded"
+						processContents="strict" />
+				</xsd:sequence>
+				<xsd:attribute name="timeout" type="Ttimeout" />
+			</xsd:extension>
+		</xsd:complexContent>
+	</xsd:complexType>
+
+	<xsd:complexType name="Tinlined-reference">
+		<xsd:annotation>
+			<xsd:documentation>
+                <![CDATA[
+                The Tinlined-reference type is used for inlined (i.e. non top level)
+                <reference> elements.
+                ]]>
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:complexContent>
+			<xsd:restriction base="Treference">
+				<xsd:sequence>
+					<xsd:group ref="GserviceReferenceElements" />
+					<xsd:any namespace="##other" minOccurs="0" maxOccurs="unbounded"
+						processContents="strict" />
+				</xsd:sequence>
+				<xsd:attribute name="id" use="prohibited" />
+				<xsd:attribute name="depends-on" type="TdependsOn" />
+				<xsd:attribute name="activation" use="prohibited"
+					fixed="lazy" />
+				<xsd:attribute name="interface" type="Tclass" />
+				<xsd:attribute name="filter" type="xsd:normalizedString" />
+				<xsd:attribute name="component-name" type="Tidref" />
+				<xsd:attribute name="availability" type="Tavailability" />
+				<xsd:attribute name="timeout" type="Ttimeout" />
+				<xsd:anyAttribute namespace="##other"
+					processContents="strict" />
+			</xsd:restriction>
+		</xsd:complexContent>
+	</xsd:complexType>
+
+	<!-- reference-list -->
+	<xsd:complexType name="Treference-list">
+		<xsd:annotation>
+			<xsd:documentation>
+                <![CDATA[
+                The Treference-list builds in the characteristics of the
+                TserviceReference type to define characteristics of the
+                <reference-list>.  This adds in the characteristics that
+                only apply to collections of references (e.g., member-type).
+                ]]>
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:complexContent>
+			<xsd:extension base="TserviceReference">
+				<xsd:sequence>
+					<xsd:any namespace="##other" minOccurs="0" maxOccurs="unbounded"
+						processContents="strict" />
+				</xsd:sequence>
+				<xsd:attribute name="member-type" type="Tservice-use"
+					default="service-object">
+				</xsd:attribute>
+			</xsd:extension>
+		</xsd:complexContent>
+	</xsd:complexType>
+
+	<xsd:complexType name="Tinlined-reference-list">
+		<xsd:annotation>
+			<xsd:documentation>
+                <![CDATA[
+                The Tinlined-reference-list type is used for inlined (i.e. non top level)
+                <reference-list> elements.
+                ]]>
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:complexContent>
+			<xsd:restriction base="Treference-list">
+				<xsd:sequence>
+					<xsd:group ref="GserviceReferenceElements" />
+					<xsd:any namespace="##other" minOccurs="0" maxOccurs="unbounded"
+						processContents="strict" />
+				</xsd:sequence>
+				<xsd:attribute name="id" use="prohibited" />
+				<xsd:attribute name="depends-on" type="TdependsOn" />
+				<xsd:attribute name="activation" use="prohibited"
+					fixed="lazy" />
+				<xsd:attribute name="interface" type="Tclass" />
+				<xsd:attribute name="filter" type="xsd:normalizedString" />
+				<xsd:attribute name="component-name" type="Tidref" />
+				<xsd:attribute name="availability" type="Tavailability" />
+				<xsd:attribute name="member-type" type="Tservice-use"
+					default="service-object" />
+				<xsd:anyAttribute namespace="##other"
+					processContents="strict" />
+			</xsd:restriction>
+		</xsd:complexContent>
+	</xsd:complexType>
+
+	<!-- Reference base class -->
+	<xsd:complexType name="TserviceReference">
+		<xsd:annotation>
+			<xsd:documentation>
+                <![CDATA[
+                TserviceReference is the base element type used for <reference>
+                and <reference-list> elements.  This type defines all of the
+                characteristics common to both sorts of references.
+                ]]>
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:complexContent>
+			<xsd:extension base="Tcomponent">
+				<xsd:sequence>
+					<xsd:group ref="GserviceReferenceElements" />
+				</xsd:sequence>
+
+				<xsd:attribute name="interface" type="Tclass">
+					<xsd:annotation>
+						<xsd:documentation>
+                            <![CDATA[
+                            The interface that the OSGi service must implement and that will be
+                            implemented by the proxy object.
+                            This attribute is optional.
+                            ]]>
+						</xsd:documentation>
+					</xsd:annotation>
+				</xsd:attribute>
+				<xsd:attribute name="filter" type="xsd:normalizedString">
+					<xsd:annotation>
+						<xsd:documentation>
+                            <![CDATA[
+                            A filter string used to narrow the search for a matching service
+                            reference.
+                            ]]>
+						</xsd:documentation>
+					</xsd:annotation>
+				</xsd:attribute>
+				<xsd:attribute name="component-name" type="Tidref">
+					<xsd:annotation>
+						<xsd:documentation>
+                            <![CDATA[
+                            An optional specifier that can be used to match a service definition
+                            to one created by a specific blueprint component.
+                            ]]>
+						</xsd:documentation>
+					</xsd:annotation>
+				</xsd:attribute>
+				<xsd:attribute name="availability" type="Tavailability">
+					<xsd:annotation>
+						<xsd:documentation>
+                            <![CDATA[
+                            Use to control the initial processing of service references at
+                            blueprint context startup.  "mandatory" indicates the context
+                            should not start unless the service is available within the
+                            specified context startup period.  "optional" indicates availability
+                            of this service is not a requirement at bundle startup.
+
+                            NOTE:  No default is specified because this can be overridden
+                            by the default-availability attribute of the <blueprint> element.
+                            ]]>
+						</xsd:documentation>
+					</xsd:annotation>
+				</xsd:attribute>
+				<xsd:anyAttribute namespace="##other"
+					processContents="strict" />
+			</xsd:extension>
+		</xsd:complexContent>
+	</xsd:complexType>
+
+	<xsd:group name="GserviceReferenceElements">
+		<xsd:sequence>
+			<xsd:element name="description" type="Tdescription"
+				minOccurs="0" />
+			<!-- listener -->
+			<xsd:element name="reference-listener" type="TreferenceListener"
+				minOccurs="0" maxOccurs="unbounded">
+				<xsd:annotation>
+					<xsd:documentation>
+                        <![CDATA[
+                        A definition of a listener that will watch for bind/unbind events
+                        associated with the service reference.  The targetted listener can
+                        be a <ref> to a <bean> or <reference> element, or an inline
+                        <bean> or <reference>.
+                        ]]>
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+		</xsd:sequence>
+	</xsd:group>
+
+	<xsd:complexType name="TreferenceListener">
+		<xsd:annotation>
+			<xsd:documentation>
+                <![CDATA[
+                TReferenceListener defines a reference listener that is attached
+                to a <reference> or <reference-list> element.  The listener
+                object can be specified as a <ref> or as an inline <bean> or
+                <reference> component.  Listener events are mapped to the indicated
+                bind or unbind methods.
+                ]]>
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:sequence>
+			<xsd:group ref="GtargetComponent" minOccurs="0" />
+		</xsd:sequence>
+		<xsd:attribute name="ref" type="Tidref" />
+		<xsd:attribute name="bind-method" type="Tmethod" />
+		<xsd:attribute name="unbind-method" type="Tmethod" />
+	</xsd:complexType>
+
+	<xsd:simpleType name="Tactivation">
+		<xsd:annotation>
+			<xsd:documentation>
+                <![CDATA[
+                Tactivation defines the activation type for components.  This is used in this
+                schema by the <blueprint> default-activation attribute and the
+                activation attribute.
+                ]]>
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:restriction base="xsd:NMTOKEN">
+			<xsd:enumeration value="eager" />
+			<xsd:enumeration value="lazy" />
+		</xsd:restriction>
+	</xsd:simpleType>
+
+	<xsd:simpleType name="Tavailability">
+		<xsd:annotation>
+			<xsd:documentation>
+                <![CDATA[
+                Tavailability defines an availability attribute type.  This is used in this
+                schema by the <blueprint> default-availability attribute and the
+                <reference> and <reference-list> availability attribute.
+                ]]>
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:restriction base="xsd:NMTOKEN">
+			<xsd:enumeration value="mandatory" />
+			<xsd:enumeration value="optional" />
+		</xsd:restriction>
+	</xsd:simpleType>
+
+	<!-- service -->
+
+	<xsd:complexType name="Tservice">
+		<xsd:annotation>
+			<xsd:documentation>
+                <![CDATA[
+                Tservice is the type for services exported by this blueprint bundle.
+                Services are sourced by either a <ref> to a <bean> component or an
+                <inline> bean component.
+                ]]>
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:complexContent>
+			<xsd:extension base="Tcomponent">
+				<xsd:sequence>
+					<xsd:group ref="GserviceElements" />
+				</xsd:sequence>
+				<xsd:attribute name="interface" type="Tclass">
+					<xsd:annotation>
+						<xsd:documentation>
+                            <![CDATA[
+                            The interface that this OSGi service will provide.
+                            ]]>
+						</xsd:documentation>
+					</xsd:annotation>
+				</xsd:attribute>
+				<xsd:attribute name="ref" type="Tidref">
+					<xsd:annotation>
+						<xsd:documentation>
+                            <![CDATA[
+                            The ref attribute can be used to specify the component that provides
+                            the object exported as an OSGi service.
+                            ]]>
+						</xsd:documentation>
+					</xsd:annotation>
+				</xsd:attribute>
+				<xsd:attribute name="auto-export" type="TautoExportModes"
+					default="disabled">
+					<xsd:annotation>
+						<xsd:documentation>
+                            <![CDATA[
+                            If set to a value different from "disabled", the Blueprint Container
+                            will introspect the target to discover the set of interfaces or classes
+                            that the service will be registered under.
+                            ]]>
+						</xsd:documentation>
+					</xsd:annotation>
+				</xsd:attribute>
+				<xsd:attribute name="ranking" type="xsd:int" default="0">
+					<xsd:annotation>
+						<xsd:documentation>
+                            <![CDATA[
+                            A service ranking value that is added to the service properties
+                            the service will be published with.
+                            ]]>
+						</xsd:documentation>
+					</xsd:annotation>
+				</xsd:attribute>
+				<xsd:anyAttribute namespace="##other"
+					processContents="strict" />
+			</xsd:extension>
+		</xsd:complexContent>
+	</xsd:complexType>
+
+	<xsd:complexType name="Tinlined-service">
+		<xsd:annotation>
+			<xsd:documentation>
+                <![CDATA[
+                The Tinlined-service type is used for inlined (i.e. non top level)
+                <service> elements.
+                ]]>
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:complexContent>
+			<xsd:restriction base="Tservice">
+				<xsd:sequence>
+					<xsd:group ref="GserviceElements" />
+				</xsd:sequence>
+				<xsd:attribute name="id" use="prohibited" />
+				<xsd:attribute name="depends-on" type="TdependsOn" />
+				<xsd:attribute name="activation" use="prohibited"
+					fixed="lazy" />
+				<xsd:attribute name="interface" type="Tclass" />
+				<xsd:attribute name="ref" type="Tidref" />
+				<xsd:attribute name="auto-export" type="TautoExportModes"
+					default="disabled" />
+				<xsd:attribute name="ranking" type="xsd:int" default="0" />
+				<xsd:anyAttribute namespace="##other"
+					processContents="strict" />
+			</xsd:restriction>
+		</xsd:complexContent>
+	</xsd:complexType>
+
+	<xsd:group name="GbaseServiceElements">
+		<xsd:sequence>
+			<xsd:element name="description" type="Tdescription"
+				minOccurs="0" />
+			<xsd:element name="interfaces" type="Tinterfaces"
+				minOccurs="0">
+				<xsd:annotation>
+					<xsd:documentation>
+                        <![CDATA[
+                        A collection of one or more interface class names this service
+                        will be registered under.  The <service> element also has
+                        a shortcut interface attribute for the usual case of just
+                        a single interface being used.  This also cannot be used if
+                        the auto-export attribute is used.
+                        ]]>
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+
+			<xsd:element name="service-properties" type="TserviceProperties"
+				minOccurs="0">
+				<xsd:annotation>
+					<xsd:documentation>
+                        <![CDATA[
+                        The service provided when the service is registered.  The service
+                        properties are similar to map elements, but the keys must always
+                        be strings, and the values are required to be in a narrower range.
+                        ]]>
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+			<xsd:element name="registration-listener" type="TregistrationListener"
+				minOccurs="0" maxOccurs="unbounded">
+				<xsd:annotation>
+					<xsd:documentation>
+                        <![CDATA[
+                        A set of 0 or more registration listeners attached to this service
+                        component.  The registration listeners will be notified whenever the
+                        service is registered or unregistered from the framework service
+                        registry.
+                        ]]>
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+		</xsd:sequence>
+	</xsd:group>
+
+	<xsd:group name="GserviceElements">
+		<xsd:annotation>
+			<xsd:documentation>
+                <![CDATA[
+                A set of service elements.
+                ]]>
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:sequence>
+			<xsd:group ref="GbaseServiceElements" />
+			<xsd:group ref="GtargetComponent" minOccurs="0">
+				<xsd:annotation>
+					<xsd:documentation>
+                        <![CDATA[
+                        A service definition can use any of the target types as an inline element
+                        as well.
+                        ]]>
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:group>
+		</xsd:sequence>
+	</xsd:group>
+
+	<xsd:complexType name="TregistrationListener">
+		<xsd:annotation>
+			<xsd:documentation>
+                <![CDATA[
+                A registration listener definition.  The target registration listener
+                can be either a <ref> to a <bean> or <service> component, or an inline
+                <bean> or <service> component definition.  The registration-method and
+                unregistration-method attributes define the methods that will be called
+                for the respective events.
+
+                For the very common case of using a <ref> to a listener component, the
+                ref attribute may also be used as a shortcut.
+                ]]>
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:sequence>
+			<xsd:group ref="GtargetComponent" minOccurs="0" />
+		</xsd:sequence>
+		<xsd:attribute name="ref" type="Tidref" />
+		<xsd:attribute name="registration-method" type="Tmethod" />
+		<xsd:attribute name="unregistration-method" type="Tmethod" />
+	</xsd:complexType>
+
+	<!-- Values -->
+
+	<xsd:group name="Gvalue">
+		<xsd:annotation>
+			<xsd:documentation>
+                <![CDATA[
+                The set of "value" types that can be used in any place a value
+                can be specified.  This set includes the <ref> and <idref> elements, any of the
+                component types (<bean>, <service>, etc.) as inline components, the
+                generic <value> element for types sourced from string values, any of the
+                collection types (<set>, <list>, <array>, <map>, <props>), and the
+                <null> type to inject a null value.
+                ]]>
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:choice>
+			<xsd:group ref="GnonNullValue" />
+			<xsd:element name="null" type="Tnull" />
+		</xsd:choice>
+	</xsd:group>
+
+	<xsd:complexType name="Tnull">
+		<xsd:annotation>
+			<xsd:documentation>
+                <![CDATA[
+                The definition for a <null> value type.
+                ]]>
+			</xsd:documentation>
+		</xsd:annotation>
+	</xsd:complexType>
+
+	<xsd:group name="GnonNullValue">
+		<xsd:annotation>
+			<xsd:documentation>
+                <![CDATA[
+                The set of "value" types that can be used in any place a non-null value
+                can be specified.  This set includes the <ref> and <idref> elements, any of the
+                component types (<bean>, <service>, etc.) as inline components, the
+                generic <value> element for types sourced from string values, and any of the
+                collection types (<set>, <list>, <array>, <map>, <props>).
+
+                The <null> type is NOT a member of this group.
+                ]]>
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:choice>
+			<xsd:group ref="GallComponents" />
+			<xsd:element name="idref" type="Tref" />
+			<xsd:element name="value" type="Tvalue" />
+			<xsd:element name="list" type="Tcollection" />
+			<xsd:element name="set" type="Tcollection" />
+			<xsd:element name="map" type="Tmap" />
+			<xsd:element name="array" type="Tcollection" />
+			<xsd:element name="props" type="Tprops" />
+		</xsd:choice>
+	</xsd:group>
+
+	<xsd:complexType name="Tref">
+		<xsd:annotation>
+			<xsd:documentation>
+                <![CDATA[
+                Tref is the type used for <ref> elements.  This specifies a required
+                component id for the reference component.
+                ]]>
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:attribute name="component-id" type="Tidref" use="required" />
+	</xsd:complexType>
+
+	<xsd:complexType name="Tvalue" mixed="true">
+		<xsd:annotation>
+			<xsd:documentation>
+                <![CDATA[
+                Tvalue is the type used for <value> elements.  The <value> element
+                is used for types that can be created from a single string value.
+                The string value is the data value for the element.  The optional
+                type attribute allows a target conversion value to be explicitly
+                specified.
+                ]]>
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:attribute name="type" type="Ttype" />
+	</xsd:complexType>
+
+	<!-- Collection Values -->
+
+	<xsd:complexType name="TtypedCollection">
+		<xsd:annotation>
+			<xsd:documentation>
+                <![CDATA[
+                TtypeCollection defines comment attributes shared among different
+                collection types that allow a default value type to be specified.
+                ]]>
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:attribute name="value-type" type="Ttype" />
+	</xsd:complexType>
+
+	<xsd:complexType name="Tcollection">
+		<xsd:annotation>
+			<xsd:documentation>
+                <![CDATA[
+                Tcollection is the base schema type for different ordered collection
+                types.  This is shared between the <array>, <list>, and <set> elements.
+                ]]>
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:complexContent>
+			<xsd:extension base="TtypedCollection">
+				<xsd:group ref="Gvalue" minOccurs="0" maxOccurs="unbounded" />
+			</xsd:extension>
+		</xsd:complexContent>
+	</xsd:complexType>
+
+	<xsd:complexType name="Tprops">
+		<xsd:annotation>
+			<xsd:documentation>
+                <![CDATA[
+                Tprops is the type used by the <props> value element.  The prop elements
+                are pairs of string-valued keys and values.
+                ]]>
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:sequence>
+			<xsd:element name="prop" type="Tprop" minOccurs="0"
+				maxOccurs="unbounded" />
+		</xsd:sequence>
+	</xsd:complexType>
+
+	<xsd:complexType name="Tprop" mixed="true">
+		<xsd:annotation>
+			<xsd:documentation>
+                <![CDATA[
+                Tprop is a single property element for a <props> value type.  The property
+                value can be specified using either the attribute, or as value data for
+                the property element.
+                ]]>
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:attribute name="key" type="TstringValue" use="required" />
+		<xsd:attribute name="value" type="TstringValue" />
+	</xsd:complexType>
+
+	<!-- 'map' element type -->
+	<xsd:complexType name="Tmap">
+		<xsd:annotation>
+			<xsd:documentation>
+                <![CDATA[
+                Tmap is the base type used for <map> elements.  A map may have a
+                default value type specified, so it inherits from the TtypeCollection
+                type.  A key type can also be specified, and the map members are
+                created from the entry elements, which require a key/value pair.
+                ]]>
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:complexContent>
+			<xsd:extension base="TtypedCollection">
+				<xsd:sequence>
+					<xsd:element name="entry" type="TmapEntry" minOccurs="0"
+						maxOccurs="unbounded" />
+				</xsd:sequence>
+				<xsd:attribute name="key-type" type="Ttype" />
+			</xsd:extension>
+		</xsd:complexContent>
+	</xsd:complexType>
+
+	<!-- 'entry' element type -->
+	<xsd:complexType name="TmapEntry">
+		<xsd:annotation>
+			<xsd:documentation>
+                <![CDATA[
+                TmapEntry is used for <entry> elements nested inside of a <map> element.
+                Each <entry> instance defines a key/value pair that will be added to the
+                Map.  Both the keys and values may be arbitrary types.  Keys must not
+                be <null> but <null> is permitted for entry values.  A default type
+                can be specified for both the keys and the values, but individual keys
+                or values can override the default.
+                ]]>
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:sequence>
+			<xsd:element name="key" type="Tkey" minOccurs="0" />
+			<xsd:group ref="Gvalue" minOccurs="0" />
+		</xsd:sequence>
+		<xsd:attribute name="key" type="TstringValue" />
+		<xsd:attribute name="key-ref" type="Tidref" />
+		<xsd:attribute name="value" type="TstringValue" />
+		<xsd:attribute name="value-ref" type="Tidref" />
+	</xsd:complexType>
+
+	<!-- 'service property' element type -->
+	<xsd:complexType name="TserviceProperties">
+		<xsd:annotation>
+			<xsd:documentation>
+                <![CDATA[
+                TserviceProperty is used for <service-properties> elements.
+                The syntax is similar to what is defined for <map>, but keys must be
+                string values and there are no type defaults that can be specified.
+                created from the entry elements, which require a key/value pair.
+                ]]>
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:sequence>
+			<xsd:element name="entry" type="TservicePropertyEntry"
+				minOccurs="0" maxOccurs="unbounded" />
+			<xsd:any namespace="##other" processContents="strict"
+				minOccurs="0" maxOccurs="unbounded" />
+		</xsd:sequence>
+	</xsd:complexType>
+
+	<!-- 'entry' element type -->
+	<xsd:complexType name="TservicePropertyEntry">
+		<xsd:annotation>
+			<xsd:documentation>
+                <![CDATA[
+                TservicePropertyEntry is an entry value used for the <service-properties>
+                element.  This does not allow a child <key> element and there are no
+                key-ref or value-ref attributes.
+                ]]>
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:sequence>
+			<xsd:group ref="Gvalue" minOccurs="0" />
+		</xsd:sequence>
+		<xsd:attribute name="key" type="TstringValue" use="required" />
+		<xsd:attribute name="value" type="TstringValue" />
+	</xsd:complexType>
+
+	<!-- General types -->
+
+	<xsd:complexType name="Tdescription" mixed="true">
+		<xsd:annotation>
+			<xsd:documentation>
+                <![CDATA[
+                A generic <description> element type to allow documentation to added to the
+                blueprint configuration.
+                ]]>
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:choice minOccurs="0" maxOccurs="unbounded" />
+	</xsd:complexType>
+
+	<xsd:complexType name="Tinterfaces">
+		<xsd:annotation>
+			<xsd:documentation>
+                <![CDATA[
+                The type definition for the <interfaces> element used for <service>
+                ]]>
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:choice minOccurs="1" maxOccurs="unbounded">
+			<xsd:element name="value" type="TinterfaceValue" />
+		</xsd:choice>
+	</xsd:complexType>
+
+	<xsd:simpleType name="TinterfaceValue">
+		<xsd:annotation>
+			<xsd:documentation>
+                <![CDATA[
+                TinterfaceValue is used for subelements of the <interfaces> element.
+                This is just a <value>xxxxx</value> element where the contained
+                value is the name of an interface class.
+                ]]>
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:restriction base="Tclass" />
+	</xsd:simpleType>
+
+	<xsd:simpleType name="Tclass">
+		<xsd:annotation>
+			<xsd:documentation>
+                <![CDATA[
+                Tclass is a base type that should be used for all attributes that
+                refer to java class names.
+                ]]>
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:restriction base="xsd:NCName" />
+	</xsd:simpleType>
+
+	<xsd:simpleType name="Ttype">
+		<xsd:annotation>
+			<xsd:documentation>
+                <![CDATA[
+                Ttype is a base type that refer to java types such as classes or
+                arrays.
+                ]]>
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:restriction base="xsd:token">
+			<xsd:pattern value="[\i-[:]][\c-[:]]*(\[\])*" />
+		</xsd:restriction>
+	</xsd:simpleType>
+
+	<xsd:simpleType name="Tmethod">
+		<xsd:annotation>
+			<xsd:documentation>
+                <![CDATA[
+                Tmethod is a base type that should be used for all attributes that
+                refer to java method names.
+                ]]>
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:restriction base="xsd:NCName" />
+	</xsd:simpleType>
+
+	<!--
+		Should be used for all attributes and elements that refer to method
+		names
+	-->
+	<xsd:simpleType name="Tidref">
+		<xsd:annotation>
+			<xsd:documentation>
+                <![CDATA[
+                Tidref is a base type that should be used for all attributes that
+                refer to component ids.
+                ]]>
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:restriction base="xsd:NCName" />
+	</xsd:simpleType>
+
+	<xsd:simpleType name="TstringValue">
+		<xsd:annotation>
+			<xsd:documentation>
+                <![CDATA[
+                TstringValue is a base type that should be used for all attributes that
+                refer to raw string values
+                ]]>
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:restriction base="xsd:normalizedString" />
+	</xsd:simpleType>
+
+	<xsd:simpleType name="TautoExportModes">
+		<xsd:annotation>
+			<xsd:documentation>
+                <![CDATA[
+                TautoExportModes is a base type that should be used for export-mode
+                attributes.
+                ]]>
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:restriction base="xsd:NMTOKEN">
+			<xsd:enumeration value="disabled" />
+			<xsd:enumeration value="interfaces" />
+			<xsd:enumeration value="class-hierarchy" />
+			<xsd:enumeration value="all-classes" />
+		</xsd:restriction>
+	</xsd:simpleType>
+
+	<xsd:simpleType name="Ttimeout">
+		<xsd:annotation>
+			<xsd:documentation>
+                <![CDATA[
+                Ttimeout is a base type that should be used for all attributes that
+                specify timeout values
+                ]]>
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:restriction base="xsd:unsignedLong" />
+	</xsd:simpleType>
+
+	<xsd:simpleType name="TdependsOn">
+		<xsd:annotation>
+			<xsd:documentation>
+                <![CDATA[
+                TdependsOn is a base type that should be used for all attributes that
+                specify depends-on relationships
+                ]]>
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:restriction>
+			<xsd:simpleType>
+				<xsd:list itemType="Tidref" />
+			</xsd:simpleType>
+			<xsd:minLength value="1" />
+		</xsd:restriction>
+	</xsd:simpleType>
+
+	<xsd:simpleType name="Tscope">
+		<xsd:restriction base="xsd:NMTOKEN">
+			<xsd:enumeration value="singleton" />
+			<xsd:enumeration value="prototype" />
+		</xsd:restriction>
+	</xsd:simpleType>
+
+	<xsd:simpleType name="Tservice-use">
+		<xsd:annotation>
+			<xsd:documentation>
+				<![CDATA[
+                Indicates the type of object that will be placed within the
+                reference collection.  "service-object" indicates the 
+                collection contains blueprint proxies for imported services.  
+                "service-reference" indicates the collection contains 
+                ServiceReference objects matching the target service type.
+				]]>
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:restriction base="xsd:NMTOKEN">
+			<xsd:enumeration value="service-object" />
+			<xsd:enumeration value="service-reference" />
+		</xsd:restriction>
+	</xsd:simpleType>
+
+</xsd:schema>

Added: felix/trunk/org.osgi.compendium/xmlns/metatype/v1.0.0/metatype.xsd
URL: http://svn.apache.org/viewvc/felix/trunk/org.osgi.compendium/xmlns/metatype/v1.0.0/metatype.xsd?rev=797561&view=auto
==============================================================================
--- felix/trunk/org.osgi.compendium/xmlns/metatype/v1.0.0/metatype.xsd (added)
+++ felix/trunk/org.osgi.compendium/xmlns/metatype/v1.0.0/metatype.xsd Fri Jul 24 17:06:37 2009
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/*
+ * $Revision: 5673 $
+ * 
+ * Copyright (c) OSGi Alliance (2005, 2008). All Rights Reserved.
+ * 
+ * Licensed 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.
+ */
+-->
+<schema xmlns="http://www.w3.org/2001/XMLSchema"
+	targetNamespace="http://www.osgi.org/xmlns/metatype/v1.0.0"
+	xmlns:metatype="http://www.osgi.org/xmlns/metatype/v1.0.0">
+
+	<complexType name="MetaData">
+		<sequence>
+			<element name="OCD" type="metatype:OCD" minOccurs="0"
+				maxOccurs="unbounded" />
+			<element name="Designate" type="metatype:Designate"
+				minOccurs="0" maxOccurs="unbounded" />
+		</sequence>
+		<attribute name="localization" type="string" use="optional" />
+	</complexType>
+
+	<complexType name="OCD">
+		<sequence>
+			<element name="AD" type="metatype:AD" minOccurs="1"
+				maxOccurs="unbounded" />
+			<element name="Icon" type="metatype:Icon" minOccurs="0"
+				maxOccurs="1" />
+		</sequence>
+		<attribute name="name" type="string" use="required" />
+		<attribute name="description" type="string" use="optional" />
+		<attribute name="id" type="string" use="required" />
+	</complexType>
+
+	<complexType name="AD">
+		<sequence>
+			<element name="Option" type="metatype:Option" minOccurs="0"
+				maxOccurs="unbounded" />
+		</sequence>
+		<attribute name="name" type="string" use="optional" />
+		<attribute name="description" type="string" use="optional" />
+		<attribute name="id" type="string" use="required" />
+		<attribute name="type" type="metatype:Scalar" use="required" />
+		<attribute name="cardinality" type="int" use="optional"
+			default="0" />
+		<attribute name="min" type="string" use="optional" />
+		<attribute name="max" type="string" use="optional" />
+		<attribute name="default" type="string" use="optional" />
+		<attribute name="required" type="boolean" use="optional"
+			default="true" />
+	</complexType>
+
+	<complexType name="Object">
+		<sequence>
+			<element name="Attribute" type="metatype:Attribute"
+				minOccurs="0" maxOccurs="unbounded" />
+		</sequence>
+		<attribute name="ocdref" type="string" use="required" />
+	</complexType>
+
+	<complexType name="Attribute">
+		<sequence>
+			<element name="Value" type="string" minOccurs="0"
+				maxOccurs="unbounded" />
+		</sequence>
+		<attribute name="adref" type="string" use="required" />
+		<attribute name="content" type="string" use="optional" />
+	</complexType>
+
+	<complexType name="Designate">
+		<sequence>
+			<element name="Object" type="metatype:Object" minOccurs="1"
+				maxOccurs="1" />
+		</sequence>
+		<attribute name="pid" type="string" use="required" />
+		<attribute name="factoryPid" type="string" use="optional" />
+		<attribute name="bundle" type="string" use="optional" />
+		<attribute name="optional" type="boolean" default="false"
+			use="optional" />
+		<attribute name="merge" type="boolean" default="false"
+			use="optional" />
+	</complexType>
+
+	<simpleType name="Scalar">
+		<restriction base="string">
+			<enumeration value="String" />
+			<enumeration value="Long" />
+			<enumeration value="Double" />
+			<enumeration value="Float" />
+			<enumeration value="Integer" />
+			<enumeration value="Byte" />
+			<enumeration value="Char" />
+			<enumeration value="Boolean" />
+			<enumeration value="Short" />
+		</restriction>
+	</simpleType>
+
+	<complexType name="Option">
+		<attribute name="label" type="string" use="required" />
+		<attribute name="value" type="string" use="required" />
+	</complexType>
+
+	<complexType name="Icon">
+		<attribute name="resource" type="string" use="required" />
+		<attribute name="size" type="positiveInteger" use="required" />
+	</complexType>
+
+	<element name="MetaData" type="metatype:MetaData" />
+</schema>
\ No newline at end of file

Added: felix/trunk/org.osgi.compendium/xmlns/metatype/v1.1.0/metatype.xsd
URL: http://svn.apache.org/viewvc/felix/trunk/org.osgi.compendium/xmlns/metatype/v1.1.0/metatype.xsd?rev=797561&view=auto
==============================================================================
--- felix/trunk/org.osgi.compendium/xmlns/metatype/v1.1.0/metatype.xsd (added)
+++ felix/trunk/org.osgi.compendium/xmlns/metatype/v1.1.0/metatype.xsd Fri Jul 24 17:06:37 2009
@@ -0,0 +1,170 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+	/*
+	* $Revision: 5655 $
+	* 
+	* Copyright (c) OSGi Alliance (2005, 2008). All Rights Reserved.
+	* 
+	* Licensed 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.
+	*/
+-->
+<schema xmlns="http://www.w3.org/2001/XMLSchema"
+	xmlns:metatype="http://www.osgi.org/xmlns/metatype/v1.1.0"
+	targetNamespace="http://www.osgi.org/xmlns/metatype/v1.1.0"
+	version="1.1.0">
+
+	<element name="MetaData" type="metatype:Tmetadata" />
+
+	<complexType name="Tmetadata">
+		<sequence>
+			<element name="OCD" type="metatype:Tocd" minOccurs="0"
+				maxOccurs="unbounded" />
+			<element name="Designate" type="metatype:Tdesignate"
+				minOccurs="0" maxOccurs="unbounded" />
+			<!-- It is non-deterministic, per W3C XML Schema 1.0: http://www.w3.org/TR/xmlschema-1/#cos-nonambig
+				to use namespace="##any" below. -->
+			<any namespace="##other" processContents="lax" minOccurs="0"
+				maxOccurs="unbounded" />
+		</sequence>
+		<attribute name="localization" type="string" use="optional" />
+		<anyAttribute />
+	</complexType>
+
+	<complexType name="Tocd">
+		<sequence>
+			<element name="AD" type="metatype:Tad" minOccurs="1"
+				maxOccurs="unbounded" />
+			<element name="Icon" type="metatype:Ticon" minOccurs="0"
+				maxOccurs="1" />
+			<!-- It is non-deterministic, per W3C XML Schema 1.0: http://www.w3.org/TR/xmlschema-1/#cos-nonambig
+				to use namespace="##any" below. -->
+			<any namespace="##other" processContents="lax" minOccurs="0"
+				maxOccurs="unbounded" />
+		</sequence>
+		<attribute name="name" type="string" use="required" />
+		<attribute name="description" type="string" use="optional" />
+		<attribute name="id" type="string" use="required" />
+		<anyAttribute />
+	</complexType>
+
+	<complexType name="Tad">
+		<sequence>
+			<element name="Option" type="metatype:Toption" minOccurs="0"
+				maxOccurs="unbounded" />
+			<!-- It is non-deterministic, per W3C XML Schema 1.0: http://www.w3.org/TR/xmlschema-1/#cos-nonambig
+				to use namespace="##any" below. -->
+			<any namespace="##other" processContents="lax" minOccurs="0"
+				maxOccurs="unbounded" />
+		</sequence>
+		<attribute name="name" type="string" use="optional" />
+		<attribute name="description" type="string" use="optional" />
+		<attribute name="id" type="string" use="required" />
+		<attribute name="type" type="metatype:Tscalar" use="required" />
+		<attribute name="cardinality" type="int" use="optional"
+			default="0" />
+		<attribute name="min" type="string" use="optional" />
+		<attribute name="max" type="string" use="optional" />
+		<attribute name="default" type="string" use="optional" />
+		<attribute name="required" type="boolean" use="optional"
+			default="true" />
+		<anyAttribute />
+	</complexType>
+
+	<complexType name="Tobject">
+		<sequence>
+			<element name="Attribute" type="metatype:Tattribute"
+				minOccurs="0" maxOccurs="unbounded" />
+			<!-- It is non-deterministic, per W3C XML Schema 1.0: http://www.w3.org/TR/xmlschema-1/#cos-nonambig
+				to use namespace="##any" below. -->
+			<any namespace="##other" processContents="lax" minOccurs="0"
+				maxOccurs="unbounded" />
+		</sequence>
+		<attribute name="ocdref" type="string" use="required" />
+		<anyAttribute />
+	</complexType>
+
+	<complexType name="Tattribute">
+		<sequence>
+			<element name="Value" type="string" minOccurs="0"
+				maxOccurs="unbounded" />
+			<!-- It is non-deterministic, per W3C XML Schema 1.0: http://www.w3.org/TR/xmlschema-1/#cos-nonambig
+				to use namespace="##any" below. -->
+			<any namespace="##other" processContents="lax" minOccurs="0"
+				maxOccurs="unbounded" />
+		</sequence>
+		<attribute name="adref" type="string" use="required" />
+		<attribute name="content" type="string" use="optional" />
+		<anyAttribute />
+	</complexType>
+
+	<complexType name="Tdesignate">
+		<sequence>
+			<element name="Object" type="metatype:Tobject" minOccurs="1"
+				maxOccurs="1" />
+			<any namespace="##any" processContents="lax" minOccurs="0"
+				maxOccurs="unbounded" />
+		</sequence>
+		<attribute name="pid" type="string" use="required" />
+		<attribute name="factoryPid" type="string" use="optional" />
+		<attribute name="bundle" type="string" use="optional" />
+		<attribute name="optional" type="boolean" default="false"
+			use="optional" />
+		<attribute name="merge" type="boolean" default="false"
+			use="optional" />
+		<anyAttribute />
+	</complexType>
+
+	<simpleType name="Tscalar">
+		<restriction base="string">
+			<enumeration value="String" />
+			<enumeration value="Long" />
+			<enumeration value="Double" />
+			<enumeration value="Float" />
+			<enumeration value="Integer" />
+			<enumeration value="Byte" />
+			<enumeration value="Char" />
+			<enumeration value="Boolean" />
+			<enumeration value="Short" />
+		</restriction>
+	</simpleType>
+
+	<complexType name="Toption">
+		<sequence>
+			<any namespace="##any" processContents="lax" minOccurs="0"
+				maxOccurs="unbounded" />
+		</sequence>
+		<attribute name="label" type="string" use="required" />
+		<attribute name="value" type="string" use="required" />
+		<anyAttribute />
+	</complexType>
+
+	<complexType name="Ticon">
+		<sequence>
+			<any namespace="##any" processContents="lax" minOccurs="0"
+				maxOccurs="unbounded" />
+		</sequence>
+		<attribute name="resource" type="string" use="required" />
+		<attribute name="size" type="positiveInteger" use="required" />
+		<anyAttribute />
+	</complexType>
+
+	<attribute name="must-understand" type="boolean">
+		<annotation>
+			<documentation xml:lang="en">
+				This attribute should be used by extensions to documents
+				to require that the document consumer understand the
+				extension.
+			</documentation>
+		</annotation>
+	</attribute>
+</schema>
\ No newline at end of file

Added: felix/trunk/org.osgi.compendium/xmlns/scr/v1.0.0/scr.xsd
URL: http://svn.apache.org/viewvc/felix/trunk/org.osgi.compendium/xmlns/scr/v1.0.0/scr.xsd?rev=797561&view=auto
==============================================================================
--- felix/trunk/org.osgi.compendium/xmlns/scr/v1.0.0/scr.xsd (added)
+++ felix/trunk/org.osgi.compendium/xmlns/scr/v1.0.0/scr.xsd Fri Jul 24 17:06:37 2009
@@ -0,0 +1,129 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/*
+ * $Revision: 5655 $
+ * 
+ * Copyright (c) OSGi Alliance (2005, 2008). All Rights Reserved.
+ * 
+ * Licensed 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.
+ */
+-->		
+<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.osgi.org/xmlns/scr/v1.0.0" xmlns:scr="http://www.osgi.org/xmlns/scr/v1.0.0">
+	<annotation>
+		<documentation xml:lang="en">
+This is the XML Schema for component descriptions used by the Service Component Runtime (SCR).
+Component description documents may be embedded in other XML documents. The SCR will
+process all XML documents listed in the Service-Component manifest header of a bundle. 
+XML documents containing component descriptions may contain a single, root component 
+element or one or more component elements embedded in a larger document. Use of the 
+namespace is optional if the document only contains a root component element. In this 
+case, the scr namespace is assumed. Otherwise the namespace must be used.
+		</documentation>
+	</annotation>
+
+	<element name="component" type="scr:Tcomponent"/>
+
+	<complexType name="Tcomponent">
+		<annotation>
+			<documentation xml:lang="en">
+			Implementations of SCR must not require component descriptions to specify the subelements 
+			of the component element in the order as required by the schema. SCR implementations must 
+			allow other orderings since arbitrary orderings do not affect the meaning of the component 
+			description. Only the relative ordering of property and properties element have meaning.
+			</documentation>
+		</annotation>
+		<sequence>
+			<element name="implementation" type="scr:Timplementation" minOccurs="1" maxOccurs="1"/>
+			<choice minOccurs="0" maxOccurs="unbounded">
+				<element name="property" type="scr:Tproperty"/>
+				<element name="properties" type="scr:Tproperties"/>
+			</choice>
+			<element name="service" type="scr:Tservice" minOccurs="0" maxOccurs="1"/>
+			<element name="reference" type="scr:Treference" minOccurs="0" maxOccurs="unbounded"/>
+		</sequence>
+		<attribute name="enabled" type="boolean" default="true" use="optional"/>
+		<attribute name="name" type="token" use="required"/>
+		<attribute name="factory" type="string" use="optional"/>
+		<attribute name="immediate" type="boolean" use="optional"/>
+	</complexType>
+
+	<complexType name="Timplementation">
+		<attribute name="class" type="token" use="required"/>
+	</complexType>
+
+	<complexType name="Tproperty">
+		<simpleContent>
+			<extension base="string">
+				<attribute name="name" type="string" use="required"/>
+				<attribute name="value" type="string" use="optional"/>
+				<attribute name="type" type="scr:Tjava-types" default="String" use="optional"/>
+			</extension>
+		</simpleContent>
+	</complexType>
+
+	<complexType name="Tproperties">
+		<attribute name="entry" type="string" use="required"/>
+	</complexType>
+
+	<complexType name="Tservice">
+		<sequence>
+			<element name="provide" type="scr:Tprovide" minOccurs="1" maxOccurs="unbounded"/>
+		</sequence>
+		<attribute name="servicefactory" type="boolean" default="false" use="optional"/>
+	</complexType>
+
+	<complexType name="Tprovide">
+		<attribute name="interface" type="token" use="required"/>
+	</complexType>
+
+	<complexType name="Treference">
+		<attribute name="name" type="NMTOKEN" use="required"/>
+		<attribute name="interface" type="token" use="required"/>
+		<attribute name="cardinality" type="scr:Tcardinality" default="1..1" use="optional"/>
+		<attribute name="policy" type="scr:Tpolicy" default="static" use="optional"/>
+		<attribute name="target" type="string" use="optional"/>
+		<attribute name="bind" type="token" use="optional"/>
+		<attribute name="unbind" type="token" use="optional"/>
+	</complexType>
+
+	<simpleType name="Tjava-types">
+		<restriction base="string">
+			<enumeration value="String"/>
+			<enumeration value="Long"/>
+			<enumeration value="Double"/>
+			<enumeration value="Float"/>
+			<enumeration value="Integer"/>
+			<enumeration value="Byte"/>
+			<enumeration value="Character"/>
+			<enumeration value="Boolean"/>
+			<enumeration value="Short"/>
+		</restriction>
+	</simpleType>
+
+	<simpleType name="Tcardinality">
+		<restriction base="string">
+			<enumeration value="0..1"/>
+			<enumeration value="0..n"/>
+			<enumeration value="1..1"/>
+			<enumeration value="1..n"/>
+		</restriction>
+	</simpleType>
+
+	<simpleType name="Tpolicy">
+		<restriction base="string">
+			<enumeration value="static"/>
+			<enumeration value="dynamic"/>
+		</restriction>
+	</simpleType>
+
+</schema>
\ No newline at end of file

Added: felix/trunk/org.osgi.compendium/xmlns/scr/v1.1.0/scr.xsd
URL: http://svn.apache.org/viewvc/felix/trunk/org.osgi.compendium/xmlns/scr/v1.1.0/scr.xsd?rev=797561&view=auto
==============================================================================
--- felix/trunk/org.osgi.compendium/xmlns/scr/v1.1.0/scr.xsd (added)
+++ felix/trunk/org.osgi.compendium/xmlns/scr/v1.1.0/scr.xsd Fri Jul 24 17:06:37 2009
@@ -0,0 +1,216 @@
+<?xml version="1.0" encoding="UTF-8"?>
+	<!--
+	/*
+	* $Revision: 7533 $
+	* 
+	* Copyright (c) OSGi Alliance (2005, 2009). All Rights Reserved.
+	* 
+	* Licensed 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.
+	*/
+	-->
+<schema xmlns="http://www.w3.org/2001/XMLSchema"
+	xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0"
+	targetNamespace="http://www.osgi.org/xmlns/scr/v1.1.0"
+	elementFormDefault="unqualified"
+	attributeFormDefault="unqualified"
+	version="1.1.0">
+
+	<annotation>
+		<documentation xml:lang="en">
+			This is the XML Schema for component descriptions used by
+			the Service Component Runtime (SCR). Component description
+			documents may be embedded in other XML documents. SCR will
+			process all XML documents listed in the Service-Component
+			manifest header of a bundle. XML documents containing
+			component descriptions may contain a single, root component
+			element or one or more component elements embedded in a
+			larger document. Use of the namespace for component 
+			descriptions is mandatory. The attributes and subelements 
+			of a component element are always unqualified.
+		</documentation>
+	</annotation>
+	<element name="component" type="scr:Tcomponent" />
+	<complexType name="Tcomponent">
+		<sequence>
+			<annotation>
+				<documentation xml:lang="en">
+					Implementations of SCR must not require component
+					descriptions to specify the subelements of the component
+					element in the order as required by the schema. SCR
+					implementations must allow other orderings since
+					arbitrary orderings do not affect the meaning of the
+					component description. Only the relative ordering of
+					property and properties element have meaning.
+				</documentation>
+			</annotation>
+			<choice minOccurs="0" maxOccurs="unbounded">
+				<element name="property" type="scr:Tproperty" />
+				<element name="properties" type="scr:Tproperties" />
+			</choice>
+			<element name="service" type="scr:Tservice" minOccurs="0"
+				maxOccurs="1" />
+			<element name="reference" type="scr:Treference"
+				minOccurs="0" maxOccurs="unbounded" />
+			<element name="implementation" type="scr:Timplementation"
+				minOccurs="1" maxOccurs="1" />
+			<any namespace="##any" processContents="lax" minOccurs="0"
+				maxOccurs="unbounded" />
+		</sequence>
+		<attribute name="enabled" type="boolean" default="true"
+			use="optional" />
+		<attribute name="name" type="token" use="optional">
+			<annotation>
+				<documentation xml:lang="en">
+					The default value of this attribute is the value of
+					the class attribute of the nested implementation
+					element. If multiple component elements use the same 
+					value for the class attribute of their nested 
+					implementation element, then using the default value 
+					for this attribute will result in duplicate names. 
+					In this case, this attribute must be specified with 
+					a unique value.
+				</documentation>
+			</annotation>
+		</attribute>
+		<attribute name="factory" type="string" use="optional" />
+		<attribute name="immediate" type="boolean" use="optional" />
+		<attribute name="configuration-policy"
+			type="scr:Tconfiguration-policy" default="optional" use="optional" />
+		<attribute name="activate" type="token" use="optional"
+			default="activate" />
+		<attribute name="deactivate" type="token" use="optional"
+			default="deactivate" />
+		<attribute name="modified" type="token" use="optional" />
+		<anyAttribute />
+	</complexType>
+	<complexType name="Timplementation">
+		<sequence>
+			<any namespace="##any" processContents="lax" minOccurs="0"
+				maxOccurs="unbounded" />
+		</sequence>
+		<attribute name="class" type="token" use="required" />
+		<anyAttribute />
+	</complexType>
+	<complexType name="Tproperty">
+		<simpleContent>
+			<extension base="string">
+				<attribute name="name" type="string" use="required" />
+				<attribute name="value" type="string" use="optional" />
+				<attribute name="type" type="scr:Tjava-types"
+					default="String" use="optional" />
+				<anyAttribute />
+			</extension>
+		</simpleContent>
+	</complexType>
+	<complexType name="Tproperties">
+		<sequence>
+			<any namespace="##any" processContents="lax" minOccurs="0"
+				maxOccurs="unbounded" />
+		</sequence>
+		<attribute name="entry" type="string" use="required" />
+		<anyAttribute />
+	</complexType>
+	<complexType name="Tservice">
+		<sequence>
+			<element name="provide" type="scr:Tprovide" minOccurs="1"
+				maxOccurs="unbounded" />
+			<!-- It is non-deterministic, per W3C XML Schema 1.0: 
+			http://www.w3.org/TR/xmlschema-1/#cos-nonambig
+			to use name space="##any" below. -->
+			<any namespace="##other" processContents="lax" minOccurs="0"
+				maxOccurs="unbounded" />
+		</sequence>
+		<attribute name="servicefactory" type="boolean" default="false"
+			use="optional" />
+		<anyAttribute />
+	</complexType>
+	<complexType name="Tprovide">
+		<sequence>
+			<any namespace="##any" processContents="lax" minOccurs="0"
+				maxOccurs="unbounded" />
+		</sequence>
+		<attribute name="interface" type="token" use="required" />
+		<anyAttribute />
+	</complexType>
+	<complexType name="Treference">
+		<sequence>
+			<any namespace="##any" processContents="lax" minOccurs="0"
+				maxOccurs="unbounded" />
+		</sequence>
+		<attribute name="name" type="token" use="optional">
+			<annotation>
+				<documentation xml:lang="en">
+					The default value of this attribute is the value of
+					the interface attribute of this element. If multiple 
+					instances of this element within a component element 
+					use the same value for the interface attribute, then 
+					using the default value for this attribute will result 
+					in duplicate names. In this case, this attribute 
+					must be specified with a unique value.
+				</documentation>
+			</annotation>
+		</attribute>
+		<attribute name="interface" type="token" use="required" />
+		<attribute name="cardinality" type="scr:Tcardinality"
+			default="1..1" use="optional" />
+		<attribute name="policy" type="scr:Tpolicy" default="static"
+			use="optional" />
+		<attribute name="target" type="string" use="optional" />
+		<attribute name="bind" type="token" use="optional" />
+		<attribute name="unbind" type="token" use="optional" />
+		<anyAttribute />
+	</complexType>
+	<simpleType name="Tjava-types">
+		<restriction base="string">
+			<enumeration value="String" />
+			<enumeration value="Long" />
+			<enumeration value="Double" />
+			<enumeration value="Float" />
+			<enumeration value="Integer" />
+			<enumeration value="Byte" />
+			<enumeration value="Character" />
+			<enumeration value="Boolean" />
+			<enumeration value="Short" />
+		</restriction>
+	</simpleType>
+	<simpleType name="Tcardinality">
+		<restriction base="string">
+			<enumeration value="0..1" />
+			<enumeration value="0..n" />
+			<enumeration value="1..1" />
+			<enumeration value="1..n" />
+		</restriction>
+	</simpleType>
+	<simpleType name="Tpolicy">
+		<restriction base="string">
+			<enumeration value="static" />
+			<enumeration value="dynamic" />
+		</restriction>
+	</simpleType>
+	<simpleType name="Tconfiguration-policy">
+		<restriction base="string">
+			<enumeration value="optional" />
+			<enumeration value="require" />
+			<enumeration value="ignore" />
+		</restriction>
+	</simpleType>
+	<attribute name="must-understand" type="boolean">
+		<annotation>
+			<documentation xml:lang="en">
+				This attribute should be used by extensions to documents
+				to require that the document consumer understand the
+				extension. This attribute must be qualified when used.
+			</documentation>
+		</annotation>
+	</attribute>
+</schema>

Modified: felix/trunk/org.osgi.core/NOTICE
URL: http://svn.apache.org/viewvc/felix/trunk/org.osgi.core/NOTICE?rev=797561&r1=797560&r2=797561&view=diff
==============================================================================
--- felix/trunk/org.osgi.core/NOTICE (original)
+++ felix/trunk/org.osgi.core/NOTICE Fri Jul 24 17:06:37 2009
@@ -1,5 +1,5 @@
 OSGi Core Classes
-Copyright (c) OSGi Alliance (2000, 2007).
+Copyright (c) OSGi Alliance (2000, 2009).
 
 This product includes software developed at
 the OSGi Alliance (http://www.osgi.org/).

Modified: felix/trunk/org.osgi.core/pom.xml
URL: http://svn.apache.org/viewvc/felix/trunk/org.osgi.core/pom.xml?rev=797561&r1=797560&r2=797561&view=diff
==============================================================================
--- felix/trunk/org.osgi.core/pom.xml (original)
+++ felix/trunk/org.osgi.core/pom.xml Fri Jul 24 17:06:37 2009
@@ -46,7 +46,7 @@
             <Export-Package>org.osgi.framework, org.osgi.framework.launch, org.osgi.framework.hooks.service, org.osgi.service.condpermadmin, org.osgi.service.packageadmin, org.osgi.service.permissionadmin, org.osgi.service.startlevel, org.osgi.service.url</Export-Package>
             <Import-Package>org.osgi.framework,org.osgi.service.packageadmin,org.osgi.service.startlevel,org.osgi.service.url,!org.osgi.*,*</Import-Package>
             <Bundle-Version>4.1</Bundle-Version>
-            <Bundle-Copyright>Copyright (c) OSGi Alliance (2000, 2007). All Rights Reserved.</Bundle-Copyright>
+            <Bundle-Copyright>Copyright (c) OSGi Alliance (2000, 2009). All Rights Reserved.</Bundle-Copyright>
             <Bundle-Category>osgi</Bundle-Category>
           </instructions>
         </configuration>