Author: gk
Date: Thu Jun 22 08:32:17 2023
New Revision: 1083460

Log:
- add missing schemas (legacy + in folder xsd)

Added:
    sites/db/content/torque/torque-4.0/generator/
    sites/db/content/torque/torque-4.0/generator/configuration.xsd
    sites/db/content/torque/xsd/configuration.xsd
    sites/db/content/torque/xsd/outlet.xsd

Added: sites/db/content/torque/torque-4.0/generator/configuration.xsd
==============================================================================
--- sites/db/content/torque/torque-4.0/generator/configuration.xsd (added)
+++ sites/db/content/torque/torque-4.0/generator/configuration.xsd Thu Jun 22 
08:32:17 2023
@@ -0,0 +1,340 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+<schema xmlns="http://www.w3.org/2001/XMLSchema"; 
+    
xmlns:configuration="http://db.apache.org/torque/4.0/generator/configuration";
+    targetNamespace="http://db.apache.org/torque/4.0/generator/configuration";
+    elementFormDefault="qualified"
+    attributeFormDefault="unqualified">
+
+  <!--  use HTTP location, will be resolved locally by entity resolver -->
+  <include 
schemaLocation="http://db.apache.org/torque/4.0/generator/outlet.xsd"/>
+
+  <simpleType name="loglevelType">
+    <annotation>
+      <documentation>
+        The possible log levels for the generator.
+      </documentation>
+    </annotation>
+    <restriction base="string">
+      <enumeration value="trace"/>
+      <enumeration value="debug"/>
+      <enumeration value="info"/>
+      <enumeration value="warn"/>
+      <enumeration value="error"/>
+    </restriction>
+  </simpleType>
+  
+  <complexType name="baseOptions" abstract="true">
+    <annotation>
+      <documentation>
+        A reference to a options file.
+      </documentation>
+    </annotation>
+  </complexType>
+
+  <complexType name="xmlOptions">
+    <annotation>
+      <documentation>
+        A reference to a options file in java properties XML format.
+        See the javadoc of java.util.Properties for more information about
+        this format.
+      </documentation>
+    </annotation>
+    <complexContent>
+      <extension base="configuration:baseOptions">
+        <sequence>
+          <any processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
+        </sequence>
+        <attribute name="path" type="string" use="required"/>
+      </extension>
+    </complexContent>
+  </complexType>
+
+  <complexType name="propertiesOptions">
+    <annotation>
+      <documentation>
+        A reference to a options file in java properties format (key=value).
+      </documentation>
+    </annotation>
+    <complexContent>
+      <extension base="configuration:baseOptions">
+        <sequence>
+          <any processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
+        </sequence>
+        <attribute name="path" type="string" use="required"/>
+      </extension>
+    </complexContent>
+  </complexType>
+
+  <complexType name="entityReference">
+    <annotation>
+      <documentation>
+        Where to find external resources which are referenced by a key.
+        Typically this will be XSD files where the key is the systemId.
+      </documentation>
+    </annotation>
+    <attribute name="systemId" type="string" use="required"/>
+    <attribute name="resource" type="string" use="required"/>
+  </complexType>
+
+  <complexType name="output">
+    <sequence>
+      <element name="filenameOutlet" type="configuration:baseOutlet" 
minOccurs="0"/>
+      <element name="source" type="configuration:source"/>
+      <element name="outlet" type="configuration:outletReference"/>
+      <element name="postprocessor" type="configuration:postprocessor" 
minOccurs="0" maxOccurs="unbounded"/>
+    </sequence>
+    <attribute name="name" type="string" use="required">
+      <annotation>
+        <documentation>
+          The name by which this output can be identified.
+          Must be unique over one project.
+        </documentation>
+      </annotation>
+    </attribute>
+    <attribute name="file" type="string" use="optional">
+      <annotation>
+        <documentation>
+          Contains the name of the generated file.
+          Relative paths are relative to the target directory.
+          If the file name is not fixed, omit this attribute and use
+          the child element filenameOutlet instead.
+        </documentation>
+      </annotation>
+    </attribute>
+    <attribute name="encoding" type="string" use="optional">
+      <annotation>
+        <documentation>
+          The character encoding in which this file is written.
+          Default is the platform's default encoding.
+        </documentation>
+      </annotation>
+    </attribute>
+    <attribute name="existingTargetStrategy" use="optional">
+      <annotation>
+        <documentation>
+          What to do when a file which is about to be generated already exists.
+          Default is "replace".
+        </documentation>
+      </annotation>
+      <simpleType>
+        <restriction base="string">
+          <enumeration value="replace"/>
+          <enumeration value="skip"/>
+          <enumeration value="append"/>
+          <enumeration value="merge"/>
+        </restriction>
+      </simpleType>
+    </attribute>
+    <attribute name="type" use="optional">
+      <annotation>
+        <documentation>
+          The type of the output, e.g. java, html, xml, unknown.
+          Default is "unknown"
+        </documentation>
+      </annotation>
+      <simpleType>
+        <restriction base="string">
+          <enumeration value="java"/>
+          <enumeration value="html"/>
+          <enumeration value="xml"/>
+          <enumeration value="properties"/>
+          <enumeration value="unknown"/>
+        </restriction>
+      </simpleType>
+    </attribute>
+    <attribute name="outputDirKey" type="string" use="optional">
+      <annotation>
+        <documentation>
+          The key for the base directory into which the output is written
+          (The corresponding directory for the key is defined when running
+          the generator).
+          If not set, the default targetDirKey is used.
+        </documentation>
+      </annotation>
+    </attribute>
+  </complexType>
+  
+  <complexType name="source" abstract="true">
+    <annotation>
+      <documentation>
+        A collection of sources for a generation process.
+        Typically this will be one or more files, but can virtually be 
anything.
+      </documentation>
+    </annotation>
+    <sequence>
+      <element name="transformer" type="configuration:transformer" 
minOccurs="0" maxOccurs="unbounded">
+        <annotation>
+          <documentation>
+            The transformers which are applied to the source.
+            Transformers transform (change) the source graph before generation
+            starts.
+          </documentation>
+        </annotation>
+      </element>
+    </sequence>
+    <attribute name="elements" type="string" use="optional">
+      <annotation>
+        <documentation>
+          The path to the source elements for which an own output file should
+          be created.
+        </documentation>
+      </annotation>
+    </attribute>
+    <attribute name="skipDecider" type="string" use="optional">
+      <annotation>
+        <documentation>
+          The fully qualified class name of a java class implementing the
+          org.apache.torque.generator.source.skipDecider.SkipDecider
+          interface. This class decides whether to proceed
+          with the current generation or not after the source has been loaded.
+        </documentation>
+      </annotation>
+    </attribute>
+  </complexType>
+  
+  <complexType name="fileSource">
+    <annotation>
+      <documentation>
+        A collection of source files.
+      </documentation>
+    </annotation>
+    <complexContent>
+      <extension base="configuration:source">
+        <sequence>
+          <element name="include" type="string" minOccurs="0" 
maxOccurs="unbounded"/>
+          <element name="exclude" type="string" minOccurs="0" 
maxOccurs="unbounded"/>
+        </sequence>
+        <attribute name="format" type="string" use="optional"/>
+        <attribute name="combineFiles" type="boolean" use="optional">
+          <annotation>
+            <documentation>
+              Whether to combine all source files in a single source tree.
+              Default is false. If true, the name of the source tree's root
+              element will be source. Each loaded source file will be put
+              into a child element with element name file. The root element
+              of the single file will be the only child element of the file
+              element. The name of the file will be put into the attribute 
+              path of the file element.
+            </documentation>
+          </annotation>
+        </attribute>
+      </extension>
+    </complexContent>
+  </complexType>
+
+  <complexType name="jdbcMetadataSource">
+    <annotation>
+      <documentation>
+        A source read from the jbdc metadata of a database.
+      </documentation>
+    </annotation>
+    <complexContent>
+      <extension base="configuration:source">
+        <attribute name="driverOption" type="string" use="required"/>
+        <attribute name="urlOption" type="string" use="required"/>
+        <attribute name="usernameOption" type="string" use="optional"/>
+        <attribute name="passwordOption" type="string" use="optional"/>
+        <attribute name="schemaOption" type="string" use="optional"/>
+      </extension>
+    </complexContent>
+  </complexType>
+
+  <complexType name="transformer">
+    <annotation>
+      <documentation>
+        Configures a transformer which transforms the source tree before
+        generation starts. The transformer can be configured by adding
+        nested elements where the element name is the property name
+        and the text content the property value.
+      </documentation>
+    </annotation>
+    <sequence>
+      <any processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
+    </sequence>
+    <attribute name="class" type="string" use="required">
+      <annotation>
+        <documentation>
+          The fully qualified class name of a java class implementing the
+          org.apache.torque.generator.source.transform.SourceTransformer
+          interface. Instances of this interface transform (change)
+          the source graph.
+        </documentation>
+      </annotation>
+    </attribute>
+  </complexType>
+
+  <complexType name="outletReference">
+    <annotation>
+      <documentation>
+        Points to an outlet defined in the outlet definition directory.
+      </documentation>
+    </annotation>
+    <attribute name="name" type="string" use="required"/>
+  </complexType>
+
+  <complexType name="postprocessor">
+    <annotation>
+      <documentation>
+        Configures a postprocessor which transforms the generated output
+        after the generation. The postprocessor can be configured by adding
+        nested elements where the element name is the property name
+        and the text content the property value.
+      </documentation>
+    </annotation>
+    <sequence>
+      <any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+    </sequence>
+    <attribute name="class" type="string" use="required">
+      <annotation>
+        <documentation>
+          The fully qualified class name of a java class implementing the
+          org.apache.torque.generator.processor.string.StringProcessor
+          interface. Instances of this interface can process strings,
+          in this case the generated content is transformed.
+        </documentation>
+      </annotation>
+    </attribute>
+  </complexType>
+
+  <element name="control">
+    <annotation>
+      <documentation>
+        The root element of the control configuration.
+      </documentation>
+    </annotation>
+    <complexType>
+      <sequence>
+        <element name="options" type="configuration:baseOptions" minOccurs="0" 
maxOccurs="unbounded"/>
+        <element name="entityReference" type="configuration:entityReference" 
minOccurs="0" maxOccurs="unbounded"/>
+        <element name="output" type="configuration:output" minOccurs="0" 
maxOccurs="unbounded"/>
+      </sequence>
+      <attribute name="loglevel" type="configuration:loglevelType" 
use="optional">
+        <annotation>
+          <documentation>
+            The loglevel defines the log level during the generation process.
+            The default loglevel is info.
+          </documentation>
+        </annotation>
+      </attribute>
+    </complexType>
+  </element>
+</schema>
\ No newline at end of file

Added: sites/db/content/torque/xsd/configuration.xsd
==============================================================================
--- sites/db/content/torque/xsd/configuration.xsd (added)
+++ sites/db/content/torque/xsd/configuration.xsd Thu Jun 22 08:32:17 2023
@@ -0,0 +1,340 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+<schema xmlns="http://www.w3.org/2001/XMLSchema"; 
+    
xmlns:configuration="http://db.apache.org/torque/4.0/generator/configuration";
+    targetNamespace="http://db.apache.org/torque/4.0/generator/configuration";
+    elementFormDefault="qualified"
+    attributeFormDefault="unqualified">
+
+  <!--  use HTTP location, will be resolved locally by entity resolver -->
+  <include 
schemaLocation="http://db.apache.org/torque/4.0/generator/outlet.xsd"/>
+
+  <simpleType name="loglevelType">
+    <annotation>
+      <documentation>
+        The possible log levels for the generator.
+      </documentation>
+    </annotation>
+    <restriction base="string">
+      <enumeration value="trace"/>
+      <enumeration value="debug"/>
+      <enumeration value="info"/>
+      <enumeration value="warn"/>
+      <enumeration value="error"/>
+    </restriction>
+  </simpleType>
+  
+  <complexType name="baseOptions" abstract="true">
+    <annotation>
+      <documentation>
+        A reference to a options file.
+      </documentation>
+    </annotation>
+  </complexType>
+
+  <complexType name="xmlOptions">
+    <annotation>
+      <documentation>
+        A reference to a options file in java properties XML format.
+        See the javadoc of java.util.Properties for more information about
+        this format.
+      </documentation>
+    </annotation>
+    <complexContent>
+      <extension base="configuration:baseOptions">
+        <sequence>
+          <any processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
+        </sequence>
+        <attribute name="path" type="string" use="required"/>
+      </extension>
+    </complexContent>
+  </complexType>
+
+  <complexType name="propertiesOptions">
+    <annotation>
+      <documentation>
+        A reference to a options file in java properties format (key=value).
+      </documentation>
+    </annotation>
+    <complexContent>
+      <extension base="configuration:baseOptions">
+        <sequence>
+          <any processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
+        </sequence>
+        <attribute name="path" type="string" use="required"/>
+      </extension>
+    </complexContent>
+  </complexType>
+
+  <complexType name="entityReference">
+    <annotation>
+      <documentation>
+        Where to find external resources which are referenced by a key.
+        Typically this will be XSD files where the key is the systemId.
+      </documentation>
+    </annotation>
+    <attribute name="systemId" type="string" use="required"/>
+    <attribute name="resource" type="string" use="required"/>
+  </complexType>
+
+  <complexType name="output">
+    <sequence>
+      <element name="filenameOutlet" type="configuration:baseOutlet" 
minOccurs="0"/>
+      <element name="source" type="configuration:source"/>
+      <element name="outlet" type="configuration:outletReference"/>
+      <element name="postprocessor" type="configuration:postprocessor" 
minOccurs="0" maxOccurs="unbounded"/>
+    </sequence>
+    <attribute name="name" type="string" use="required">
+      <annotation>
+        <documentation>
+          The name by which this output can be identified.
+          Must be unique over one project.
+        </documentation>
+      </annotation>
+    </attribute>
+    <attribute name="file" type="string" use="optional">
+      <annotation>
+        <documentation>
+          Contains the name of the generated file.
+          Relative paths are relative to the target directory.
+          If the file name is not fixed, omit this attribute and use
+          the child element filenameOutlet instead.
+        </documentation>
+      </annotation>
+    </attribute>
+    <attribute name="encoding" type="string" use="optional">
+      <annotation>
+        <documentation>
+          The character encoding in which this file is written.
+          Default is the platform's default encoding.
+        </documentation>
+      </annotation>
+    </attribute>
+    <attribute name="existingTargetStrategy" use="optional">
+      <annotation>
+        <documentation>
+          What to do when a file which is about to be generated already exists.
+          Default is "replace".
+        </documentation>
+      </annotation>
+      <simpleType>
+        <restriction base="string">
+          <enumeration value="replace"/>
+          <enumeration value="skip"/>
+          <enumeration value="append"/>
+          <enumeration value="merge"/>
+        </restriction>
+      </simpleType>
+    </attribute>
+    <attribute name="type" use="optional">
+      <annotation>
+        <documentation>
+          The type of the output, e.g. java, html, xml, unknown.
+          Default is "unknown"
+        </documentation>
+      </annotation>
+      <simpleType>
+        <restriction base="string">
+          <enumeration value="java"/>
+          <enumeration value="html"/>
+          <enumeration value="xml"/>
+          <enumeration value="properties"/>
+          <enumeration value="unknown"/>
+        </restriction>
+      </simpleType>
+    </attribute>
+    <attribute name="outputDirKey" type="string" use="optional">
+      <annotation>
+        <documentation>
+          The key for the base directory into which the output is written
+          (The corresponding directory for the key is defined when running
+          the generator).
+          If not set, the default targetDirKey is used.
+        </documentation>
+      </annotation>
+    </attribute>
+  </complexType>
+  
+  <complexType name="source" abstract="true">
+    <annotation>
+      <documentation>
+        A collection of sources for a generation process.
+        Typically this will be one or more files, but can virtually be 
anything.
+      </documentation>
+    </annotation>
+    <sequence>
+      <element name="transformer" type="configuration:transformer" 
minOccurs="0" maxOccurs="unbounded">
+        <annotation>
+          <documentation>
+            The transformers which are applied to the source.
+            Transformers transform (change) the source graph before generation
+            starts.
+          </documentation>
+        </annotation>
+      </element>
+    </sequence>
+    <attribute name="elements" type="string" use="optional">
+      <annotation>
+        <documentation>
+          The path to the source elements for which an own output file should
+          be created.
+        </documentation>
+      </annotation>
+    </attribute>
+    <attribute name="skipDecider" type="string" use="optional">
+      <annotation>
+        <documentation>
+          The fully qualified class name of a java class implementing the
+          org.apache.torque.generator.source.skipDecider.SkipDecider
+          interface. This class decides whether to proceed
+          with the current generation or not after the source has been loaded.
+        </documentation>
+      </annotation>
+    </attribute>
+  </complexType>
+  
+  <complexType name="fileSource">
+    <annotation>
+      <documentation>
+        A collection of source files.
+      </documentation>
+    </annotation>
+    <complexContent>
+      <extension base="configuration:source">
+        <sequence>
+          <element name="include" type="string" minOccurs="0" 
maxOccurs="unbounded"/>
+          <element name="exclude" type="string" minOccurs="0" 
maxOccurs="unbounded"/>
+        </sequence>
+        <attribute name="format" type="string" use="optional"/>
+        <attribute name="combineFiles" type="boolean" use="optional">
+          <annotation>
+            <documentation>
+              Whether to combine all source files in a single source tree.
+              Default is false. If true, the name of the source tree's root
+              element will be source. Each loaded source file will be put
+              into a child element with element name file. The root element
+              of the single file will be the only child element of the file
+              element. The name of the file will be put into the attribute 
+              path of the file element.
+            </documentation>
+          </annotation>
+        </attribute>
+      </extension>
+    </complexContent>
+  </complexType>
+
+  <complexType name="jdbcMetadataSource">
+    <annotation>
+      <documentation>
+        A source read from the jbdc metadata of a database.
+      </documentation>
+    </annotation>
+    <complexContent>
+      <extension base="configuration:source">
+        <attribute name="driverOption" type="string" use="required"/>
+        <attribute name="urlOption" type="string" use="required"/>
+        <attribute name="usernameOption" type="string" use="optional"/>
+        <attribute name="passwordOption" type="string" use="optional"/>
+        <attribute name="schemaOption" type="string" use="optional"/>
+      </extension>
+    </complexContent>
+  </complexType>
+
+  <complexType name="transformer">
+    <annotation>
+      <documentation>
+        Configures a transformer which transforms the source tree before
+        generation starts. The transformer can be configured by adding
+        nested elements where the element name is the property name
+        and the text content the property value.
+      </documentation>
+    </annotation>
+    <sequence>
+      <any processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
+    </sequence>
+    <attribute name="class" type="string" use="required">
+      <annotation>
+        <documentation>
+          The fully qualified class name of a java class implementing the
+          org.apache.torque.generator.source.transform.SourceTransformer
+          interface. Instances of this interface transform (change)
+          the source graph.
+        </documentation>
+      </annotation>
+    </attribute>
+  </complexType>
+
+  <complexType name="outletReference">
+    <annotation>
+      <documentation>
+        Points to an outlet defined in the outlet definition directory.
+      </documentation>
+    </annotation>
+    <attribute name="name" type="string" use="required"/>
+  </complexType>
+
+  <complexType name="postprocessor">
+    <annotation>
+      <documentation>
+        Configures a postprocessor which transforms the generated output
+        after the generation. The postprocessor can be configured by adding
+        nested elements where the element name is the property name
+        and the text content the property value.
+      </documentation>
+    </annotation>
+    <sequence>
+      <any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+    </sequence>
+    <attribute name="class" type="string" use="required">
+      <annotation>
+        <documentation>
+          The fully qualified class name of a java class implementing the
+          org.apache.torque.generator.processor.string.StringProcessor
+          interface. Instances of this interface can process strings,
+          in this case the generated content is transformed.
+        </documentation>
+      </annotation>
+    </attribute>
+  </complexType>
+
+  <element name="control">
+    <annotation>
+      <documentation>
+        The root element of the control configuration.
+      </documentation>
+    </annotation>
+    <complexType>
+      <sequence>
+        <element name="options" type="configuration:baseOptions" minOccurs="0" 
maxOccurs="unbounded"/>
+        <element name="entityReference" type="configuration:entityReference" 
minOccurs="0" maxOccurs="unbounded"/>
+        <element name="output" type="configuration:output" minOccurs="0" 
maxOccurs="unbounded"/>
+      </sequence>
+      <attribute name="loglevel" type="configuration:loglevelType" 
use="optional">
+        <annotation>
+          <documentation>
+            The loglevel defines the log level during the generation process.
+            The default loglevel is info.
+          </documentation>
+        </annotation>
+      </attribute>
+    </complexType>
+  </element>
+</schema>
\ No newline at end of file

Added: sites/db/content/torque/xsd/outlet.xsd
==============================================================================
--- sites/db/content/torque/xsd/outlet.xsd (added)
+++ sites/db/content/torque/xsd/outlet.xsd Thu Jun 22 08:32:17 2023
@@ -0,0 +1,170 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+<schema xmlns="http://www.w3.org/2001/XMLSchema"; 
+    
xmlns:configuration="http://db.apache.org/torque/4.0/generator/configuration";
+    targetNamespace="http://db.apache.org/torque/4.0/generator/configuration";
+    elementFormDefault="qualified"
+    attributeFormDefault="unqualified">
+
+  <element name="outlets">
+    <complexType>
+      <sequence>
+        <element name="outlet" type="configuration:baseOutlet" 
maxOccurs="unbounded"/>
+        <!-- 
+          The mergepoints defined here must be fully qualified with the name 
of the outlet.
+          The mergepoint must already be known at this time. This is only 
ensured if the
+          outlet is defined in the same file (then the definition of the 
mergepoint
+          outside the outlet does not make sense) or in a parent module.
+          The mergepoint definition here overrides any previous definition.
+         -->
+        <element name="mergepoint" type="configuration:mergepoint" 
minOccurs="0" maxOccurs="unbounded"/>
+      </sequence>
+    </complexType>
+  </element>
+
+  <complexType name="baseOutlet" abstract="true">
+    <sequence>
+      <element name="input" type="configuration:input" minOccurs="0"/>
+      <element name="mergepoint" type="configuration:mergepoint" minOccurs="0" 
maxOccurs="unbounded" />
+    </sequence>
+    <!--  
+      name can be optional, e.g. for filenameOutlets and for template outlets.
+    -->
+    <attribute name="name" type="string" use="optional"/>
+  </complexType>
+
+  <complexType name="javaOutlet">
+    <complexContent>
+      <extension base="configuration:baseOutlet">
+        <sequence>
+          <any processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
+        </sequence>
+        <attribute name="class" type="string" use="required"/>
+      </extension>
+    </complexContent>
+  </complexType>
+
+  <complexType name="velocityOutlet">
+    <complexContent>
+      <extension base="configuration:baseOutlet">
+        <attribute name="path" type="string" use="required"/>
+        <attribute name="optionsInContext" type="string" use="optional"/>
+        <attribute name="sourceAttributesInContext" type="string" 
use="optional"/>
+        <attribute name="variablesInContext" type="string" use="optional"/>
+        <attribute name="encoding" type="string" use="optional"/>
+      </extension>
+    </complexContent>
+  </complexType>
+  
+  <complexType name="groovyOutlet">
+    <complexContent>
+      <extension base="configuration:baseOutlet">
+        <attribute name="path" type="string" use="required"/>
+        <attribute name="optionsInBinding" type="string" use="optional"/>
+        <attribute name="sourceAttributesInBinding" type="string" 
use="optional"/>
+        <attribute name="variablesInBinding" type="string" use="optional"/>
+        <attribute name="encoding" type="string" use="optional"/>
+        <!-- 
+          Whether the outlet is a script(false) or template (true) 
+          If not set, the type is retrieved from the path ending. 
+          If the path ends with ".groovy" it is a script,
+          in all other cases it is a template;
+          -->
+        <attribute name="template" type="boolean" use="optional"/>
+      </extension>
+    </complexContent>
+  </complexType>
+  
+  <complexType name="copyOutlet">
+    <complexContent>
+      <extension base="configuration:baseOutlet">
+        <attribute name="path" type="string" use="required"/>
+      </extension>
+    </complexContent>
+  </complexType>
+  
+  <!-- Defines the input accepted by the outlet.
+    Either the name of a source element (in case of an untyped model)
+    or the class name of a model class (in the case of a typed model)
+    must be given.
+  -->
+  <complexType name="input">
+    <!-- Exactly one of the attributes must be set -->
+    <attribute name="elementName" use="optional" />
+    <attribute name="class" use="optional" />
+  </complexType>
+
+  <complexType name="mergepoint">
+    <sequence>
+      <element name="action" type="configuration:baseAction" minOccurs="0" 
maxOccurs="unbounded" /> 
+    </sequence>
+    <attribute name="name" use="required" />
+  </complexType>
+
+  <complexType name="baseAction" abstract="true">
+  </complexType>
+
+  <complexType name="applyAction">
+    <complexContent>
+      <extension base="configuration:baseAction">
+        <attribute name="outlet" type="string" use="required"/>
+        <attribute name="acceptNotSet" type="boolean" use="optional"/>
+      </extension>
+    </complexContent>
+  </complexType>
+
+  <complexType name="optionAction">
+    <complexContent>
+      <extension base="configuration:baseAction">
+        <attribute name="option" type="string" use="required"/>
+        <attribute name="acceptNotSet" type="boolean" use="optional"/>
+      </extension>
+    </complexContent>
+  </complexType>
+
+  <complexType name="outputAction">
+    <complexContent>
+      <extension base="configuration:baseAction">
+        <attribute name="value" type="string" use="required"/>
+      </extension>
+    </complexContent>
+  </complexType>
+
+  <complexType name="sourceElementAttributeAction">
+    <complexContent>
+      <extension base="configuration:baseAction">
+        <attribute name="element" type="string" use="required"/>
+        <attribute name="attribute" type="string" use="optional"/>
+        <attribute name="acceptNotSet" type="boolean" use="optional"/>
+      </extension>
+    </complexContent>
+  </complexType>
+
+  <complexType name="traverseAllAction">
+    <complexContent>
+      <extension base="configuration:baseAction">
+        <attribute name="element" type="string" use="required"/>
+        <attribute name="outlet" type="string" use="required"/>
+      </extension>
+    </complexContent>
+  </complexType>
+
+</schema>
\ No newline at end of file


Reply via email to