B Java Server Configuration Schema File Version 2.0
The following code sample illustrates the Java Server configuration XML schema version 2.0.
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="TJSconfig">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="1" ref="java-config" />
<xs:element minOccurs="0" maxOccurs="1" ref="tux-config" />
<xs:element minOccurs="0" maxOccurs="1" ref="classpath-config" />
<xs:element minOccurs="0" maxOccurs="1" ref="tux-resources" />
<xs:element minOccurs="0" maxOccurs="1" ref="jdbc-resources" />
<xs:element minOccurs="0" maxOccurs="1" ref="jdbc-connection-pool" />
<xs:element minOccurs="1" maxOccurs="1" ref="tux-server-config" />
</xs:sequence>
<xs:attribute name="version" use="optional">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="2.0" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="java-config">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="jvm-options" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="jvm-options">
<xs:simpleType>
<xs:annotation>
<xs:documentation>255-chars string only</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:minLength value="2" />
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="tux-config">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="server-clopt" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="server-clopt">
<xs:simpleType>
<xs:annotation>
<xs:documentation>255-chars string only</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:minLength value="2" />
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="classpath-config">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="classpath" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="classpath">
<xs:simpleType>
<xs:annotation>
<xs:documentation>511-chars string only</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:minLength value="0" />
<xs:maxLength value="511" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="tux-resources">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="classpath" />
<xs:element minOccurs="0" maxOccurs="unbounded" ref="fld-tbl16-class" />
<xs:element minOccurs="0" maxOccurs="unbounded" ref="fld-tbl32-class" />
<xs:element minOccurs="0" maxOccurs="unbounded" ref="view16-class" />
<xs:element minOccurs="0" maxOccurs="unbounded" ref="view32-class" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="view32-class">
<xs:simpleType>
<xs:annotation>
<xs:documentation>127-chars string only</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="127" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="view16-class">
<xs:simpleType>
<xs:annotation>
<xs:documentation>127-chars string only</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="127" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="fld-tbl32-class">
<xs:simpleType>
<xs:annotation>
<xs:documentation>127-chars string only</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="127" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="fld-tbl16-class">
<xs:simpleType>
<xs:annotation>
<xs:documentation>127-chars string only</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="127" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="jdbc-resources">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="1" ref="data-source" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="data-source">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="classpath" />
<xs:element minOccurs="1" maxOccurs="1" ref="datasource-classname" />
<xs:element minOccurs="1" maxOccurs="1" ref="res-type" />
<xs:element minOccurs="1" maxOccurs="1" ref="driver-params" />
</xs:sequence>
<xs:attribute name="vendor" use="required">
<xs:simpleType>
<xs:annotation>
<xs:documentation>31-chars string only</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="31" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="pool-name" use="optional">
<xs:simpleType>
<xs:annotation>
<xs:documentation>63-chars string only</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="63" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="object-type" use="optional">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="usr" />
<xs:enumeration value="sys" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="jndi-name" use="optional">
<xs:simpleType>
<xs:annotation>
<xs:documentation>63-chars string only</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="63" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="enabled" use="optional" type="xs:boolean" default="true" />
<xs:attribute name="driver-type" use="required">
<xs:simpleType>
<xs:annotation>
<xs:documentation>31-chars string only</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="31" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="datasource-classname">
<xs:simpleType>
<xs:annotation>
<xs:documentation>255-chars string only</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="res-type">
<xs:simpleType>
<xs:annotation>
<xs:documentation>255-chars string only</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="driver-params">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="1" ref="connection-url" />
<xs:element minOccurs="0" maxOccurs="unbounded" ref="property" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="connection-url">
<xs:simpleType>
<xs:annotation>
<xs:documentation>511-chars string only</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="511" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="property">
<xs:complexType>
<xs:attribute name="name" use="optional">
<xs:simpleType>
<xs:annotation>
<xs:documentation>63-chars string only</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="31" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="value" use="optional">
<xs:simpleType>
<xs:annotation>
<xs:documentation>127-chars string only</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="127" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="jdbc-connection-pool" type="xs:string" />
<xs:element name="tux-server-config">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="classpath" />
<xs:element minOccurs="1" maxOccurs="unbounded" ref="server-class" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="server-class">
<xs:complexType mixed="true">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="services" />
</xs:sequence>
<xs:attribute name="name" use="required">
<xs:simpleType>
<xs:annotation>
<xs:documentation>255-chars string only</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="services">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="service" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="service">
<xs:complexType>
<xs:attribute name="name" use="required">
<xs:simpleType>
<xs:annotation>
<xs:documentation>127-chars string only</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="127" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="target" use="required">
<xs:simpleType>
<xs:annotation>
<xs:documentation>255-chars string only</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:schema>