Commit in servicemix/tooling/maven-jbi-plugin on MAIN
plugin.jelly+37added 1.1
test.xml+41added 1.1
.cvsignore+2added 1.1
project.properties+19added 1.1
project.xml+54added 1.1
plugin.properties+26added 1.1
src/plugin-resources/jbi.jsl+57added 1.1
                    /service.xsd+47added 1.1
                    /jbi.xsd+265added 1.1
+548
9 added files
Initial revision of a maven plugin that allow you to create a JBI installer from a maven project,  only the start but can be used to create installers.

servicemix/tooling/maven-jbi-plugin
plugin.jelly added at 1.1
diff -N plugin.jelly
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ plugin.jelly	8 Aug 2005 00:46:34 -0000	1.1
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<!-- 
+/*
+ * Copyright 2001-2004 Unity Systems
+ * 
+ * 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.
+ */
+ -->
+<project xmlns:j="jelly:core"
+         xmlns:ant="jelly:ant"
+         xmlns:license="license" 
+         xmlns:util="jelly:util"
+         xmlns:artifact="artifact">
+<goal name="jbi:generateInstaller" prereqs="jar:jar" description="Generates a JBI installer">  		  	  
+	<ant:mkdir dir="${jbi.build.dir}/lib"/>	
+	<ant:mkdir dir="${jbi.build.dir}/META-INF"/>		
+  	<j:file name="${jbi.build.dir}/META-INF/jbi.xml" prettyPrint="true"
+			outputMode="xml" escapeText="false">
+			<j:import file="${jbi.xml.template}" inherit="true" />
+	</j:file>
+	<ant:copy file="${plugin.resources}/jbi.xsd" todir="${jbi.build.dir}"/>
+	<ant:copy file="${plugin.resources}/service.xsd" todir="${jbi.build.dir}"/>	
+	<ant:jar destfile="${maven.build.dir}/${maven.final.name}-jbi-installer.jar" basedir="${jbi.build.dir}">
+    	<include name="**/*"/>            	
+  	</ant:jar>
+  </goal>
+</project>

servicemix/tooling/maven-jbi-plugin
test.xml added at 1.1
diff -N test.xml
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ test.xml	8 Aug 2005 00:46:34 -0000	1.1
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<jbi xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance xmlns="http://java.sun.com/xml/ns/jbi version="1.0" schemaLocation="http://java.sun.com/xml/ns/jbi ./jbi.xsd">
+  <component type="service-engine">
+    <identification>
+      <name>Provider JBI Services</name>
+      <description>JBI Service Engines and Components for the Providers</description>
+    </identification>
+    <component-class-name description="Component Implementation">com.unity.provider.jbi.ProviderComponent</component-class-name>
+    <component-class-path>
+      <path-element>lib/unity-provider-jbi-2.2.1-DEV.jar</path-element>
+      <path-element>lib/jmxri-1.2.1.jar</path-element>
+      <path-element>lib/commons-logging-1.0.jar</path-element>
+      <path-element>lib/commons-collections-3.0.jar</path-element>
+      <path-element>lib/servicemix-1.0-M1.jar</path-element>
+      <path-element>lib/xmlunit-1.0.jar</path-element>
+      <path-element>lib/xalan-2.6.0.jar</path-element>
+      <path-element>lib/xercesImpl-2.6.2.jar</path-element>
+      <path-element>lib/xmlParserAPIs-2.6.2.jar</path-element>
+      <path-element>lib/xbean-1.0.3.jar</path-element>
+      <path-element>lib/aqapi13-9.2.0.jar</path-element>
+      <path-element>lib/ojdbc14-9.2.0.jar</path-element>
+      <path-element>lib/unity-metadata-2.2.1-DEV.jar</path-element>
+      <path-element>lib/unity-infrastructure-2.2.1-DEV.jar</path-element>
+      <path-element>lib/unity-provider-2.2.1-DEV.jar</path-element>
+      <path-element>lib/unity-util-2.2.1-DEV.jar</path-element>
+      <path-element>lib/unity-event-2.2.1-DEV.jar</path-element>
+      <path-element>lib/xjavadoc-1.0.3.jar</path-element>
+      <path-element>lib/xdoclet-1.2.jar</path-element>
+      <path-element>lib/xdoclet-ejb-module-1.2.jar</path-element>
+      <path-element>lib/xdoclet-jmx-module-1.2.jar</path-element>
+      <path-element>lib/xdoclet-jboss-module-1.2.jar</path-element>
+      <path-element>lib/xdoclet-web-module-1.2.jar</path-element>
+      <path-element>lib/j2ee-1.3.jar</path-element>
+    </component-class-path>
+    <bootstrap-class-name>com.unity.provider.jbi.ProviderBootstrap</bootstrap-class-name>
+    <bootstrap-class-path>
+      <path-element>lib/unity-provider-jbi-2.2.1-DEV.jar</path-element>
+    </bootstrap-class-path>
+  </component>
+</jbi>
\ No newline at end of file

servicemix/tooling/maven-jbi-plugin
.cvsignore added at 1.1
diff -N .cvsignore
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ .cvsignore	8 Aug 2005 00:46:34 -0000	1.1
@@ -0,0 +1,2 @@
+target
+.project

servicemix/tooling/maven-jbi-plugin
project.properties added at 1.1
diff -N project.properties
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ project.properties	8 Aug 2005 00:46:34 -0000	1.1
@@ -0,0 +1,19 @@
+# -------------------------------------------------------------------
+# Copyright 2001-2004 The Apache Software Foundation.
+# 
+# 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.
+# -------------------------------------------------------------------
+
+# -------------------------------------------------------------------
+# P R O J E C T  P R O P E R T I E S
+# -------------------------------------------------------------------

servicemix/tooling/maven-jbi-plugin
project.xml added at 1.1
diff -N project.xml
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ project.xml	8 Aug 2005 00:46:34 -0000	1.1
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- 
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * 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.
+ */
+ -->
+
+<project>  
+  <pomVersion>3</pomVersion>
+  <id>maven-jbi-plugin</id>
+  <name>Maven JBI Plugin</name>
+  <currentVersion>0.1</currentVersion>
+  <description>JBI Plugin for Maven</description>
+  <shortDescription>JBI Plugin for Maven</shortDescription>
+  <developers>
+    <developer>
+      <name>Philip Dodds</name>
+      <id>pdodds</id>
+      <email>Unity Systems</email>      
+    </developer>    
+  </developers>
+  <dependencies/>
+  <build>
+		<!-- This section is compulsory -->
+		<resources>
+			<resource>
+				<directory>${basedir}/src/plugin-resources</directory>
+				<targetPath>plugin-resources</targetPath>
+			</resource>
+			<resource>
+				<directory>${basedir}</directory>
+				<includes>
+					<include>plugin.jelly</include>
+					<include>plugin.properties</include>
+					<include>project.properties</include>
+					<include>project.xml</include>
+				</includes>
+			</resource>
+		</resources>
+	</build>
+</project>

servicemix/tooling/maven-jbi-plugin
plugin.properties added at 1.1
diff -N plugin.properties
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ plugin.properties	8 Aug 2005 00:46:34 -0000	1.1
@@ -0,0 +1,26 @@
+# -------------------------------------------------------------------
+# Copyright 2001-2004 The Apache Software Foundation.
+# 
+# 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.
+# -------------------------------------------------------------------
+
+# -------------------------------------------------------------------
+# P L U G I N  P R O P E R T I E S
+# -------------------------------------------------------------------
+# JBoss SAR plugin
+# -------------------------------------------------------------------
+
+# Location of where SAR sources (non-java) are located.
+jbi.build.dir=${maven.build.dir}/jbi
+jbi.xml.template=${plugin.resources}/jbi.jsl
+

servicemix/tooling/maven-jbi-plugin/src/plugin-resources
jbi.jsl added at 1.1
diff -N jbi.jsl
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ jbi.jsl	8 Aug 2005 00:46:34 -0000	1.1
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<j:whitespace xmlns:j="jelly:core" xmlns:util="jelly:util" xmlns:x="jelly:xml"
+	xmlns:ant="jelly:ant" xmlns="dummy" trim="true">
+<x:element URI="http://java.sun.com/xml/ns/jbi" name="jbi">
+		<x:attribute name="xmlns" trim="true">
+            http://java.sun.com/xml/ns/jbi
+        </x:attribute>
+        <x:attribute name="xmlns:xsi" trim="true">
+            http://www.w3.org/2001/XMLSchema-instance
+        </x:attribute>
+        <x:attribute name="xsi:schemaLocation" trim="true">
+            http://java.sun.com/xml/ns/jbi
+        </x:attribute>
+        <x:attribute name="version" trim="true">
+            1.0
+        </x:attribute>
+    <component
+        type="service-engine">
+        <identification>
+            <name>${pom.artifactId}</name>
+            <description>${pom.description}
+	    </description>
+        </identification>
+        <j:set var="componentName" value="${jbi.component.class.name}"/>
+        <j:set var="componentJar" value="lib/${maven.final.name}.jar"/>
+        <j:if test="${componentName!=null}">
+        <component-class-name description="Component Implementation" >${componentName}</component-class-name>
+        <component-class-path>
+        	<ant:copy
+						file="${maven.build.dir}/${maven.final.name}.jar"
+						todir="${jbi.build.dir}/lib" />
+			<path-element>${componentJar}</path-element>        
+	        <j:forEach var="lib" items="${pom.artifacts}">			
+	        	<j:if test="${lib.getProperty('jbi.bundle')=='true' and lib.type=='jar'}">   
+					<ant:copy
+						file="${pom.getDependencyPath(lib.dependency.getId())}"
+						todir="${jbi.build.dir}/lib" />
+					<j:set var="libname" value="lib/${lib.file.name}"/>
+	            	<path-element>${libname}</path-element>
+            	</j:if>
+			</j:forEach>
+         </component-class-path>
+        </j:if>
+        <j:set var="bootstrapName" value="${jbi.bootstrap.class.name}"/>
+        <j:if test="${bootstrapName!=null}">
+        <bootstrap-class-name>${bootstrapName}</bootstrap-class-name>
+        <bootstrap-class-path>
+         	<ant:copy
+				file="${maven.build.dir}/${maven.final.name}.jar"
+					todir="${jbi.build.dir}/lib" />
+			<path-element>${componentJar}</path-element>   
+        </bootstrap-class-path>
+        </j:if>
+        <!--<shared-library>SunWSDLSharedLibrary</shared-library>-->
+    </component>
+</x:element> 	
+</j:whitespace>
\ No newline at end of file

servicemix/tooling/maven-jbi-plugin/src/plugin-resources
service.xsd added at 1.1
diff -N service.xsd
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ service.xsd	8 Aug 2005 00:46:34 -0000	1.1
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.sun.com/ns/jbi/engines/transformation/deploy/service-config" targetNamespace="http://www.sun.com/ns/jbi/engines/transformation/deploy/service-config" elementFormDefault="qualified">
+	<xsd:complexType name="qnameType">
+		<xsd:sequence>
+			<xsd:element name="namespace-uri" type="xsd:anyURI"/>
+			<xsd:element name="local-part" type="xsd:NCName"/>
+		</xsd:sequence>
+	</xsd:complexType>
+	<xsd:element name="service-list">
+		<xsd:complexType>
+			<xsd:sequence>
+				<!-- Service Metadata Information -->
+				<xsd:element name="service">
+					<xsd:complexType>
+						<xsd:sequence>
+							<!-- Service NAme in QName format -->
+							<xsd:element name="service-name" type="qnameType"/>
+							<!-- endpoint-name Name of the Jbi local endpoint for this service -->
+							<xsd:element name="endpoint-name" type="xsd:string"/>
+							<!-- service-description Service Description -->
+							<xsd:element name="service-description" type="xsd:string" minOccurs="0"/>
+							<!-- create-cache - Whether to catche the xml stylesheet or not.-->
+							<xsd:element name="create-cache" type="xsd:string"/>
+							<!-- service-id - Unique ID representing this service.-->
+							<xsd:element name="service-id" type="xsd:string"/>
+							<!-- Elements for Non XML data parsing -->
+							<!-- column-separator - This is the column separator for non XML data. It should be a character generally not found in
+						  the input data. The default value can be a semi colon (;)-->
+							<xsd:element name="column-separator" type="xsd:string" default=";" minOccurs="0"/>
+							<!-- first-row-col-headers - This element decides if the first row in the input data should be trated asColumn Headers. -->
+							<xsd:element name="first-row-col-headers" type="xsd:string" minOccurs="0"/>
+							<!-- column-headers  Optional element. If present denotes that following column headers should be used for input data. -->
+							<xsd:element name="column-headers" minOccurs="0">
+								<xsd:complexType>
+									<xsd:sequence>
+										<!-- column-header Name of the column -->
+										<xsd:element name="column-header" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
+									</xsd:sequence>
+								</xsd:complexType>
+							</xsd:element>
+						</xsd:sequence>
+					</xsd:complexType>
+				</xsd:element>
+			</xsd:sequence>
+		</xsd:complexType>
+	</xsd:element>
+</xsd:schema>

servicemix/tooling/maven-jbi-plugin/src/plugin-resources
jbi.xsd added at 1.1
diff -N jbi.xsd
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ jbi.xsd	8 Aug 2005 00:46:34 -0000	1.1
@@ -0,0 +1,265 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://java.sun.com/xml/ns/jbi" xmlns:this="http://java.sun.com/xml/ns/jbi">
+  <xs:element name="jbi">
+    <xs:complexType>
+      <xs:choice>
+        <xs:element ref="this:component"/>
+        <xs:element ref="this:service-assembly"/>
+        <xs:group ref="this:shared-library"/>
+        <xs:element ref="this:services"/>
+      </xs:choice>
+      <xs:attribute name="version" use="required" type="xs:decimal"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="component">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="this:identification"/>
+        <xs:element ref="this:component-class-name"/>
+        <xs:element ref="this:component-class-path"/>
+        <xs:element ref="this:bootstrap-class-name"/>
+        <xs:element ref="this:bootstrap-class-path"/>
+        <xs:group minOccurs="0" maxOccurs="unbounded" ref="this:shared-library-list"/>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:any namespace="##other" processContents="skip"/>
+          <xs:any namespace="##local" processContents="skip"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="type" use="required">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="service-engine"/>
+            <xs:enumeration value="binding-component"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="component-class-loader-delegation">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="parent-first"/>
+            <xs:enumeration value="self-first"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="bootstrap-class-loader-delegation">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="parent-first"/>
+            <xs:enumeration value="self-first"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="component-class-name">
+    <xs:complexType mixed="true">
+      <xs:attribute name="description"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="component-class-path" type="this:class-path"/>
+  <xs:element name="bootstrap-class-name" type="xs:string"/>
+  <xs:element name="bootstrap-class-path" type="this:class-path"/>
+  <xs:group name="shared-library">
+    <xs:sequence>
+      <xs:element name="shared-library">
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element ref="this:identification"/>
+            <xs:element ref="this:shared-library-class-path"/>
+          </xs:sequence>
+          <xs:attribute name="class-loader-delegation">
+            <xs:simpleType>
+              <xs:restriction base="xs:token">
+                <xs:enumeration value="parent-first"/>
+                <xs:enumeration value="self-first"/>
+              </xs:restriction>
+            </xs:simpleType>
+          </xs:attribute>
+          <xs:attribute name="version"/>
+        </xs:complexType>
+      </xs:element>
+    </xs:sequence>
+  </xs:group>
+  <xs:element name="shared-library-class-path" type="this:class-path"/>
+  <xs:group name="shared-library-list">
+    <xs:sequence>
+      <xs:element name="shared-library">
+        <xs:complexType mixed="true">
+          <xs:attribute name="version"/>
+        </xs:complexType>
+      </xs:element>
+    </xs:sequence>
+  </xs:group>
+  <xs:element name="service-assembly">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="this:identification"/>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="this:service-unit"/>
+        <xs:element minOccurs="0" ref="this:connections"/>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:any namespace="##other" processContents="skip"/>
+          <xs:any namespace="##local" processContents="skip"/>
+        </xs:choice>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="service-unit">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="this:identification"/>
+        <xs:element ref="this:target"/>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:any namespace="##other" processContents="skip"/>
+          <xs:any namespace="##local" processContents="skip"/>
+        </xs:choice>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="target">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="this:artifacts-zip"/>
+        <xs:element ref="this:component-name"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="artifacts-zip" type="xs:string"/>
+  <xs:element name="component-name" type="xs:string"/>
+  <xs:element name="identification">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="this:name"/>
+        <xs:element ref="this:description"/>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:any namespace="##other" processContents="skip"/>
+          <xs:any namespace="##local" processContents="skip"/>
+        </xs:choice>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="name" type="xs:string"/>
+  <xs:element name="description" type="xs:string"/>
+  <xs:complexType name="class-path">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" ref="this:path-element"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="path-element" type="xs:string"/>
+  <xs:element name="connections">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="this:connection"/>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:any namespace="##other" processContents="skip"/>
+          <xs:any namespace="##local" processContents="skip"/>
+        </xs:choice>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="connection">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="this:consumer"/>
+        <xs:element ref="this:provider"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="consumer">
+    <xs:complexType>
+      <xs:attribute name="interface-name" type="xs:QName"/>
+      <xs:attribute name="service-name" type="xs:QName"/>
+      <xs:attribute name="endpoint-name"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="provider">
+    <xs:complexType>
+      <xs:attribute name="service-name" use="required" type="xs:QName"/>
+      <xs:attribute name="endpoint-name" use="required"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="services">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="this:provides"/>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="this:consumes"/>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:any namespace="##other" processContents="skip"/>
+          <xs:any namespace="##local" processContents="skip"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="binding-component" use="required" type="xs:boolean"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="provides">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" ref="this:requires-capabilities"/>
+        <xs:element minOccurs="0" ref="this:provides-capabilities"/>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:any namespace="##other" processContents="skip"/>
+          <xs:any namespace="##local" processContents="skip"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="interface-name" use="required" type="xs:QName"/>
+      <xs:attribute name="service-name" use="required" type="xs:QName"/>
+      <xs:attribute name="endpoint-name" use="required"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="consumes">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" ref="this:requires-capabilities"/>
+        <xs:element minOccurs="0" ref="this:provides-capabilities"/>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:any namespace="##other" processContents="skip"/>
+          <xs:any namespace="##local" processContents="skip"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="interface-name" use="required" type="xs:QName"/>
+      <xs:attribute name="service-name" type="xs:QName"/>
+      <xs:attribute name="endpoint-name"/>
+      <xs:attribute name="link-type">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="standard"/>
+            <xs:enumeration value="hard"/>
+            <xs:enumeration value="soft"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="requires-capabilities">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element maxOccurs="unbounded" ref="this:capability"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="provides-capabilities">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element maxOccurs="unbounded" ref="this:capability"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="capability">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="this:value"/>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:any namespace="##other" processContents="skip"/>
+          <xs:any namespace="##local" processContents="skip"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="name" use="required"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="value">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+</xs:schema>
CVSspam 0.2.8



Reply via email to