notify-dpml AT lists.ibiblio.org
Subject: DPML Notify
List archive
r1169 - in trunk/main/lang: . common common/etc component component/etc module module/etc part part/etc state state/etc type type/etc
- From: mcconnell at BerliOS <mcconnell AT mail.berlios.de>
- To: notify-dpml AT lists.ibiblio.org
- Subject: r1169 - in trunk/main/lang: . common common/etc component component/etc module module/etc part part/etc state state/etc type type/etc
- Date: Tue, 14 Mar 2006 16:58:43 +0100
Author: mcconnell
Date: 2006-03-14 16:58:38 +0100 (Tue, 14 Mar 2006)
New Revision: 1169
Added:
trunk/main/lang/common/
trunk/main/lang/common/build.properties
trunk/main/lang/common/build.xml
trunk/main/lang/common/etc/
trunk/main/lang/common/etc/common.xsd
trunk/main/lang/component/
trunk/main/lang/component/build.properties
trunk/main/lang/component/build.xml
trunk/main/lang/component/etc/
trunk/main/lang/component/etc/component.xsd
trunk/main/lang/module/
trunk/main/lang/module/build.properties
trunk/main/lang/module/build.xml
trunk/main/lang/module/etc/
trunk/main/lang/module/etc/module.xsd
trunk/main/lang/part/build.properties
trunk/main/lang/state/
trunk/main/lang/state/build.properties
trunk/main/lang/state/build.xml
trunk/main/lang/state/etc/
trunk/main/lang/state/etc/state.xsd
trunk/main/lang/type/
trunk/main/lang/type/build.properties
trunk/main/lang/type/build.xml
trunk/main/lang/type/etc/
trunk/main/lang/type/etc/type.xsd
Removed:
trunk/main/lang/libraryx/
Modified:
trunk/main/lang/
trunk/main/lang/module.xml
trunk/main/lang/part/
trunk/main/lang/part/build.xml
trunk/main/lang/part/etc/part.xsd
Log:
add schema definitions for module, component, state, type and part
Property changes on: trunk/main/lang
___________________________________________________________________
Name: svn:ignore
+ target
Property changes on: trunk/main/lang/common
___________________________________________________________________
Name: svn:ignore
+ target
Added: trunk/main/lang/common/build.properties
===================================================================
--- trunk/main/lang/common/build.properties 2006-03-08 10:17:16 UTC (rev
1168)
+++ trunk/main/lang/common/build.properties 2006-03-14 15:58:38 UTC (rev
1169)
@@ -0,0 +1,2 @@
+
+project.version = 1.0
Added: trunk/main/lang/common/build.xml
===================================================================
--- trunk/main/lang/common/build.xml 2006-03-08 10:17:16 UTC (rev 1168)
+++ trunk/main/lang/common/build.xml 2006-03-14 15:58:38 UTC (rev 1169)
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+ Copyright 2004-2005 Stephen J McConnell
+ Copyright 2004 Niclas Hedhman
+
+ 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 name="dpml-common" default="install" basedir=".">
+
+ <property name="project.group" value="dpml/lang"/>
+ <property name="project.name" value="dpml-common"/>
+
+ <property file="${basedir}/build.properties"/>
+ <property name="home" value="../.."/>
+ <import file="${home}/bootstrap.xml"/>
+
+ <target name="init" depends="bootstrap.init">
+ <filter token="PROJECT-XSD-URI"
value="artifact:xsd:${project.group}/${project.name}#${project.version}"/>
+ </target>
+
+ <target name="package" depends="bootstrap.package">
+ <property name="targetDir" location="${target.deliverables.dir}/xsds"/>
+ <mkdir dir="${targetDir}"/>
+ <property name="filename"
value="${project.name}-${project.version}.xsd"/>
+ <copy toFile="${targetDir}/${filename}" preservelastmodified="true"
overwrite="true"
+ file="${target.dir}/common.xsd"/>
+ <checksum fileext=".md5" file="${targetDir}/${filename}"/>
+ </target>
+
+</project>
Added: trunk/main/lang/common/etc/common.xsd
===================================================================
--- trunk/main/lang/common/etc/common.xsd 2006-03-08 10:17:16 UTC (rev
1168)
+++ trunk/main/lang/common/etc/common.xsd 2006-03-14 15:58:38 UTC (rev
1169)
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<schema xmlns="http://www.w3.org/2001/XMLSchema"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:common="@PROJECT-XSD-URI@"
+ targetNamespace="@PROJECT-XSD-URI@"
+ elementFormDefault="qualified">
+
+ <element name="type" type="common:AbstractType" abstract="true"/>
+
+ <complexType name="AbstractType">
+ <complexContent>
+ <restriction base="xsd:anyType">
+ <attribute name="alias" type="boolean" default="false"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+
+</schema>
Property changes on: trunk/main/lang/component
___________________________________________________________________
Name: svn:ignore
+ target
Added: trunk/main/lang/component/build.properties
===================================================================
--- trunk/main/lang/component/build.properties 2006-03-08 10:17:16 UTC (rev
1168)
+++ trunk/main/lang/component/build.properties 2006-03-14 15:58:38 UTC (rev
1169)
@@ -0,0 +1,2 @@
+
+project.version = 1.0
Added: trunk/main/lang/component/build.xml
===================================================================
--- trunk/main/lang/component/build.xml 2006-03-08 10:17:16 UTC (rev 1168)
+++ trunk/main/lang/component/build.xml 2006-03-14 15:58:38 UTC (rev 1169)
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+ Copyright 2004-2005 Stephen J McConnell
+ Copyright 2004 Niclas Hedhman
+
+ 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 name="dpml-component" default="install" basedir=".">
+
+ <property name="project.group" value="dpml/lang"/>
+ <property name="project.name" value="dpml-component"/>
+
+ <property file="${basedir}/build.properties"/>
+ <property name="home" value="../.."/>
+ <import file="${home}/bootstrap.xml"/>
+
+ <target name="init" depends="bootstrap.init">
+ <filter token="PART-XSD-URI"
value="artifact:xsd:dpml/lang/dpml-part#1.0"/>
+ <filter token="COMMON-XSD-URI"
value="artifact:xsd:dpml/lang/dpml-common#1.0"/>
+ <filter token="PROJECT-XSD-URI"
value="artifact:xsd:${project.group}/${project.name}#${project.version}"/>
+ </target>
+
+ <target name="package" depends="bootstrap.package">
+ <property name="targetDir" location="${target.deliverables.dir}/xsds"/>
+ <mkdir dir="${targetDir}"/>
+ <property name="filename"
value="${project.name}-${project.version}.xsd"/>
+ <copy toFile="${targetDir}/${filename}" preservelastmodified="true"
overwrite="true"
+ file="${target.dir}/component.xsd"/>
+ <checksum fileext=".md5" file="${targetDir}/${filename}"/>
+ </target>
+
+</project>
Added: trunk/main/lang/component/etc/component.xsd
===================================================================
--- trunk/main/lang/component/etc/component.xsd 2006-03-08 10:17:16 UTC (rev
1168)
+++ trunk/main/lang/component/etc/component.xsd 2006-03-14 15:58:38 UTC (rev
1169)
@@ -0,0 +1,138 @@
+<?xml version="1.0"?>
+
+<schema xmlns="http://www.w3.org/2001/XMLSchema"
+ xmlns:part="@PART-XSD-URI@"
+ xmlns:common="@COMMON-XSD-URI@"
+ xmlns:this="@PROJECT-XSD-URI@"
+ targetNamespace="@PROJECT-XSD-URI@"
+ elementFormDefault="qualified">
+
+ <import namespace="@COMMON-XSD-URI@" schemaLocation="@COMMON-XSD-URI@"/>
+ <import namespace="@PART-XSD-URI@" schemaLocation="@PART-XSD-URI@"/>
+
+ <element name="component" type="this:component"
substitutionGroup="part:strategy"/>
+ <element name="strategy" type="this:strategy"
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="param" type="part:ValueType"
substitutionGroup="part:param"/>
+ <!--<element name="part" type="this:TaggedComponent"/>-->
+ <element name="parts" type="this:parts"/>
+
+ <complexType name="strategy">
+ <complexContent>
+ <extension base="part:StrategyType">
+ <sequence>
+ <element name="controller" type="this:ControllerType"
minOccurs="0" maxOccurs="1"/>
+ <element name="component" type="this:component" minOccurs="0"
maxOccurs="1"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <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:parts" minOccurs="0"
maxOccurs="1"/>
+ </sequence>
+ <attribute name="name" type="string"/>
+ <attribute name="class" type="string" use="required"/>
+ <attribute name="lifestyle" type="this:lifestyle"/>
+ <attribute name="collection" type="this:collection"/>
+ <attribute name="activation" type="this:activation"/>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <complexType name="ControllerType">
+ <sequence>
+ <element ref="part:param" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="uri" type="string" use="required"/>
+ </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>
+
+ <complexType name="ContextType">
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <element ref="this:entry"/>
+ </choice>
+ </complexType>
+
+ <complexType name="EntryType">
+ <complexContent>
+ <extension base="part:ValueType">
+ <attribute name="key" type="string" use="required"/>
+ <attribute name="lookup" type="string"/> <!-- yukk -->
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <complexType name="parts">
+ <sequence>
+ <!-- <element ref="this:part" minOccurs="0" maxOccurs="unbounded"/>
-->
+ <element name="component" type="this:TaggedComponent" minOccurs="0"
maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+
+ <complexType name="TaggedComponent">
+ <complexContent>
+ <extension base="this:component">
+ <attribute name="key" type="string" use="required"/>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <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>
+
+ <simpleType name="activation">
+ <restriction base="string">
+ <enumeration value="demand"/>
+ <enumeration value="startup"/>
+ <enumeration value="system"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="priority">
+ <restriction base="string">
+ <enumeration value="debug"/>
+ <enumeration value="info"/>
+ <enumeration value="warn"/>
+ <enumeration value="error"/>
+ </restriction>
+ </simpleType>
+
+</schema>
Property changes on: trunk/main/lang/module
___________________________________________________________________
Name: svn:ignore
+ target
Added: trunk/main/lang/module/build.properties
===================================================================
--- trunk/main/lang/module/build.properties 2006-03-08 10:17:16 UTC (rev
1168)
+++ trunk/main/lang/module/build.properties 2006-03-14 15:58:38 UTC (rev
1169)
@@ -0,0 +1,2 @@
+
+project.version = 1.0
Added: trunk/main/lang/module/build.xml
===================================================================
--- trunk/main/lang/module/build.xml 2006-03-08 10:17:16 UTC (rev 1168)
+++ trunk/main/lang/module/build.xml 2006-03-14 15:58:38 UTC (rev 1169)
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+ Copyright 2004-2005 Stephen J McConnell
+ Copyright 2004 Niclas Hedhman
+
+ 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 name="dpml-module" default="install" basedir=".">
+
+ <property name="project.group" value="dpml/lang"/>
+ <property name="project.name" value="dpml-module"/>
+
+ <property file="${basedir}/build.properties"/>
+ <property name="home" value="../.."/>
+ <import file="${home}/bootstrap.xml"/>
+
+ <target name="init" depends="bootstrap.init">
+ <filter token="COMMON-XSD-URI"
value="artifact:xsd:dpml/lang/dpml-common#${project.version}"/>
+ <filter token="PART-XSD-URI"
value="artifact:xsd:dpml/lang/dpml-part#${project.version}"/>
+ <filter token="PROJECT-XSD-URI"
value="artifact:xsd:${project.group}/${project.name}#${project.version}"/>
+ </target>
+
+ <target name="package" depends="bootstrap.package">
+ <property name="targetDir" location="${target.deliverables.dir}/xsds"/>
+ <mkdir dir="${targetDir}"/>
+ <property name="filename"
value="${project.name}-${project.version}.xsd"/>
+ <copy toFile="${targetDir}/${filename}" preservelastmodified="true"
overwrite="true"
+ file="${target.dir}/module.xsd"/>
+ <checksum fileext=".md5" file="${targetDir}/${filename}"/>
+ </target>
+
+</project>
Added: trunk/main/lang/module/etc/module.xsd
===================================================================
--- trunk/main/lang/module/etc/module.xsd 2006-03-08 10:17:16 UTC (rev
1168)
+++ trunk/main/lang/module/etc/module.xsd 2006-03-14 15:58:38 UTC (rev
1169)
@@ -0,0 +1,153 @@
+<?xml version="1.0"?>
+<schema xmlns="http://www.w3.org/2001/XMLSchema"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:this="@PROJECT-XSD-URI@"
+ xmlns:common="@COMMON-XSD-URI@"
+ targetNamespace="@PROJECT-XSD-URI@"
+ elementFormDefault="qualified">
+
+ <import namespace="@COMMON-XSD-URI@" schemaLocation="@COMMON-XSD-URI@"/>
+ <import namespace="@PART-XSD-URI@" schemaLocation="@PART-XSD-URI@"/>
+
+ <element name="library" type="this:LibraryType"/>
+ <element name="module" type="this:ModuleType"/>
+ <element name="project" type="this:ProjectType"/>
+ <element name="resource" type="this:ResourceType"/>
+ <element name="property" type="this:PropertyType"/>
+
+ <complexType name="LibraryType">
+ <sequence>
+ <element name="imports" type="this:ImportsType" minOccurs="0"
maxOccurs="1"/>
+ <element name="properties" type="this:PropertiesType" minOccurs="0"
maxOccurs="1"/>
+ <element name="modules" type="this:ModulesType" minOccurs="0"
maxOccurs="1"/>
+ </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"/>
+ <attribute name="value" type="string"/>
+ </complexType>
+
+ <complexType name="ResourceType">
+ <sequence>
+ <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="3"/>
+ </sequence>
+ <attribute name="name" type="string" use="required"/>
+ <attribute name="version" type="string"/>
+ </complexType>
+
+ <complexType name="ProjectType">
+ <complexContent>
+ <extension base="this:ResourceType">
+ <attribute name="basedir" type="string"/>
+ </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">
+ <sequence>
+ <element ref="common:type" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+
+ <complexType name="GenericType">
+ <complexContent>
+ <extension base="common:AbstractType">
+ <sequence>
+ <element name="property" type="this:PropertyType" minOccurs="0"
maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="id" type="string" use="required"/>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <element name="type" type="this:GenericType"
substitutionGroup="common:type"/>
+
+ <!--
+ <complexType name="part">
+ <complexContent>
+ <extension base="part:StrategyType"/>
+ </complexContent>
+ </complexType>
+
+ <element name="part" type="this:part" substitutionGroup="part:strategy"/>
+ -->
+
+ <complexType name="DependenciesType">
+ <sequence>
+ <element name="include" type="this:IncludeType" minOccurs="0"
maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="scope" type="this:scope" default="runtime"/>
+ </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="urn" type="string"/>
+ <attribute name="tag" type="string"/>
+ </complexType>
+
+ <simpleType name="scope">
+ <restriction base="string">
+ <enumeration value="build"/>
+ <enumeration value="runtime"/>
+ <enumeration value="test"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="tag">
+ <restriction base="string">
+ <enumeration value="system"/>
+ <enumeration value="public"/>
+ <enumeration value="protected"/>
+ <enumeration value="private"/>
+ </restriction>
+ </simpleType>
+
+</schema>
+
Modified: trunk/main/lang/module.xml
===================================================================
--- trunk/main/lang/module.xml 2006-03-08 10:17:16 UTC (rev 1168)
+++ trunk/main/lang/module.xml 2006-03-14 15:58:38 UTC (rev 1169)
@@ -1,12 +1,56 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE module PUBLIC "-//DPML//DTD Library 1.0//EN"
"http://download.dpml.net/dtds/library_1_0.dtd" >
+<module name="lang"
+ xmlns="artifact:xsd:dpml/lang/dpml-module#1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:part="artifact:xsd:dpml/lang/dpml-part#1.0">
+
+ <resource name="dpml-common" version="1.0">
+ <types>
+ <type id="xsd"/>
+ </types>
+ </resource>
+
+ <resource name="dpml-part" version="1.0">
+ <types>
+ <type id="xsd"/>
+ </types>
+ <dependencies scope="build">
+ <include key="dpml-common"/>
+ </dependencies>
+ </resource>
-<module name="lang">
+ <resource name="dpml-state" version="1.0">
+ <types>
+ <type id="xsd"/>
+ </types>
+ </resource>
- <resource name="dpml-part" basedir="part">
+ <resource name="dpml-component" version="1.0">
<types>
<type id="xsd"/>
</types>
+ <dependencies scope="build">
+ <include key="dpml-part"/>
+ </dependencies>
</resource>
-
+
+ <resource name="dpml-type" version="1.0">
+ <types>
+ <type id="xsd"/>
+ </types>
+ <dependencies scope="build">
+ <include key="dpml-state"/>
+ <include key="dpml-component"/>
+ </dependencies>
+ </resource>
+
+ <resource name="dpml-module" version="1.0">
+ <types>
+ <type id="xsd"/>
+ </types>
+ <dependencies scope="build">
+ <include key="dpml-common"/>
+ </dependencies>
+ </resource>
+
</module>
Property changes on: trunk/main/lang/part
___________________________________________________________________
Name: svn:ignore
+ target
Added: trunk/main/lang/part/build.properties
===================================================================
--- trunk/main/lang/part/build.properties 2006-03-08 10:17:16 UTC (rev
1168)
+++ trunk/main/lang/part/build.properties 2006-03-14 15:58:38 UTC (rev
1169)
@@ -0,0 +1,2 @@
+
+project.version = 1.0
Modified: trunk/main/lang/part/build.xml
===================================================================
--- trunk/main/lang/part/build.xml 2006-03-08 10:17:16 UTC (rev 1168)
+++ trunk/main/lang/part/build.xml 2006-03-14 15:58:38 UTC (rev 1169)
@@ -22,11 +22,13 @@
<property name="project.group" value="dpml/lang"/>
<property name="project.name" value="dpml-part"/>
+
<property file="${basedir}/build.properties"/>
<property name="home" value="../.."/>
<import file="${home}/bootstrap.xml"/>
<target name="init" depends="bootstrap.init">
+ <filter token="COMMON-XSD-URI"
value="artifact:xsd:dpml/lang/dpml-common#${project.version}"/>
<filter token="PROJECT-XSD-URI"
value="artifact:xsd:${project.group}/${project.name}#${project.version}"/>
</target>
@@ -36,6 +38,7 @@
<property name="filename"
value="${project.name}-${project.version}.xsd"/>
<copy toFile="${targetDir}/${filename}" preservelastmodified="true"
overwrite="true"
file="${target.dir}/part.xsd"/>
+ <checksum fileext=".md5" file="${targetDir}/${filename}"/>
</target>
</project>
Modified: trunk/main/lang/part/etc/part.xsd
===================================================================
--- trunk/main/lang/part/etc/part.xsd 2006-03-08 10:17:16 UTC (rev 1168)
+++ trunk/main/lang/part/etc/part.xsd 2006-03-14 15:58:38 UTC (rev 1169)
@@ -1,56 +1,65 @@
<?xml version="1.0"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:part="@PROJECT-XSD-URI@"
+ xmlns:this="@PROJECT-XSD-URI@"
+ xmlns:common="@COMMON-XSD-URI@"
targetNamespace="@PROJECT-XSD-URI@"
elementFormDefault="qualified">
- <element name="part" type="part:PartType"/>
+ <import namespace="@COMMON-XSD-URI@" schemaLocation="@COMMON-XSD-URI@"/>
+ <element name="part" type="this:PartType"/>
+ <element name="strategy" type="this:StrategyType"
substitutionGroup="common:type"/>
+ <element name="plugin" type="this:plugin"
substitutionGroup="this:strategy"/>
+ <element name="resource" type="this:resource"
substitutionGroup="this:strategy"/>
+ <element name="param" type="this:ValueType"/>
+
<complexType name="PartType">
<sequence>
- <element name="info" type="part:InfoType" minOccurs="0"
maxOccurs="1"/>
- <element name="strategy" type="part:StrategyType" minOccurs="1"
maxOccurs="1"/>
- <element name="classpath" type="part:ClassPathType" minOccurs="0"
maxOccurs="1"/>
+ <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"/>
+ <complexType name="StrategyType" abstract="true">
+ <complexContent>
+ <extension base="common:AbstractType"/>
+ </complexContent>
+ </complexType>
<complexType name="plugin">
<complexContent>
- <extension base="part:StrategyType">
+ <extension base="this:StrategyType">
<sequence>
- <element name="param" type="part:ValueType" minOccurs="0"
maxOccurs="unbounded"/>
+ <element name="param" type="this:ValueType" minOccurs="0"
maxOccurs="unbounded"/>
</sequence>
- <attribute name="class" type="string"/>
+ <attribute name="class" type="string" use="required"/>
</extension>
</complexContent>
</complexType>
<complexType name="resource">
<complexContent>
- <extension base="part:StrategyType">
- <sequence>
- <element name="urn" type="part:URNType"/>
- <element name="path" type="string"/>
- </sequence>
+ <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="part:ClassLoaderType" minOccurs="0"
maxOccurs="1"/>
- <element name="public" type="part:ClassLoaderType" minOccurs="0"
maxOccurs="1"/>
- <element name="protected" type="part:ClassLoaderType" minOccurs="0"
maxOccurs="1"/>
- <element name="private" type="part:ClassLoaderType" minOccurs="0"
maxOccurs="1"/>
+ <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="part:URIType" minOccurs="0"
maxOccurs="unbounded"/>
+ <element name="uri" type="this:URIType" minOccurs="0"
maxOccurs="unbounded"/>
</sequence>
</complexType>
@@ -75,7 +84,7 @@
<complexType name="ValueType">
<sequence>
- <element name="param" type="part:ValueType" minOccurs="0"
maxOccurs="unbounded"/>
+ <element ref="this:param" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute name="class" type="string"/>
<attribute name="value" type="string"/>
Property changes on: trunk/main/lang/state
___________________________________________________________________
Name: svn:ignore
+ target
Added: trunk/main/lang/state/build.properties
===================================================================
--- trunk/main/lang/state/build.properties 2006-03-08 10:17:16 UTC (rev
1168)
+++ trunk/main/lang/state/build.properties 2006-03-14 15:58:38 UTC (rev
1169)
@@ -0,0 +1,2 @@
+
+project.version = 1.0
Added: trunk/main/lang/state/build.xml
===================================================================
--- trunk/main/lang/state/build.xml 2006-03-08 10:17:16 UTC (rev 1168)
+++ trunk/main/lang/state/build.xml 2006-03-14 15:58:38 UTC (rev 1169)
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+ Copyright 2004-2005 Stephen J McConnell
+ Copyright 2004 Niclas Hedhman
+
+ 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 name="dpml-state" default="install" basedir=".">
+
+ <property name="project.group" value="dpml/lang"/>
+ <property name="project.name" value="dpml-state"/>
+
+ <property file="${basedir}/build.properties"/>
+ <property name="home" value="../.."/>
+ <import file="${home}/bootstrap.xml"/>
+
+ <target name="init" depends="bootstrap.init">
+ <filter token="PROJECT-XSD-URI"
value="artifact:xsd:${project.group}/${project.name}#${project.version}"/>
+ </target>
+
+ <target name="package" depends="bootstrap.package">
+ <property name="targetDir" location="${target.deliverables.dir}/xsds"/>
+ <mkdir dir="${targetDir}"/>
+ <property name="filename"
value="${project.name}-${project.version}.xsd"/>
+ <copy toFile="${targetDir}/${filename}" preservelastmodified="true"
overwrite="true"
+ file="${target.dir}/state.xsd"/>
+ <checksum fileext=".md5" file="${targetDir}/${filename}"/>
+ </target>
+
+</project>
Added: trunk/main/lang/state/etc/state.xsd
===================================================================
--- trunk/main/lang/state/etc/state.xsd 2006-03-08 10:17:16 UTC (rev 1168)
+++ trunk/main/lang/state/etc/state.xsd 2006-03-14 15:58:38 UTC (rev 1169)
@@ -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:state="@PROJECT-XSD-URI@"
+ targetNamespace="@PROJECT-XSD-URI@"
+ elementFormDefault="qualified">
+
+ <element name="state" type="state:GraphType"/>
+ <element name="action" type="state:ActionType"/>
+ <element name="transition" type="state:TransitionType"
substitutionGroup="state:action"/>
+ <element name="operation" type="state:OperationType"
substitutionGroup="state:action"/>
+ <element name="apply" type="state:ApplyType"
substitutionGroup="state:action"/>
+ <element name="exec" type="state:ExecType"
substitutionGroup="state:action"/>
+
+ <complexType name="GraphType">
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <element name="transition" type="state:TransitionType"/>
+ <element name="operation" type="state:OperationType"/>
+ <element name="interface" type="state:InterfaceType"/>
+ <element name="state" type="state:StateType"/>
+ <element name="trigger" type="state:TriggerType"/>
+ </choice>
+ <attribute name="terminal" type="boolean" default="false"/>
+ </complexType>
+
+ <complexType name="StateType">
+ <complexContent>
+ <extension base="state:GraphType">
+ <attribute name="name" type="string" use="required"/>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <complexType name="TriggerType">
+ <sequence>
+ <element ref="state:action" minOccurs="1" maxOccurs="1"/>
+ </sequence>
+ <attribute name="event" type="state:trigger"/>
+ </complexType>
+
+ <complexType name="ActionType" abstract="true"/>
+
+ <complexType name="TransitionType">
+ <complexContent>
+ <extension base="state:ActionType">
+ <sequence>
+ <element name="operation" type="state: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="state:ActionType">
+ <attribute name="name" type="string" use="required"/>
+ <attribute name="method" type="string"/>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <complexType name="InterfaceType">
+ <complexContent>
+ <extension base="state:ActionType">
+ <attribute name="class" type="string" use="required"/>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <complexType name="ApplyType">
+ <complexContent>
+ <extension base="state:ActionType">
+ <attribute name="id" type="string" use="required"/>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <complexType name="ExecType">
+ <complexContent>
+ <extension base="state: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>
Property changes on: trunk/main/lang/type
___________________________________________________________________
Name: svn:ignore
+ target
Added: trunk/main/lang/type/build.properties
===================================================================
--- trunk/main/lang/type/build.properties 2006-03-08 10:17:16 UTC (rev
1168)
+++ trunk/main/lang/type/build.properties 2006-03-14 15:58:38 UTC (rev
1169)
@@ -0,0 +1,2 @@
+
+project.version = 1.0
Added: trunk/main/lang/type/build.xml
===================================================================
--- trunk/main/lang/type/build.xml 2006-03-08 10:17:16 UTC (rev 1168)
+++ trunk/main/lang/type/build.xml 2006-03-14 15:58:38 UTC (rev 1169)
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+ Copyright 2004-2005 Stephen J McConnell
+ Copyright 2004 Niclas Hedhman
+
+ 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 name="dpml-type" default="install" basedir=".">
+
+ <property name="project.group" value="dpml/lang"/>
+ <property name="project.name" value="dpml-type"/>
+
+ <property file="${basedir}/build.properties"/>
+ <property name="home" value="../.."/>
+ <import file="${home}/bootstrap.xml"/>
+
+ <target name="init" depends="bootstrap.init">
+ <filter token="PROJECT-XSD-URI"
value="artifact:xsd:${project.group}/${project.name}#${project.version}"/>
+ <filter token="PART-XSD-URI"
value="artifact:xsd:dpml/lang/dpml-part#1.0"/>
+ <filter token="STATE-XSD-URI"
value="artifact:xsd:dpml/lang/dpml-state#1.0"/>
+ <filter token="COMPONENT-XSD-URI"
value="artifact:xsd:dpml/lang/dpml-component#1.0"/>
+ </target>
+
+ <target name="package" depends="bootstrap.package">
+ <property name="targetDir" location="${target.deliverables.dir}/xsds"/>
+ <mkdir dir="${targetDir}"/>
+ <property name="filename"
value="${project.name}-${project.version}.xsd"/>
+ <copy toFile="${targetDir}/${filename}" preservelastmodified="true"
overwrite="true"
+ file="${target.dir}/type.xsd"/>
+ <checksum fileext=".md5" file="${targetDir}/${filename}"/>
+ </target>
+
+</project>
Added: trunk/main/lang/type/etc/type.xsd
===================================================================
--- trunk/main/lang/type/etc/type.xsd 2006-03-08 10:17:16 UTC (rev 1168)
+++ trunk/main/lang/type/etc/type.xsd 2006-03-14 15:58:38 UTC (rev 1169)
@@ -0,0 +1,120 @@
+<?xml version="1.0"?>
+
+<!--
+Defintion of a component type.
+-->
+
+<schema xmlns="http://www.w3.org/2001/XMLSchema"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:this="@PROJECT-XSD-URI@"
+ xmlns:state="@STATE-XSD-URI@"
+ xmlns:component="@COMPONENT-XSD-URI@"
+ targetNamespace="@PROJECT-XSD-URI@"
+ elementFormDefault="qualified">
+
+ <import namespace="@STATE-XSD-URI@" schemaLocation="@STATE-XSD-URI@"/>
+ <import namespace="@COMPONENT-XSD-URI@"
schemaLocation="@COMPONENT-XSD-URI@"/>
+
+ <element name="type" type="this:TypeDefinition"/>
+ <!--<element name="component" type="component:component"
substitutionGroup="component:component"/>-->
+ <element name="strategy" type="this:strategy"
substitutionGroup="component:strategy"/>
+
+ <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:ContextType" minOccurs="0"
maxOccurs="1"/>
+ <element name="categories" type="this:CategoriesType" minOccurs="0"
maxOccurs="1"/>
+ <element ref="state:state" minOccurs="0" maxOccurs="1"/>
+ <element name="parts" type="component:parts" 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="component:lifestyle"/>
+ <attribute name="collection" type="component:collection"/>
+ <attribute name="threadsafe" type="this:threadsafe"/>
+ </complexType>
+
+ <complexType name="CategoriesType">
+ <sequence>
+ <element name="category" type="this:CategoryType" minOccurs="0"
maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+
+ <complexType name="CategoryType">
+ <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="ContextType">
+ <sequence>
+ <element name="entry" type="this:EntryType" minOccurs="0"
maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+
+ <complexType name="EntryType">
+ <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="PartsType">
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <element ref="this:strategy"/>
+ <element ref="component:part"/>
+ </choice>
+ </complexType>
+ -->
+
+ <complexType name="PropertyType">
+ <attribute name="name" type="string"/>
+ <attribute name="value" type="string"/>
+ </complexType>
+
+ <complexType name="strategy">
+ <complexContent>
+ <extension base="component:strategy"/>
+ </complexContent>
+ </complexType>
+
+ <simpleType name="priority">
+ <restriction base="string">
+ <enumeration value="info"/>
+ <enumeration value="warn"/>
+ <enumeration value="error"/>
+ <enumeration value="debug"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="threadsafe">
+ <restriction base="string">
+ <enumeration value="true"/>
+ <enumeration value="false"/>
+ <enumeration value="unknown"/>
+ </restriction>
+ </simpleType>
+
+</schema>
- r1169 - in trunk/main/lang: . common common/etc component component/etc module module/etc part part/etc state state/etc type type/etc, mcconnell at BerliOS, 03/14/2006
Archive powered by MHonArc 2.6.24.