Skip to Content.
Sympa Menu

notify-dpml - r1858 - in trunk/main/lang/part/etc: . bin data main main/META-INF main/META-INF/services main/dpml main/dpml/lang xsds

notify-dpml AT lists.ibiblio.org

Subject: DPML Notify

List archive

Chronological Thread  
  • From: mcconnell at BerliOS <mcconnell AT mail.berlios.de>
  • To: notify-dpml AT lists.ibiblio.org
  • Subject: r1858 - in trunk/main/lang/part/etc: . bin data main main/META-INF main/META-INF/services main/dpml main/dpml/lang xsds
  • Date: Fri, 9 Feb 2007 02:28:29 +0100

Author: mcconnell
Date: 2007-02-09 02:28:27 +0100 (Fri, 09 Feb 2007)
New Revision: 1858

Added:
trunk/main/lang/part/etc/bin/
trunk/main/lang/part/etc/bin/depot
trunk/main/lang/part/etc/bin/depot-cygwin.sh
trunk/main/lang/part/etc/bin/depot-unix.sh
trunk/main/lang/part/etc/bin/security.policy
trunk/main/lang/part/etc/data/
trunk/main/lang/part/etc/data/array.xml
trunk/main/lang/part/etc/data/component.xml
trunk/main/lang/part/etc/data/composite.xml
trunk/main/lang/part/etc/data/contextual.xml
trunk/main/lang/part/etc/data/controller.xml
trunk/main/lang/part/etc/data/foreign.xml
trunk/main/lang/part/etc/data/generics.xml
trunk/main/lang/part/etc/data/logging.properties
trunk/main/lang/part/etc/data/lookup.xml
trunk/main/lang/part/etc/data/resource.xml
trunk/main/lang/part/etc/data/select.xml
trunk/main/lang/part/etc/data/singleton.xml
trunk/main/lang/part/etc/data/state.xml
trunk/main/lang/part/etc/data/transient.xml
trunk/main/lang/part/etc/main/
trunk/main/lang/part/etc/main/META-INF/
trunk/main/lang/part/etc/main/META-INF/services/

trunk/main/lang/part/etc/main/META-INF/services/net.dpml.lang.StrategyHandler

trunk/main/lang/part/etc/main/META-INF/services/net.dpml.transit.ContentHandler

trunk/main/lang/part/etc/main/META-INF/services/org.w3c.dom.ls.LSResourceResolver
trunk/main/lang/part/etc/main/dpml/
trunk/main/lang/part/etc/main/dpml/lang/
trunk/main/lang/part/etc/main/dpml/lang/dpml-component-1.0.xsd
trunk/main/lang/part/etc/main/dpml/lang/dpml-module-1.0.xsd
trunk/main/lang/part/etc/main/dpml/lang/dpml-part-1.0.xsd
trunk/main/lang/part/etc/main/dpml/lang/dpml-state-1.0.xsd
trunk/main/lang/part/etc/main/dpml/lang/dpml-type-1.0.xsd
trunk/main/lang/part/etc/test/
trunk/main/lang/part/etc/xsds/
trunk/main/lang/part/etc/xsds/component.xsd
trunk/main/lang/part/etc/xsds/library.xsd
trunk/main/lang/part/etc/xsds/part.xsd
trunk/main/lang/part/etc/xsds/resource.xsd
trunk/main/lang/part/etc/xsds/state.xsd
Removed:
trunk/main/lang/part/etc/part.xsd
Log:
SDK 2.X staged commit.

Added: trunk/main/lang/part/etc/bin/depot
===================================================================
--- trunk/main/lang/part/etc/bin/depot 2007-02-09 01:27:35 UTC (rev 1857)
+++ trunk/main/lang/part/etc/bin/depot 2007-02-09 01:28:27 UTC (rev 1858)
@@ -0,0 +1,94 @@
+#!/bin/sh
+#
+# Copyright 2004 Niclas Hedhman
+# Copyright 2005-2007 Stephen McConnnell
+#
+# 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
+if [ "$DPML_HOME" = "" ]; then
+ DPML_HOME="$HOME/.dpml"
+ export DPML_HOME
+fi
+
+if [ "$DPML_SYSTEM" = "" ]; then
+ CWD=`pwd`
+ BIN_DIR=`dirname "$0"`
+ cd "$BIN_DIR"
+ ABSOLUTE_PATH=`pwd`
+ cd "$CWD"
+ DPML_SYSTEM=`dirname "$ABSOLUTE_PATH"`
+ export DPML_SYSTEM
+fi
+
+# Checking for JAVA_HOME is required on *nix due
+# to some distributions including kaffe in /usr/bin
+#
+
+if [ "$JAVA_HOME" = "" ] ; then
+ echo "ERROR: JAVA_HOME not found in your environment."
+ echo
+ echo "Please, set the JAVA_HOME variable in your environment to match the
location"
+ echo "of the Java Virtual Machine you want to use."
+ echo
+ echo "This requirement is in place to avoid accidental execution of
pre-installed"
+ echo "Java virtual machines on your system, such as kaffe or any outdated
Sun or"
+ echo "Blackdown JVMs. Sorry for the inconvenience."
+ exit 1
+fi
+
+PLATFORM=`uname`
+export PLATFORM
+
+DEPOT_VERSION="@BUILD-ID@"
+export DEPOT_VERSION
+
+if [ "$DEPOT_SECURITY_POLICY" = "" ] ; then
+ DEPOT_SECURITY_POLICY=$DPML_SYSTEM/bin/security.policy
+fi
+export DEPOT_SECURITY_POLICY
+
+if [ "$DEPOT_ENDORSED_DIRECTORY" = "" ] ; then
+ DEPOT_ENDORSED_DIRECTORY=$DPML_SYSTEM/lib/endorsed
+fi
+export DEPOT_ENDORSED_DIRECTORY
+
+DEPOT_BASE_JVM_OPTS="-Djava.ext.dirs=$DPML_SYSTEM/lib/ext
-Djava.system.class.loader=@DEPOT-CLASSLOADER-CLASS@
-Djava.rmi.server.randomIDs=true
-Djava.rmi.server.RMIClassLoaderSpi=dpml.util.RemotingClassLoader
-Djava.protocol.handler.pkgs=dpml.transit"
+
+if [ "$DEPOT_JVM_OPTS" = "" ] ; then
+ DEPOT_JVM_OPTS=$DEPOT_BASE_JVM_OPTS
+else
+ DEPOT_JVM_OPTS="$DEPOT_BASE_JVM_OPTS $DEPOT_JVM_OPTS"
+fi
+export DEPOT_JVM_OPTS
+
+#DEPOT_BASE_CLASSPATH=$DPML_SYSTEM/bin/@DEPOT-PATH@:$DPML_SYSTEM/lib/@TRANSIT-PATH@:$DPML_SYSTEM/lib/@PART-PATH@
+
+#if [ "$DEPOT_CLASSPATH" = "" ] ; then
+# DEPOT_CLASSPATH=$DEPOT_BASE_CLASSPATH
+#else
+# DEPOT_CLASSPATH="$DEPOT_BASE_CLASSPATH $DEPOT_CLASSPATH"
+#fi
+export DEPOT_CLASSPATH
+
+DEPOT_ARGS=$@
+export DEPOT_ARGS
+
+if [ `echo $PLATFORM | grep "CYGWIN"` ] ; then
+ exec "$DPML_SYSTEM/bin/depot-cygwin.sh"
+elif [ `echo $PLATFORM | grep "Linux"` ] ; then
+ exec "$DPML_SYSTEM/bin/depot-unix.sh"
+else
+ echo "Starting default Unix script"
+ exec "$DPML_SYSTEM/bin/depot-unix.sh"
+fi

Added: trunk/main/lang/part/etc/bin/depot-cygwin.sh
===================================================================
--- trunk/main/lang/part/etc/bin/depot-cygwin.sh 2007-02-09 01:27:35
UTC (rev 1857)
+++ trunk/main/lang/part/etc/bin/depot-cygwin.sh 2007-02-09 01:28:27
UTC (rev 1858)
@@ -0,0 +1,55 @@
+#!/bin/sh
+#
+# Copyright 2004 Niclas Hedhman
+# Copyright 20074 Stephen J. McConnell
+#
+# 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.
+
+# For Cygwin, ensure paths are in UNIX format before anything is touched
+JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
+[ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
+
+# switch necessary paths to Windows format before running java
+JAVA_HOME=`cygpath --windows "$JAVA_HOME"`
+DPML_HOME=`cygpath --windows "$DPML_HOME"`
+DPML_SYSTEM=`cygpath --windows "$DPML_SYSTEM"`
+DEPOT_SECURITY_POLICY=`cygpath --windows "$DEPOT_SECURITY_POLICY"`
+DEPOT_ENDORSED_DIRECTORY=`cygpath --windows "$DEPOT_ENDORSED_DIRECTORY"`
+DEPOT_CLASSPATH=`cygpath --path --windows "$DEPOT_CLASSPATH"`
+[ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
+
+DEPOT_JVM_OPTS="\"-Djava.security.policy=$DEPOT_SECURITY_POLICY\"
\"-Djava.endorsed.dirs=$DEPOT_ENDORSED_DIRECTORY\" $DEPOT_JVM_OPTS"
+
+if [ "$DEPOT_DEBUG" = "true" ]; then
+ TITLE="Starting Depot $DEPOT_VERSION."
+ echo $TITLE
+ echo "$TITLE" | sed 's/./=/g'
+ echo " Platform: $PLATFORM"
+ echo " Java Home: $JAVA_HOME"
+ echo " DPML System: $DPML_SYSTEM"
+ echo " DPML Home: $DPML_HOME"
+ echo " Security Policy: $DEPOT_SECURITY_POLICY"
+ echo " Security Policy: $DEPOT_SECURITY_POLICY"
+ echo " JVM Options: $DEPOT_JVM_OPTS"
+ echo " Classpath: $DEPOT_CLASSPATH"
+ echo " Depot Arguments: $DEPOT_ARGS"
+ echo ""
+fi
+
+JAVA="$JAVA_HOME/bin/java"
+
+ARGS="$DEPOT_JVM_OPTS -classpath \"$DEPOT_CLASSPATH\" @DEPOT-MAIN-CLASS@
$DEPOT_ARGS"
+
+echo $ARGS | xargs "$JAVA"

Added: trunk/main/lang/part/etc/bin/depot-unix.sh
===================================================================
--- trunk/main/lang/part/etc/bin/depot-unix.sh 2007-02-09 01:27:35 UTC (rev
1857)
+++ trunk/main/lang/part/etc/bin/depot-unix.sh 2007-02-09 01:28:27 UTC (rev
1858)
@@ -0,0 +1,42 @@
+#!/bin/sh
+#
+# Copyright 2004 Niclas Hedhman
+# Copyright 2005-2007 Stephen J. McConnell
+#
+# 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.
+
+DEPOT_JVM_OPTS="\"-Djava.security.policy=$DEPOT_SECURITY_POLICY\"
-Djava.endorsed.dirs=$DEPOT_ENDORSED_DIRECTORY $DEPOT_JVM_OPTS"
+
+if [ "$DEPOT_DEBUG" = "true" ]; then
+ TITLE="Starting Depot $DEPOT_VERSION."
+ echo $TITLE
+ echo "$TITLE" | sed 's/./=/g'
+ echo " Platform: $PLATFORM"
+ echo " Java Home: $JAVA_HOME"
+ echo " DPML System: $DPML_SYSTEM"
+ echo " DPML Home: $DPML_HOME"
+ echo " Security Policy: $DEPOT_SECURITY_POLICY"
+ echo " Endorced Directory: $DEPOT_ENDORSED_DIRECTORY"
+ echo " JVM Options: $DEPOT_JVM_OPTS"
+ echo " Classpath: $DEPOT_CLASSPATH"
+ echo " Depot Arguments: $DEPOT_ARGS"
+ echo ""
+fi
+
+JAVA="$JAVA_HOME/bin/java"
+
+ARGS="$DEPOT_JVM_OPTS -classpath \"$DEPOT_CLASSPATH\" @DEPOT-MAIN-CLASS@
$DEPOT_ARGS"
+
+echo $ARGS | xargs "$JAVA"

Added: trunk/main/lang/part/etc/bin/security.policy
===================================================================
--- trunk/main/lang/part/etc/bin/security.policy 2007-02-09 01:27:35
UTC (rev 1857)
+++ trunk/main/lang/part/etc/bin/security.policy 2007-02-09 01:28:27
UTC (rev 1858)
@@ -0,0 +1,4 @@
+grant {
+ permission java.security.AllPermission;
+};
+

Added: trunk/main/lang/part/etc/data/array.xml
===================================================================
--- trunk/main/lang/part/etc/data/array.xml 2007-02-09 01:27:35 UTC (rev
1857)
+++ trunk/main/lang/part/etc/data/array.xml 2007-02-09 01:28:27 UTC (rev
1858)
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<part xmlns="dpml:part">
+
+ <component xmlns="dpml:metro"
+ name="widget"
+ type="org.acme.ArrayWidget">
+ <context>
+ <entry key="message">
+ <param value="h"/>
+ <param value="e"/>
+ <param value="l"/>
+ <param value="l"/>
+ <param value="o"/>
+ </entry>
+ </context>
+ </component>
+
+</part>

Added: trunk/main/lang/part/etc/data/component.xml
===================================================================
--- trunk/main/lang/part/etc/data/component.xml 2007-02-09 01:27:35 UTC (rev
1857)
+++ trunk/main/lang/part/etc/data/component.xml 2007-02-09 01:28:27 UTC (rev
1858)
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<part xmlns="dpml:part" xmlns:metro="dpml:metro">
+
+ <metro:component type="org.acme.DefaultWidget"/>
+
+</part>

Added: trunk/main/lang/part/etc/data/composite.xml
===================================================================
--- trunk/main/lang/part/etc/data/composite.xml 2007-02-09 01:27:35 UTC (rev
1857)
+++ trunk/main/lang/part/etc/data/composite.xml 2007-02-09 01:28:27 UTC (rev
1858)
@@ -0,0 +1,27 @@
+<?xml version="1.0"?>
+<part xmlns="dpml:part">
+
+ <component xmlns="dpml:metro"
+ name="container"
+ type="org.acme.CompositeComponent">
+ <parts>
+ <component key="widget"
+ type="org.acme.ContextualWidget">
+ <context>
+ <entry key="message" value="Batman"/>
+ <context key="colors">
+ <entry key="primary" method="RED"/>
+ <entry key="secondary" method="BLUE"/>
+ </context>
+ <entry key="numbers">
+ <param value="1"/>
+ <param value="2"/>
+ <param value="3"/>
+ </entry>
+ </context>
+ </component>
+ <component key="gizmo" type="org.acme.DefaultGizmo"/>
+ </parts>
+ </component>
+
+</part>

Added: trunk/main/lang/part/etc/data/contextual.xml
===================================================================
--- trunk/main/lang/part/etc/data/contextual.xml 2007-02-09 01:27:35
UTC (rev 1857)
+++ trunk/main/lang/part/etc/data/contextual.xml 2007-02-09 01:28:27
UTC (rev 1858)
@@ -0,0 +1,21 @@
+<?xml version="1.0"?>
+<part xmlns="dpml:part">
+
+ <component xmlns="dpml:metro"
+ name="widget"
+ type="org.acme.ContextualWidget">
+ <context>
+ <entry key="message" value="Batman"/>
+ <context key="colors">
+ <entry key="primary" method="RED"/>
+ <entry key="secondary" method="BLUE"/>
+ </context>
+ <entry key="numbers">
+ <param value="1"/>
+ <param value="2"/>
+ <param value="3"/>
+ </entry>
+ </context>
+ </component>
+
+</part>

Added: trunk/main/lang/part/etc/data/controller.xml
===================================================================
--- trunk/main/lang/part/etc/data/controller.xml 2007-02-09 01:27:35
UTC (rev 1857)
+++ trunk/main/lang/part/etc/data/controller.xml 2007-02-09 01:28:27
UTC (rev 1858)
@@ -0,0 +1,27 @@
+<?xml version="1.0"?>
+<part xmlns="dpml:part">
+
+ <component xmlns="dpml:metro"
+ name="container"
+ type="org.acme.ControllerComponent">
+ <parts>
+ <component key="widget"
+ type="org.acme.ContextualWidget">
+ <context>
+ <entry key="message" value="Batman"/>
+ <context key="colors">
+ <entry key="primary" method="RED"/>
+ <entry key="secondary" method="BLUE"/>
+ </context>
+ <entry key="numbers">
+ <param value="1"/>
+ <param value="2"/>
+ <param value="3"/>
+ </entry>
+ </context>
+ </component>
+ <component key="gizmo" type="org.acme.DefaultGizmo"/>
+ </parts>
+ </component>
+
+</part>

Added: trunk/main/lang/part/etc/data/foreign.xml
===================================================================
--- trunk/main/lang/part/etc/data/foreign.xml 2007-02-09 01:27:35 UTC (rev
1857)
+++ trunk/main/lang/part/etc/data/foreign.xml 2007-02-09 01:28:27 UTC (rev
1858)
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<part xmlns="dpml:part">
+
+ <component xmlns="dpml:metro" name="widget" type="org.acme.ForeignWidget"/>
+
+</part>

Added: trunk/main/lang/part/etc/data/generics.xml
===================================================================
--- trunk/main/lang/part/etc/data/generics.xml 2007-02-09 01:27:35 UTC (rev
1857)
+++ trunk/main/lang/part/etc/data/generics.xml 2007-02-09 01:28:27 UTC (rev
1858)
@@ -0,0 +1,27 @@
+<?xml version="1.0"?>
+<part xmlns="dpml:part">
+
+ <component xmlns="dpml:metro"
+ name="container"
+ type="org.acme.GenericComponent">
+ <parts>
+ <component key="widget"
+ type="org.acme.ContextualWidget">
+ <context>
+ <entry key="message" value="Batman"/>
+ <context key="colors">
+ <entry key="primary" method="RED"/>
+ <entry key="secondary" method="BLUE"/>
+ </context>
+ <entry key="numbers">
+ <param value="1"/>
+ <param value="2"/>
+ <param value="3"/>
+ </entry>
+ </context>
+ </component>
+ <component key="gizmo" type="org.acme.DefaultGizmo"/>
+ </parts>
+ </component>
+
+</part>

Added: trunk/main/lang/part/etc/data/logging.properties
===================================================================
--- trunk/main/lang/part/etc/data/logging.properties 2007-02-09 01:27:35
UTC (rev 1857)
+++ trunk/main/lang/part/etc/data/logging.properties 2007-02-09 01:28:27
UTC (rev 1858)
@@ -0,0 +1,3 @@
+.level=INFO
+sun.rmi.level=INFO
+dpml.transit.level=INFO

Added: trunk/main/lang/part/etc/data/lookup.xml
===================================================================
--- trunk/main/lang/part/etc/data/lookup.xml 2007-02-09 01:27:35 UTC (rev
1857)
+++ trunk/main/lang/part/etc/data/lookup.xml 2007-02-09 01:28:27 UTC (rev
1858)
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<part xmlns="dpml:part">
+
+ <component xmlns="dpml:metro"
+ name="registry"
+ type="org.acme.CompositeComponent">
+ <parts>
+ <component key="widget"
+ type="org.acme.WidgetUsingGizmo">
+ <context>
+ <entry key="gizmo" lookup="org.acme.Gizmo"/>
+ </context>
+ </component>
+ <component key="gizmo" type="org.acme.DefaultGizmo"/>
+ </parts>
+ </component>
+
+</part>

Added: trunk/main/lang/part/etc/data/resource.xml
===================================================================
--- trunk/main/lang/part/etc/data/resource.xml 2007-02-09 01:27:35 UTC (rev
1857)
+++ trunk/main/lang/part/etc/data/resource.xml 2007-02-09 01:28:27 UTC (rev
1858)
@@ -0,0 +1,19 @@
+<?xml version="1.0"?>
+<part xmlns="dpml:part">
+
+ <info title="Demo Resource">
+ <description>
+ Resource descriptor using XMLSchema.
+ </description>
+ </info>
+
+ <strategy xmlns="dpml:antlib" urn="foo:bar" path="org/acme"/>
+
+ <classpath>
+ <public>
+ <uri>link:jar:fred/blogs</uri>
+ <uri>link:jar:peter/rabbit</uri>
+ </public>
+ </classpath>
+
+</part>

Added: trunk/main/lang/part/etc/data/select.xml
===================================================================
--- trunk/main/lang/part/etc/data/select.xml 2007-02-09 01:27:35 UTC (rev
1857)
+++ trunk/main/lang/part/etc/data/select.xml 2007-02-09 01:28:27 UTC (rev
1858)
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<part xmlns="dpml:part">
+
+ <component xmlns="dpml:metro"
+ name="select"
+ type="org.acme.SelectComponent">
+ <parts>
+ <component key="contextual" type="org.acme.ContextualWidget">
+ <context>
+ <entry key="message" value="Batman"/>
+ <context key="colors">
+ <entry key="primary" method="RED"/>
+ <entry key="secondary" method="BLUE"/>
+ </context>
+ <entry key="numbers">
+ <param value="1"/>
+ <param value="2"/>
+ <param value="3"/>
+ </entry>
+ </context>
+ </component>
+ <component key="array" type="org.acme.ArrayWidget">
+ <context>
+ <entry key="message">
+ <param value="h"/>
+ <param value="e"/>
+ <param value="l"/>
+ <param value="l"/>
+ <param value="o"/>
+ </entry>
+ </context>
+ </component>
+ <component key="gizmo" type="org.acme.DefaultGizmo"/>
+ </parts>
+ </component>
+
+</part>

Added: trunk/main/lang/part/etc/data/singleton.xml
===================================================================
--- trunk/main/lang/part/etc/data/singleton.xml 2007-02-09 01:27:35 UTC (rev
1857)
+++ trunk/main/lang/part/etc/data/singleton.xml 2007-02-09 01:28:27 UTC (rev
1858)
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<part xmlns="dpml:part" xmlns:metro="dpml:metro">
+
+ <metro:component name="widget" type="org.acme.SingletonWidget"/>
+
+</part>

Added: trunk/main/lang/part/etc/data/state.xml
===================================================================
--- trunk/main/lang/part/etc/data/state.xml 2007-02-09 01:27:35 UTC (rev
1857)
+++ trunk/main/lang/part/etc/data/state.xml 2007-02-09 01:28:27 UTC (rev
1858)
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<part xmlns="dpml:part">
+
+ <component xmlns="dpml:metro" name="widget" type="org.acme.StateWidget"/>
+
+</part>

Added: trunk/main/lang/part/etc/data/transient.xml
===================================================================
--- trunk/main/lang/part/etc/data/transient.xml 2007-02-09 01:27:35 UTC (rev
1857)
+++ trunk/main/lang/part/etc/data/transient.xml 2007-02-09 01:28:27 UTC (rev
1858)
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<part xmlns="dpml:part" xmlns:metro="dpml:metro">
+
+ <metro:component name="widget" type="org.acme.TransientWidget"/>
+
+</part>

Added:
trunk/main/lang/part/etc/main/META-INF/services/net.dpml.lang.StrategyHandler
===================================================================
---
trunk/main/lang/part/etc/main/META-INF/services/net.dpml.lang.StrategyHandler
2007-02-09 01:27:35 UTC (rev 1857)
+++
trunk/main/lang/part/etc/main/META-INF/services/net.dpml.lang.StrategyHandler
2007-02-09 01:28:27 UTC (rev 1858)
@@ -0,0 +1,5 @@
+#
+# Declaration of the standard component strategy handlers.
+#
+net.dpml.runtime.ComponentStrategyHandler
+net.dpml.lang.AntlibStrategyHandler

Added:
trunk/main/lang/part/etc/main/META-INF/services/net.dpml.transit.ContentHandler
===================================================================
---
trunk/main/lang/part/etc/main/META-INF/services/net.dpml.transit.ContentHandler
2007-02-09 01:27:35 UTC (rev 1857)
+++
trunk/main/lang/part/etc/main/META-INF/services/net.dpml.transit.ContentHandler
2007-02-09 01:28:27 UTC (rev 1858)
@@ -0,0 +1,4 @@
+#
+# List of available conent handlers.
+#
+net.dpml.lang.PartContentHandler

Added:
trunk/main/lang/part/etc/main/META-INF/services/org.w3c.dom.ls.LSResourceResolver
===================================================================
---
trunk/main/lang/part/etc/main/META-INF/services/org.w3c.dom.ls.LSResourceResolver
2007-02-09 01:27:35 UTC (rev 1857)
+++
trunk/main/lang/part/etc/main/META-INF/services/org.w3c.dom.ls.LSResourceResolver
2007-02-09 01:28:27 UTC (rev 1858)
@@ -0,0 +1,5 @@
+#
+# List of namespace resolvers within the dpml-lang-part artifact.
+#
+
+dpml.lang.StandardNamespaceResolver

Added: trunk/main/lang/part/etc/main/dpml/lang/dpml-component-1.0.xsd
===================================================================
--- trunk/main/lang/part/etc/main/dpml/lang/dpml-component-1.0.xsd
2007-02-09 01:27:35 UTC (rev 1857)
+++ trunk/main/lang/part/etc/main/dpml/lang/dpml-component-1.0.xsd
2007-02-09 01:28:27 UTC (rev 1858)
@@ -0,0 +1,101 @@
+<?xml version="1.0"?>
+
+<schema xmlns="http://www.w3.org/2001/XMLSchema";
+ xmlns:part="link:xsd:dpml/lang/dpml-part#1.0"
+ xmlns:this="link:xsd:dpml/lang/dpml-component#1.0"
+ xmlns:type="link:xsd:dpml/lang/dpml-type#1.0"
+ targetNamespace="link:xsd:dpml/lang/dpml-component#1.0"
+ elementFormDefault="qualified">
+
+ <import namespace="link:xsd:dpml/lang/dpml-part#1.0"
schemaLocation="link:xsd:dpml/lang/dpml-part#1.0"/>
+ <import namespace="link:xsd:dpml/lang/dpml-type#1.0"
schemaLocation="link:xsd:dpml/lang/dpml-type#1.0"/>
+
+ <element name="component" type="this:component"
substitutionGroup="part:strategy"/>
+ <element name="category" type="this:CategoryType"/>
+ <element name="categories" type="this:CategoriesType"
substitutionGroup="this:category"/>
+ <element name="entry" type="this:EntryType"/>
+ <element name="context" type="this:ContextEntryType"
substitutionGroup="this:entry"/>
+ <element name="param" type="part:ValueType"
substitutionGroup="part:param"/>
+
+ <complexType name="component">
+ <complexContent>
+ <extension base="part:StrategyType">
+ <sequence>
+ <element name="categories" type="this:CategoriesType"
minOccurs="0" maxOccurs="1"/>
+ <element name="context" type="this:ContextType" minOccurs="0"
maxOccurs="1"/>
+ <element name="parts" type="this:PartsType" minOccurs="0"
maxOccurs="1"/>
+ </sequence>
+ <attribute name="name" type="string"/>
+ <attribute name="type" type="string"/>
+ <attribute name="lifestyle" type="type:lifestyle"/>
+ <attribute name="collection" type="type:collection"/>
+ <attribute name="activation" type="this:activation"/>
+ <attribute name="handler" type="part:URI"
default="link:part:dpml/metro/dpml-metro-runtime"/>
+ <attribute name="uri" type="anyURI"/>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <complexType name="CategoryType">
+ <attribute name="name" type="string"/>
+ <attribute name="priority" type="type:priority"/>
+ <attribute name="target" type="string"/>
+ </complexType>
+
+ <complexType name="CategoriesType">
+ <complexContent>
+ <extension base="this:CategoryType">
+ <sequence>
+ <element ref="this:category" minOccurs="0"
maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <complexType name="ContextType">
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <element ref="this:entry"/>
+ </choice>
+ </complexType>
+
+ <complexType name="EntryType">
+ <complexContent>
+ <extension base="part:TaggedValueType">
+ <sequence>
+ <element ref="this:entry" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="lookup" type="string"/>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <complexType name="ContextEntryType">
+ <complexContent>
+ <extension base="this:EntryType"/>
+ </complexContent>
+ </complexType>
+
+ <complexType name="PartsType">
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <element name="component" type="this:TaggedComponent" minOccurs="0"
maxOccurs="unbounded"/>
+ </choice>
+ </complexType>
+
+ <complexType name="TaggedComponent">
+ <complexContent>
+ <extension base="this:component">
+ <attribute name="key" type="string" use="required"/>
+ <attribute name="priority" type="integer" default="0"/>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <simpleType name="activation">
+ <restriction base="string">
+ <enumeration value="demand"/>
+ <enumeration value="startup"/>
+ <enumeration value="system"/>
+ </restriction>
+ </simpleType>
+
+</schema>

Added: trunk/main/lang/part/etc/main/dpml/lang/dpml-module-1.0.xsd
===================================================================
--- trunk/main/lang/part/etc/main/dpml/lang/dpml-module-1.0.xsd 2007-02-09
01:27:35 UTC (rev 1857)
+++ trunk/main/lang/part/etc/main/dpml/lang/dpml-module-1.0.xsd 2007-02-09
01:28:27 UTC (rev 1858)
@@ -0,0 +1,219 @@
+<?xml version="1.0"?>
+<schema xmlns="http://www.w3.org/2001/XMLSchema";
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema";
+ xmlns:this="link:xsd:dpml/lang/dpml-module#1.0"
+ targetNamespace="link:xsd:dpml/lang/dpml-module#1.0"
+ elementFormDefault="qualified">
+
+ <element name="index" type="this:IndexType"/>
+ <element name="resource" type="this:ResourceType"/>
+ <element name="project" type="this:ProjectType"
substitutionGroup="this:resource"/>
+ <element name="module" type="this:ModuleType"
substitutionGroup="this:resource"/>
+ <element name="property" type="this:PropertyType"/>
+ <element name="typedef" type="this:AbstractType"/>
+ <element name="type" type="this:GenericType"
substitutionGroup="this:typedef"/>
+
+ <complexType name="IndexType">
+ <sequence>
+ <element name="imports" type="this:ImportsType" minOccurs="0"
maxOccurs="1"/>
+ <element name="properties" type="this:PropertiesType" minOccurs="0"
maxOccurs="1"/>
+ <element ref="this:resource" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+
+ <complexType name="ImportsType">
+ <sequence>
+ <element name="import" type="this:URIImportType" minOccurs="0"
maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+
+ <complexType name="PropertiesType">
+ <sequence>
+ <element name="property" type="this:PropertyType" minOccurs="0"
maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+
+ <complexType name="ModulesType">
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <element name="module" type="this:ModuleType"/>
+ <!--<element name="import" type="this:FileImportType"/>-->
+ </choice>
+ </complexType>
+
+ <complexType name="URIImportType">
+ <attribute name="uri" type="anyURI"/>
+ </complexType>
+
+ <complexType name="FileImportType">
+ <attribute name="file" type="string"/>
+ </complexType>
+
+ <complexType name="PropertyType">
+ <attribute name="name" type="string" use="required"/>
+ <attribute name="value" type="string" use="required"/>
+ </complexType>
+
+ <complexType name="ResourceType">
+ <sequence>
+ <element name="info" type="this:InfoType" minOccurs="0"
maxOccurs="1"/>
+ <element name="properties" type="this:PropertiesType" minOccurs="0"
maxOccurs="1"/>
+ <element name="types" type="this:TypesType" minOccurs="0"
maxOccurs="1"/>
+ <element name="dependencies" type="this:DependenciesType"
minOccurs="0" maxOccurs="1"/>
+ </sequence>
+ <attribute name="name" type="string"/>
+ <attribute name="version" type="string"/>
+ <attribute name="basedir" type="string"/>
+ <attribute name="file" type="string"/>
+ </complexType>
+
+ <complexType name="ProjectType">
+ <complexContent>
+ <extension base="this:ResourceType">
+ <sequence>
+ <element name="filters" type="this:FiltersType" minOccurs="0"
maxOccurs="1"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <complexType name="ModuleType">
+ <complexContent>
+ <extension base="this:ProjectType">
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <element name="module" type="this:ModuleType"/>
+ <element name="project" type="this:ProjectType"/>
+ <element name="resource" type="this:ResourceType"/>
+ <!--<element name="import" type="this:FileImportType"/>-->
+ </choice>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <complexType name="TypesType">
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <element ref="this:typedef"/>
+ </choice>
+ </complexType>
+
+ <complexType name="AbstractType" abstract="true">
+ <attribute name="alias" type="boolean" default="false"/>
+ <attribute name="version" type="string"/>
+ </complexType>
+
+ <complexType name="GenericType">
+ <complexContent>
+ <extension base="this:AbstractType">
+ <sequence>
+ <element name="property" type="this:PropertyType" minOccurs="0"
maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="id" type="string"/>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <complexType name="DependenciesType">
+ <all>
+ <element name="build" type="this:BuildScope" minOccurs="0"
maxOccurs="1"/>
+ <element name="runtime" type="this:RuntimeScope" minOccurs="0"
maxOccurs="1"/>
+ <element name="test" type="this:TestScope" minOccurs="0"
maxOccurs="1"/>
+ </all>
+ </complexType>
+
+ <complexType name="BuildScope">
+ <sequence>
+ <element name="include" type="this:IncludeType" minOccurs="0"
maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+
+ <complexType name="RuntimeScope">
+ <sequence>
+ <element name="include" type="this:RuntimeIncludeType" minOccurs="0"
maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+
+ <complexType name="TestScope">
+ <sequence>
+ <element name="include" type="this:IncludeType" minOccurs="0"
maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+
+ <complexType name="IncludeType">
+ <sequence>
+ <element name="property" type="this:PropertyType" minOccurs="0"
maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="key" type="string"/>
+ <attribute name="ref" type="string"/>
+ <attribute name="uri" type="string"/>
+ </complexType>
+
+ <complexType name="InfoType">
+ <sequence>
+ <element name="description" type="string" minOccurs="0"
maxOccurs="1"/>
+ </sequence>
+ <attribute name="title" type="string"/>
+ </complexType>
+
+ <complexType name="RuntimeIncludeType">
+ <complexContent>
+ <extension base="this:IncludeType">
+ <attribute name="tag" type="string"/>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <simpleType name="tag">
+ <restriction base="string">
+ <enumeration value="system"/>
+ <enumeration value="public"/>
+ <enumeration value="protected"/>
+ <enumeration value="private"/>
+ </restriction>
+ </simpleType>
+
+ <!-- filter management -->
+
+ <complexType name="FiltersType">
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <element name="filter" type="this:Filter"/>
+ <element name="feature" type="this:Feature"/>
+ </choice>
+ </complexType>
+
+ <complexType name="AbstractFilter" abstract="true">
+ <attribute name="token" type="string" use="required"/>
+ </complexType>
+
+ <complexType name="Filter">
+ <complexContent>
+ <extension base="this:AbstractFilter">
+ <attribute name="value" type="string" use="required"/>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <complexType name="Feature">
+ <complexContent>
+ <extension base="this:AbstractFilter">
+ <attribute name="id" type="this:featureEnumeration"
use="required"/>
+ <attribute name="type" type="string" use="optional"/>
+ <attribute name="alias" type="boolean" use="optional"/>
+ <attribute name="ref" type="string" use="optional"/>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <simpleType name="featureEnumeration">
+ <restriction base="string">
+ <enumeration value="name"/>
+ <enumeration value="group"/>
+ <enumeration value="version"/>
+ <enumeration value="decimal"/>
+ <enumeration value="uri"/>
+ <enumeration value="spec"/>
+ <enumeration value="path"/>
+ <enumeration value="filename"/>
+ </restriction>
+ </simpleType>
+
+</schema>
+

Added: trunk/main/lang/part/etc/main/dpml/lang/dpml-part-1.0.xsd
===================================================================
--- trunk/main/lang/part/etc/main/dpml/lang/dpml-part-1.0.xsd 2007-02-09
01:27:35 UTC (rev 1857)
+++ trunk/main/lang/part/etc/main/dpml/lang/dpml-part-1.0.xsd 2007-02-09
01:28:27 UTC (rev 1858)
@@ -0,0 +1,124 @@
+<?xml version="1.0"?>
+<schema xmlns="http://www.w3.org/2001/XMLSchema";
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema";
+ xmlns:this="link:xsd:dpml/lang/dpml-part#1.0"
+ xmlns:module="link:xsd:dpml/lang/dpml-module#1.0"
+ targetNamespace="link:xsd:dpml/lang/dpml-part#1.0"
+ elementFormDefault="qualified"
+ >
+
+ <import namespace="link:xsd:dpml/lang/dpml-module#1.0"
schemaLocation="link:xsd:dpml/lang/dpml-module#1.0"/>
+
+ <element name="part" type="this:PartType"/>
+ <element name="strategy" type="this:StrategyType"
substitutionGroup="module:typedef"/>
+ <element name="plugin" type="this:plugin"
substitutionGroup="this:strategy"/>
+ <element name="resource" type="this:resource"
substitutionGroup="this:strategy"/>
+ <element name="codebase" type="this:CodeBaseType"/>
+ <element name="param" type="this:ValueType"/>
+
+ <complexType name="PartType">
+ <sequence>
+ <element name="info" type="this:InfoType" minOccurs="1"
maxOccurs="1"/>
+ <element ref="this:strategy" minOccurs="1" maxOccurs="1"/>
+ <element name="classpath" type="this:ClassPathType" minOccurs="1"
maxOccurs="1"/>
+ </sequence>
+ </complexType>
+
+ <complexType name="StrategyType" abstract="true">
+ <complexContent>
+ <extension base="module:AbstractType"/>
+ </complexContent>
+ </complexType>
+
+ <complexType name="plugin">
+ <complexContent>
+ <extension base="this:StrategyType">
+ <sequence>
+ <element name="param" type="this:ValueType" minOccurs="0"
maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="class" type="string" use="required"/>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <complexType name="resource">
+ <complexContent>
+ <extension base="this:StrategyType">
+ <attribute name="urn" type="string" use="required"/>
+ <attribute name="path" type="string" use="required"/>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <complexType name="ClassPathType">
+ <sequence>
+ <element name="system" type="this:ClassLoaderType" minOccurs="0"
maxOccurs="1"/>
+ <element name="public" type="this:ClassLoaderType" minOccurs="0"
maxOccurs="1"/>
+ <element name="protected" type="this:ClassLoaderType" minOccurs="0"
maxOccurs="1"/>
+ <element name="private" type="this:ClassLoaderType" minOccurs="0"
maxOccurs="1"/>
+ </sequence>
+ </complexType>
+
+ <complexType name="ClassLoaderType">
+ <sequence>
+ <element name="uri" type="this:URIType" minOccurs="0"
maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+
+ <complexType name="InfoType">
+ <sequence>
+ <element name="description" type="string" minOccurs="0"
maxOccurs="1"/>
+ </sequence>
+ <attribute name="title" type="string"/>
+ </complexType>
+
+ <complexType name="URIType">
+ <simpleContent>
+ <extension base="anyURI"/>
+ </simpleContent>
+ </complexType>
+
+ <complexType name="URNType">
+ <simpleContent>
+ <extension base="anyURI"/>
+ </simpleContent>
+ </complexType>
+
+ <complexType name="ValueType">
+ <sequence>
+ <element ref="this:param" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="class" type="string"/>
+ <attribute name="value" type="string"/>
+ <attribute name="method" type="string"/>
+ </complexType>
+
+ <complexType name="TaggedValueType">
+ <complexContent>
+ <extension base="this:ValueType">
+ <attribute name="key" type="string" use="required"/>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <complexType name="codebase">
+ <complexContent>
+ <extension base="this:CodeBaseType">
+ <sequence>
+ <element ref="this:param" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <complexType name="CodeBaseType" abstract="true">
+ <attribute name="uri" type="anyURI"/>
+ </complexType>
+
+ <simpleType name="URI">
+ <restriction base="anyURI"/>
+ </simpleType>
+
+
+</schema>
+

Added: trunk/main/lang/part/etc/main/dpml/lang/dpml-state-1.0.xsd
===================================================================
--- trunk/main/lang/part/etc/main/dpml/lang/dpml-state-1.0.xsd 2007-02-09
01:27:35 UTC (rev 1857)
+++ trunk/main/lang/part/etc/main/dpml/lang/dpml-state-1.0.xsd 2007-02-09
01:28:27 UTC (rev 1858)
@@ -0,0 +1,100 @@
+<?xml version="1.0"?>
+
+<!--
+Definition of a state graph.
+-->
+
+<schema xmlns="http://www.w3.org/2001/XMLSchema";
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema";
+ xmlns:this="link:xsd:dpml/lang/dpml-state#1.0"
+ targetNamespace="link:xsd:dpml/lang/dpml-state#1.0"
+ elementFormDefault="qualified">
+
+ <element name="state" type="this:GraphType"/>
+ <element name="action" type="this:ActionType"/>
+ <element name="transition" type="this:TransitionType"
substitutionGroup="this:action"/>
+ <element name="operation" type="this:OperationType"
substitutionGroup="this:action"/>
+ <element name="apply" type="this:ApplyType"
substitutionGroup="this:action"/>
+ <element name="exec" type="this:ExecType"
substitutionGroup="this:action"/>
+
+ <complexType name="GraphType">
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <element name="transition" type="this:TransitionType"/>
+ <element name="operation" type="this:OperationType"/>
+ <element name="interface" type="this:InterfaceType"/>
+ <element name="state" type="this:StateType"/>
+ <element name="trigger" type="this:TriggerType"/>
+ </choice>
+ <attribute name="terminal" type="boolean" default="false"/>
+ </complexType>
+
+ <complexType name="StateType">
+ <complexContent>
+ <extension base="this:GraphType">
+ <attribute name="name" type="string" use="required"/>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <complexType name="TriggerType">
+ <sequence>
+ <element ref="this:action" minOccurs="1" maxOccurs="1"/>
+ </sequence>
+ <attribute name="event" type="this:trigger"/>
+ </complexType>
+
+ <complexType name="ActionType" abstract="true"/>
+
+ <complexType name="TransitionType">
+ <complexContent>
+ <extension base="this:ActionType">
+ <sequence>
+ <element name="operation" type="this:OperationType"
minOccurs="0" maxOccurs="1"/>
+ </sequence>
+ <attribute name="name" type="string" use="required"/>
+ <attribute name="target" type="string" use="required"/>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <complexType name="OperationType">
+ <complexContent>
+ <extension base="this:ActionType">
+ <attribute name="name" type="string" use="required"/>
+ <attribute name="method" type="string"/>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <complexType name="InterfaceType">
+ <complexContent>
+ <extension base="this:ActionType">
+ <attribute name="class" type="string" use="required"/>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <complexType name="ApplyType">
+ <complexContent>
+ <extension base="this:ActionType">
+ <attribute name="id" type="string" use="required"/>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <complexType name="ExecType">
+ <complexContent>
+ <extension base="this:ActionType">
+ <attribute name="id" type="string" use="required"/>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <simpleType name="trigger">
+ <restriction base="string">
+ <enumeration value="initialization"/>
+ <enumeration value="termination"/>
+ </restriction>
+ </simpleType>
+
+</schema>

Added: trunk/main/lang/part/etc/main/dpml/lang/dpml-type-1.0.xsd
===================================================================
--- trunk/main/lang/part/etc/main/dpml/lang/dpml-type-1.0.xsd 2007-02-09
01:27:35 UTC (rev 1857)
+++ trunk/main/lang/part/etc/main/dpml/lang/dpml-type-1.0.xsd 2007-02-09
01:28:27 UTC (rev 1858)
@@ -0,0 +1,119 @@
+<?xml version="1.0"?>
+
+<!--
+Component type definition.
+-->
+
+<schema xmlns="http://www.w3.org/2001/XMLSchema";
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema";
+ xmlns:this="link:xsd:dpml/lang/dpml-type#1.0"
+ xmlns:state="link:xsd:dpml/lang/dpml-state#1.0"
+ targetNamespace="link:xsd:dpml/lang/dpml-type#1.0"
+ elementFormDefault="qualified">
+
+ <import namespace="link:xsd:dpml/lang/dpml-state#1.0"
schemaLocation="link:xsd:dpml/lang/dpml-state#1.0"/>
+
+ <element name="type" type="this:TypeDefinition"/>
+
+ <complexType name="TypeDefinition">
+ <sequence>
+ <element name="info" type="this:InfoType" minOccurs="0"
maxOccurs="1"/>
+ <element name="services" type="this:ServicesType" minOccurs="0"
maxOccurs="1"/>
+ <element name="context" type="this:ContextDescriptorType"
minOccurs="0" maxOccurs="1"/>
+ <element name="categories" type="this:CategoriesDescriptorType"
minOccurs="0" maxOccurs="1"/>
+ <element ref="state:state" minOccurs="0" maxOccurs="1"/>
+ </sequence>
+ </complexType>
+
+ <complexType name="InfoType">
+ <sequence>
+ <element name="property" type="this:PropertyType" minOccurs="0"
maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="name" type="string"/>
+ <attribute name="class" type="string" use="required"/>
+ <attribute name="version" type="string"/>
+ <attribute name="lifestyle" type="this:lifestyle"/>
+ <attribute name="collection" type="this:collection"/>
+ <attribute name="threadsafe" type="this:threadsafe"/>
+ </complexType>
+
+ <complexType name="CategoriesDescriptorType">
+ <sequence>
+ <element name="category" type="this:CategoryDescriptorType"
minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+
+ <complexType name="CategoryDescriptorType">
+ <sequence>
+ <element name="property" type="this:PropertyType" minOccurs="0"
maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="name" type="string" use="required"/>
+ <attribute name="priority" type="this:priority"/>
+ </complexType>
+
+ <complexType name="ContextDescriptorType">
+ <sequence>
+ <element name="entry" type="this:EntryDescriptorType" minOccurs="0"
maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+
+ <complexType name="EntryDescriptorType">
+ <attribute name="key" type="string" use="required"/>
+ <attribute name="class" type="string" use="required"/>
+ <attribute name="optional" type="boolean" default="false"/>
+ <attribute name="volatile" type="boolean" default="false"/>
+ </complexType>
+
+ <complexType name="ServicesType">
+ <sequence>
+ <element name="service" type="this:ServiceType" minOccurs="0"
maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+
+ <complexType name="ServiceType">
+ <attribute name="class" type="string" use="required"/>
+ <attribute name="version" type="string"/>
+ </complexType>
+
+ <complexType name="PropertyType">
+ <attribute name="name" type="string"/>
+ <attribute name="value" type="string"/>
+ </complexType>
+
+ <simpleType name="priority">
+ <restriction base="string">
+ <enumeration value="info"/>
+ <enumeration value="warn"/>
+ <enumeration value="error"/>
+ <enumeration value="debug"/>
+ <enumeration value="trace"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="threadsafe">
+ <restriction base="string">
+ <enumeration value="true"/>
+ <enumeration value="false"/>
+ <enumeration value="unknown"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="lifestyle">
+ <restriction base="string">
+ <enumeration value="singleton"/>
+ <enumeration value="thread"/>
+ <enumeration value="transient"/>
+ <enumeration value="system"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="collection">
+ <restriction base="string">
+ <enumeration value="hard"/>
+ <enumeration value="soft"/>
+ <enumeration value="weak"/>
+ <enumeration value="system"/>
+ </restriction>
+ </simpleType>
+
+</schema>

Deleted: trunk/main/lang/part/etc/part.xsd
===================================================================
--- trunk/main/lang/part/etc/part.xsd 2007-02-09 01:27:35 UTC (rev 1857)
+++ trunk/main/lang/part/etc/part.xsd 2007-02-09 01:28:27 UTC (rev 1858)
@@ -1,124 +0,0 @@
-<?xml version="1.0"?>
-<schema xmlns="http://www.w3.org/2001/XMLSchema";
- xmlns:xsd="http://www.w3.org/2001/XMLSchema";
- xmlns:this="@PROJECT-XSD-SPEC-URI@"
- xmlns:module="@MODULE-XSD-SPEC-URI@"
- targetNamespace="@PROJECT-XSD-SPEC-URI@"
- elementFormDefault="qualified"
- >
-
- <import namespace="@MODULE-XSD-SPEC-URI@"
schemaLocation="@MODULE-XSD-SPEC-URI@"/>
-
- <element name="part" type="this:PartType"/>
- <element name="strategy" type="this:StrategyType"
substitutionGroup="module:typedef"/>
- <element name="plugin" type="this:plugin"
substitutionGroup="this:strategy"/>
- <element name="resource" type="this:resource"
substitutionGroup="this:strategy"/>
- <element name="codebase" type="this:CodeBaseType"/>
- <element name="param" type="this:ValueType"/>
-
- <complexType name="PartType">
- <sequence>
- <element name="info" type="this:InfoType" minOccurs="1"
maxOccurs="1"/>
- <element ref="this:strategy" minOccurs="1" maxOccurs="1"/>
- <element name="classpath" type="this:ClassPathType" minOccurs="1"
maxOccurs="1"/>
- </sequence>
- </complexType>
-
- <complexType name="StrategyType" abstract="true">
- <complexContent>
- <extension base="module:AbstractType"/>
- </complexContent>
- </complexType>
-
- <complexType name="plugin">
- <complexContent>
- <extension base="this:StrategyType">
- <sequence>
- <element name="param" type="this:ValueType" minOccurs="0"
maxOccurs="unbounded"/>
- </sequence>
- <attribute name="class" type="string" use="required"/>
- </extension>
- </complexContent>
- </complexType>
-
- <complexType name="resource">
- <complexContent>
- <extension base="this:StrategyType">
- <attribute name="urn" type="string" use="required"/>
- <attribute name="path" type="string" use="required"/>
- </extension>
- </complexContent>
- </complexType>
-
- <complexType name="ClassPathType">
- <sequence>
- <element name="system" type="this:ClassLoaderType" minOccurs="0"
maxOccurs="1"/>
- <element name="public" type="this:ClassLoaderType" minOccurs="0"
maxOccurs="1"/>
- <element name="protected" type="this:ClassLoaderType" minOccurs="0"
maxOccurs="1"/>
- <element name="private" type="this:ClassLoaderType" minOccurs="0"
maxOccurs="1"/>
- </sequence>
- </complexType>
-
- <complexType name="ClassLoaderType">
- <sequence>
- <element name="uri" type="this:URIType" minOccurs="0"
maxOccurs="unbounded"/>
- </sequence>
- </complexType>
-
- <complexType name="InfoType">
- <sequence>
- <element name="description" type="string" minOccurs="0"
maxOccurs="1"/>
- </sequence>
- <attribute name="title" type="string"/>
- </complexType>
-
- <complexType name="URIType">
- <simpleContent>
- <extension base="anyURI"/>
- </simpleContent>
- </complexType>
-
- <complexType name="URNType">
- <simpleContent>
- <extension base="anyURI"/>
- </simpleContent>
- </complexType>
-
- <complexType name="ValueType">
- <sequence>
- <element ref="this:param" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="class" type="string"/>
- <attribute name="value" type="string"/>
- <attribute name="method" type="string"/>
- </complexType>
-
- <complexType name="TaggedValueType">
- <complexContent>
- <extension base="this:ValueType">
- <attribute name="key" type="string" use="required"/>
- </extension>
- </complexContent>
- </complexType>
-
- <complexType name="codebase">
- <complexContent>
- <extension base="this:CodeBaseType">
- <sequence>
- <element ref="this:param" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
-
- <complexType name="CodeBaseType" abstract="true">
- <attribute name="uri" type="anyURI"/>
- </complexType>
-
- <simpleType name="URI">
- <restriction base="anyURI"/>
- </simpleType>
-
-
-</schema>
-

Added: trunk/main/lang/part/etc/xsds/component.xsd
===================================================================
--- trunk/main/lang/part/etc/xsds/component.xsd 2007-02-09 01:27:35 UTC (rev
1857)
+++ trunk/main/lang/part/etc/xsds/component.xsd 2007-02-09 01:28:27 UTC (rev
1858)
@@ -0,0 +1,128 @@
+<?xml version="1.0"?>
+
+<schema xmlns="http://www.w3.org/2001/XMLSchema";
+ xmlns:part="dpml:part"
+ xmlns:this="dpml:metro"
+ targetNamespace="dpml:metro"
+ elementFormDefault="qualified">
+
+ <import namespace="dpml:part" schemaLocation="dpml:part"/>
+
+ <element name="component" type="this:component"
substitutionGroup="part:strategy"/>
+ <element name="category" type="this:CategoryType"/>
+ <element name="categories" type="this:CategoriesType"
substitutionGroup="this:category"/>
+ <element name="entry" type="this:EntryType"/>
+ <element name="context" type="this:ContextEntryType"
substitutionGroup="this:entry"/>
+ <element name="param" type="part:ValueType"
substitutionGroup="part:param"/>
+ <element name="profile" type="this:ProfileType"/>
+
+ <complexType name="component">
+ <complexContent>
+ <extension base="part:StrategyType">
+ <sequence>
+ <element name="categories" type="this:CategoriesType"
minOccurs="0" maxOccurs="1"/>
+ <element name="context" type="this:ContextType" minOccurs="0"
maxOccurs="1"/>
+ <element name="parts" type="this:PartsType" minOccurs="0"
maxOccurs="1"/>
+ </sequence>
+ <attribute name="key" type="string"/>
+ <attribute name="name" type="string"/>
+ <attribute name="type" type="string"/>
+ <attribute name="lifestyle" type="this:lifestyle"/>
+ <attribute name="collection" type="this:collection"/>
+ <attribute name="activation" type="this:activation"/>
+ <attribute name="handler" type="part:URI"
default="link:part:dpml/lang/dpml-lang-component"/>
+ <attribute name="priority" type="integer" default="0"/>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <complexType name="ProfileType">
+ <sequence>
+ <element name="context" type="this:ContextType" minOccurs="0"
maxOccurs="1"/>
+ <element name="parts" type="this:PartsType" minOccurs="0"
maxOccurs="1"/>
+ </sequence>
+ <attribute name="activation" type="this:activation"/>
+ </complexType>
+
+ <complexType name="CategoryType">
+ <attribute name="name" type="string"/>
+ <attribute name="priority" type="this:priority"/>
+ <attribute name="target" type="string"/>
+ </complexType>
+
+ <complexType name="CategoriesType">
+ <complexContent>
+ <extension base="this:CategoryType">
+ <sequence>
+ <element ref="this:category" minOccurs="0"
maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <simpleType name="priority">
+ <restriction base="string">
+ <enumeration value="info"/>
+ <enumeration value="warn"/>
+ <enumeration value="error"/>
+ <enumeration value="debug"/>
+ <enumeration value="trace"/>
+ </restriction>
+ </simpleType>
+
+ <complexType name="ContextType">
+ <sequence>
+ <element ref="this:entry" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+
+ <complexType name="EntryType">
+ <complexContent>
+ <extension base="part:TaggedValueType">
+ <sequence>
+ <element ref="this:entry" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="lookup" type="string"/>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <complexType name="ContextEntryType">
+ <complexContent>
+ <extension base="this:EntryType"/>
+ </complexContent>
+ </complexType>
+
+ <complexType name="PartsType">
+ <sequence>
+ <element ref="part:strategy" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+
+ <simpleType name="activation">
+ <restriction base="string">
+ <enumeration value="demand"/>
+ <enumeration value="startup"/>
+ <enumeration value="system"/>
+ </restriction>
+ </simpleType>
+
+ <!-- TYPE -->
+
+ <simpleType name="lifestyle">
+ <restriction base="string">
+ <enumeration value="singleton"/>
+ <enumeration value="thread"/>
+ <enumeration value="transient"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="collection">
+ <restriction base="string">
+ <enumeration value="hard"/>
+ <enumeration value="soft"/>
+ <enumeration value="weak"/>
+ </restriction>
+ </simpleType>
+
+</schema>

Added: trunk/main/lang/part/etc/xsds/library.xsd
===================================================================
--- trunk/main/lang/part/etc/xsds/library.xsd 2007-02-09 01:27:35 UTC (rev
1857)
+++ trunk/main/lang/part/etc/xsds/library.xsd 2007-02-09 01:28:27 UTC (rev
1858)
@@ -0,0 +1,210 @@
+<?xml version="1.0"?>
+<schema xmlns="http://www.w3.org/2001/XMLSchema";
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema";
+ xmlns:this="dpml:library"
+ targetNamespace="dpml:library"
+ elementFormDefault="qualified">
+
+ <element name="index" type="this:IndexType"/>
+ <element name="resource" type="this:ResourceType"/>
+ <element name="project" type="this:ProjectType"
substitutionGroup="this:resource"/>
+ <element name="module" type="this:ModuleType"
substitutionGroup="this:resource"/>
+
+ <complexType name="GenericType">
+ <sequence>
+ <element name="property" type="this:PropertyType" minOccurs="0"
maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="id" type="string" use="required"/>
+ <attribute name="source" type="string"/>
+ <attribute name="name" type="string"/>
+ <attribute name="test" type="boolean" default="false"/>
+ <attribute name="alias" type="boolean" default="false"/>
+ <attribute name="version" type="string"/>
+ </complexType>
+
+ <complexType name="IndexType">
+ <sequence>
+ <element name="imports" type="this:ImportsType" minOccurs="0"
maxOccurs="1"/>
+ <element name="properties" type="this:PropertiesType" minOccurs="0"
maxOccurs="1"/>
+ <element ref="this:resource" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+
+ <complexType name="ImportsType">
+ <sequence>
+ <element name="import" type="this:URIImportType" minOccurs="0"
maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+
+ <complexType name="PropertiesType">
+ <sequence>
+ <element name="property" type="this:PropertyType" minOccurs="0"
maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+
+ <complexType name="ModulesType">
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <element name="module" type="this:ModuleType"/>
+ </choice>
+ </complexType>
+
+ <complexType name="URIImportType">
+ <attribute name="uri" type="anyURI"/>
+ </complexType>
+
+ <complexType name="FileImportType">
+ <attribute name="file" type="string"/>
+ </complexType>
+
+ <complexType name="PropertyType">
+ <attribute name="name" type="string" use="required"/>
+ <attribute name="value" type="string" use="required"/>
+ </complexType>
+
+ <complexType name="ResourceType">
+ <sequence>
+ <element name="info" type="this:InfoType" minOccurs="0"
maxOccurs="1"/>
+ <element name="properties" type="this:PropertiesType" minOccurs="0"
maxOccurs="1"/>
+ <element name="types" type="this:TypesType" minOccurs="0"
maxOccurs="1"/>
+ <element name="dependencies" type="this:DependenciesType"
minOccurs="0" maxOccurs="1"/>
+ </sequence>
+ <attribute name="name" type="string"/>
+ <attribute name="version" type="string"/>
+ <attribute name="basedir" type="string"/>
+ <attribute name="file" type="string"/>
+ </complexType>
+
+ <complexType name="ProjectType">
+ <complexContent>
+ <extension base="this:ResourceType">
+ <sequence>
+ <element name="filters" type="this:FiltersType" minOccurs="0"
maxOccurs="1"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <complexType name="ModuleType">
+ <complexContent>
+ <extension base="this:ProjectType">
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <element name="module" type="this:ModuleType"/>
+ <element name="project" type="this:ProjectType"/>
+ <element name="resource" type="this:ResourceType"/>
+ </choice>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <complexType name="TypesType">
+ <sequence>
+ <element name="type" type="this:GenericType" minOccurs="0"
maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+
+ <complexType name="DependenciesType">
+ <all>
+ <element name="build" type="this:BuildScope" minOccurs="0"
maxOccurs="1"/>
+ <element name="runtime" type="this:RuntimeScope" minOccurs="0"
maxOccurs="1"/>
+ <element name="test" type="this:TestScope" minOccurs="0"
maxOccurs="1"/>
+ </all>
+ </complexType>
+
+ <complexType name="BuildScope">
+ <sequence>
+ <element name="include" type="this:IncludeType" minOccurs="0"
maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+
+ <complexType name="RuntimeScope">
+ <sequence>
+ <element name="include" type="this:RuntimeIncludeType" minOccurs="0"
maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+
+ <complexType name="TestScope">
+ <sequence>
+ <element name="include" type="this:IncludeType" minOccurs="0"
maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+
+ <complexType name="IncludeType">
+ <sequence>
+ <element name="property" type="this:PropertyType" minOccurs="0"
maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="key" type="string"/>
+ <attribute name="ref" type="string"/>
+ <attribute name="uri" type="string"/>
+ </complexType>
+
+ <complexType name="InfoType">
+ <sequence>
+ <element name="description" type="string" minOccurs="0"
maxOccurs="1"/>
+ </sequence>
+ <attribute name="title" type="string"/>
+ </complexType>
+
+ <complexType name="RuntimeIncludeType">
+ <complexContent>
+ <extension base="this:IncludeType">
+ <attribute name="tag" type="string"/>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <simpleType name="tag">
+ <restriction base="string">
+ <enumeration value="system"/>
+ <enumeration value="public"/>
+ <enumeration value="protected"/>
+ <enumeration value="private"/>
+ </restriction>
+ </simpleType>
+
+ <!-- filter management -->
+
+ <complexType name="FiltersType">
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <element name="filter" type="this:Filter"/>
+ <element name="feature" type="this:Feature"/>
+ </choice>
+ </complexType>
+
+ <complexType name="AbstractFilter" abstract="true">
+ <attribute name="token" type="string" use="required"/>
+ </complexType>
+
+ <complexType name="Filter">
+ <complexContent>
+ <extension base="this:AbstractFilter">
+ <attribute name="value" type="string" use="required"/>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <complexType name="Feature">
+ <complexContent>
+ <extension base="this:AbstractFilter">
+ <attribute name="id" type="this:featureEnumeration"
use="required"/>
+ <attribute name="type" type="string" use="optional"/>
+ <attribute name="alias" type="boolean" use="optional"/>
+ <attribute name="ref" type="string" use="optional"/>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <simpleType name="featureEnumeration">
+ <restriction base="string">
+ <enumeration value="name"/>
+ <enumeration value="group"/>
+ <enumeration value="version"/>
+ <enumeration value="decimal"/>
+ <enumeration value="uri"/>
+ <enumeration value="spec"/>
+ <enumeration value="path"/>
+ <enumeration value="filename"/>
+ </restriction>
+ </simpleType>
+
+</schema>
+

Added: trunk/main/lang/part/etc/xsds/part.xsd
===================================================================
--- trunk/main/lang/part/etc/xsds/part.xsd 2007-02-09 01:27:35 UTC (rev
1857)
+++ trunk/main/lang/part/etc/xsds/part.xsd 2007-02-09 01:28:27 UTC (rev
1858)
@@ -0,0 +1,92 @@
+<?xml version="1.0"?>
+<schema xmlns="http://www.w3.org/2001/XMLSchema";
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema";
+ xmlns:this="dpml:part"
+ targetNamespace="dpml:part"
+ elementFormDefault="qualified"
+ >
+
+ <element name="part" type="this:PartType"/>
+ <element name="strategy" type="this:StrategyType"/>
+ <element name="plugin" type="this:plugin"
substitutionGroup="this:strategy"/>
+ <element name="param" type="this:ValueType"/>
+
+ <complexType name="PartType">
+ <sequence>
+ <element name="info" type="this:InfoType" minOccurs="0"
maxOccurs="1"/>
+ <element ref="this:strategy" minOccurs="1" maxOccurs="1"/>
+ <element name="classpath" type="this:ClassPathType" minOccurs="0"
maxOccurs="1"/>
+ </sequence>
+ </complexType>
+
+ <complexType name="StrategyType" abstract="true"/>
+
+ <complexType name="plugin">
+ <complexContent>
+ <extension base="this:StrategyType">
+ <sequence>
+ <element ref="this:param" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="class" type="string" use="required"/>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <complexType name="ClassPathType">
+ <sequence>
+ <element name="system" type="this:ClassLoaderType" minOccurs="0"
maxOccurs="1"/>
+ <element name="public" type="this:ClassLoaderType" minOccurs="0"
maxOccurs="1"/>
+ <element name="protected" type="this:ClassLoaderType" minOccurs="0"
maxOccurs="1"/>
+ <element name="private" type="this:ClassLoaderType" minOccurs="0"
maxOccurs="1"/>
+ </sequence>
+ </complexType>
+
+ <complexType name="ClassLoaderType">
+ <sequence>
+ <element name="uri" type="this:URIType" minOccurs="0"
maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+
+ <complexType name="InfoType">
+ <sequence>
+ <element name="description" type="string" minOccurs="0"
maxOccurs="1"/>
+ </sequence>
+ <attribute name="title" type="string"/>
+ </complexType>
+
+ <complexType name="URIType">
+ <simpleContent>
+ <extension base="anyURI"/>
+ </simpleContent>
+ </complexType>
+
+ <complexType name="URNType">
+ <simpleContent>
+ <extension base="anyURI"/>
+ </simpleContent>
+ </complexType>
+
+ <complexType name="ValueType">
+ <sequence>
+ <element ref="this:param" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="class" type="string"/>
+ <attribute name="value" type="string"/>
+ <attribute name="method" type="string"/>
+ </complexType>
+
+ <complexType name="TaggedValueType">
+ <complexContent>
+ <extension base="this:ValueType">
+ <attribute name="key" type="string" use="required"/>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <simpleType name="URI">
+ <restriction base="anyURI"/>
+ </simpleType>
+
+
+</schema>
+

Added: trunk/main/lang/part/etc/xsds/resource.xsd
===================================================================
--- trunk/main/lang/part/etc/xsds/resource.xsd 2007-02-09 01:27:35 UTC (rev
1857)
+++ trunk/main/lang/part/etc/xsds/resource.xsd 2007-02-09 01:28:27 UTC (rev
1858)
@@ -0,0 +1,22 @@
+<?xml version="1.0"?>
+
+<schema xmlns="http://www.w3.org/2001/XMLSchema";
+ xmlns:part="dpml:part"
+ xmlns:this="dpml:antlib"
+ targetNamespace="dpml:antlib"
+ elementFormDefault="qualified">
+
+ <import namespace="dpml:part" schemaLocation="dpml:part"/>
+
+ <element name="resource" type="this:resource"
substitutionGroup="part:strategy"/>
+
+ <complexType name="resource">
+ <complexContent>
+ <extension base="part:StrategyType">
+ <attribute name="urn" type="string" use="required"/>
+ <attribute name="path" type="string" use="required"/>
+ </extension>
+ </complexContent>
+ </complexType>
+
+</schema>

Added: trunk/main/lang/part/etc/xsds/state.xsd
===================================================================
--- trunk/main/lang/part/etc/xsds/state.xsd 2007-02-09 01:27:35 UTC (rev
1857)
+++ trunk/main/lang/part/etc/xsds/state.xsd 2007-02-09 01:28:27 UTC (rev
1858)
@@ -0,0 +1,97 @@
+<?xml version="1.0"?>
+<schema xmlns="http://www.w3.org/2001/XMLSchema";
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema";
+ xmlns:this="dpml:state"
+ targetNamespace="dpml:state"
+ elementFormDefault="qualified"
+ >
+
+ <element name="state" type="this:GraphType"/>
+ <element name="action" type="this:ActionType"/>
+ <element name="transition" type="this:TransitionType"
substitutionGroup="this:action"/>
+ <element name="operation" type="this:OperationType"
substitutionGroup="this:action"/>
+ <element name="apply" type="this:ApplyType"
substitutionGroup="this:action"/>
+ <element name="exec" type="this:ExecType"
substitutionGroup="this:action"/>
+
+ <complexType name="GraphType">
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <element name="transition" type="this:TransitionType"/>
+ <element name="operation" type="this:OperationType"/>
+ <element name="interface" type="this:InterfaceType"/>
+ <element name="state" type="this:StateType"/>
+ <element name="trigger" type="this:TriggerType"/>
+ </choice>
+ <attribute name="terminal" type="boolean" default="false"/>
+ </complexType>
+
+ <complexType name="StateType">
+ <complexContent>
+ <extension base="this:GraphType">
+ <attribute name="name" type="string" use="required"/>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <complexType name="TriggerType">
+ <sequence>
+ <element ref="this:action" minOccurs="1" maxOccurs="1"/>
+ </sequence>
+ <attribute name="event" type="this:trigger"/>
+ </complexType>
+
+ <complexType name="ActionType" abstract="true"/>
+
+ <complexType name="TransitionType">
+ <complexContent>
+ <extension base="this:ActionType">
+ <sequence>
+ <element name="operation" type="this:OperationType"
minOccurs="0" maxOccurs="1"/>
+ </sequence>
+ <attribute name="name" type="string" use="required"/>
+ <attribute name="target" type="string" use="required"/>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <complexType name="OperationType">
+ <complexContent>
+ <extension base="this:ActionType">
+ <attribute name="name" type="string" use="required"/>
+ <attribute name="method" type="string"/>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <complexType name="InterfaceType">
+ <complexContent>
+ <extension base="this:ActionType">
+ <attribute name="class" type="string" use="required"/>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <complexType name="ApplyType">
+ <complexContent>
+ <extension base="this:ActionType">
+ <attribute name="id" type="string" use="required"/>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <complexType name="ExecType">
+ <complexContent>
+ <extension base="this:ActionType">
+ <attribute name="id" type="string" use="required"/>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <simpleType name="trigger">
+ <restriction base="string">
+ <enumeration value="initialization"/>
+ <enumeration value="termination"/>
+ </restriction>
+ </simpleType>
+
+</schema>
+




  • r1858 - in trunk/main/lang/part/etc: . bin data main main/META-INF main/META-INF/services main/dpml main/dpml/lang xsds, mcconnell at BerliOS, 02/08/2007

Archive powered by MHonArc 2.6.24.

Top of Page