<?xml version="1.0" encoding="utf-8" ?>
<!--Created with Liquid XML Studio - FREE Community Edition 7.0.5.906 (http://www.liquid-technologies.com)-->
<!-- edited with XMLSPY v2004 rel. 2 U (http://www.xmlspy.com) by Andi Hotz (SAHITS) -->
<!--W3C Schema generated by XMLSPY v2004 rel. 2 U (http://www.xmlspy.com)-->
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="class">
<xs:complexType>
<xs:sequence>
<xs:element ref="interface" />
</xs:sequence>
<xs:attribute name="name" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[a-zA-Z]*[a-zA-Z_0-9]*" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="package" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[a-zA-Z]*[\.a-zA-Z_0-9]*" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="superclass" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[a-zA-Z]*[\.a-zA-Z_0-9]*" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="abstract" type="xs:boolean" use="required" />
<xs:attribute name="final" type="xs:boolean" use="required" />
<xs:attribute name="visibility" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="PUBLIC" />
<xs:enumeration value="PROTECTED" />
<xs:enumeration value="PACKAGE" />
<xs:enumeration value="DEFAULT" />
<xs:enumeration value="PRIVATE" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="database">
<xs:complexType>
<xs:sequence>
<xs:element ref="port" />
<xs:element ref="host" />
<xs:element ref="dbname" />
<xs:element ref="username" />
<xs:element ref="password" />
<xs:element ref="tablename" />
<xs:element ref="schema" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="databaseproduct" type="xs:string" />
<xs:element name="dbname" type="xs:string" />
<xs:element name="generatedclass">
<xs:complexType>
<xs:sequence>
<xs:element ref="srcFolder" />
<xs:element ref="class" />
<xs:element ref="generation" />
<xs:element ref="database" />
</xs:sequence>
<xs:attribute name="version" use="required">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<!-- <xs:enumeration value="1.0" />
<xs:enumeration value="1.1" />-->
<xs:enumeration value="2.0" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="generation">
<xs:complexType>
<xs:sequence>
<xs:element ref="inputfile" />
<xs:element ref="jetemplate" />
<xs:element ref="generator" />
<xs:element ref="referenceImplementation" />
<xs:element ref="databaseproduct" />
</xs:sequence>
<xs:attribute name="type" type="xs:string" use="required" />
<xs:attribute name="base" type="xs:string" use="required" />
<xs:attribute name="genClass" use="optional">
<!-- optional iff base is 1 or 2 -->
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[a-zA-Z]*[\.a-zA-Z_0-9]*" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="generator">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="inPlugin" type="xs:boolean" use="optional" />
<xs:attribute name="pluginID" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[a-zA-Z]*[\.a-zA-Z_0-9]*" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="host" type="xs:string" />
<xs:element name="inputfile" type="xs:string" />
<xs:element name="interface">
<xs:complexType>
<xs:attribute name="class" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[a-zA-Z]*[\.a-zA-Z_0-9]*" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="jetemplate">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="inPlugin" type="xs:boolean" use="optional" />
<xs:attribute name="pluginID" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[a-zA-Z]*[\.a-zA-Z_0-9]*" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="password" type="xs:string" />
<xs:element name="port" type="xs:int" />
<xs:element name="referenceImplementation">
<xs:complexType>
<xs:attribute name="pluginID" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[a-zA-Z]*[\.a-zA-Z_0-9]*" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="srcFolder">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="path" type="xs:string" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="tablename" type="xs:string" />
<xs:element name="username" type="xs:string" />
<xs:element name="schema">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[a-zA-Z]*" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:schema>