Index: /trunk/src/xml/schema/simple-types.xsd
===================================================================
--- /trunk/src/xml/schema/simple-types.xsd (revision 1612)
+++ /trunk/src/xml/schema/simple-types.xsd (revision 1614)
@@ -9,9 +9,9 @@
     <xs:complexType name="simpleTypes">
         <xs:sequence>
-            <xs:element name="typeSafeEnumerations" type="typeSafeEnumerations"/>
-            <xs:element name="restrictedStrings" type="restrictedStrings"/>
-            <xs:element name="restrictedLongs" type="restrictedLongs"/>
-            <xs:element name="fixPointNumbers" type="fixPointNumbers"/>
-            <xs:element name="valueObjects" type="valueObjects"/>
+            <xs:element name="typeSafeEnumerations" type="typeSafeEnumerations" minOccurs="0"/>
+            <xs:element name="restrictedStrings" type="restrictedStrings" minOccurs="0"/>
+            <xs:element name="restrictedLongs" type="restrictedLongs" minOccurs="0"/>
+            <xs:element name="fixPointNumbers" type="fixPointNumbers" minOccurs="0"/>
+            <xs:element name="valueObjects" type="valueObjects" minOccurs="0"/>
         </xs:sequence>
     </xs:complexType>
@@ -21,5 +21,5 @@
         <xs:sequence>
             <xs:element name="enumeration" type="enumeration"
-                maxOccurs="unbounded"/>
+                maxOccurs="unbounded" minOccurs="0"/>
         </xs:sequence>
     </xs:complexType>
@@ -50,4 +50,5 @@
         <xs:restriction base="xs:string">
             <xs:enumeration value="numeric"/>
+            <xs:enumeration value="integer"/>
             <xs:enumeration value="string"/>
         </xs:restriction>
@@ -59,15 +60,17 @@
         <xs:sequence>
             <xs:element name="restrictedString" type="restrictedString"
-                maxOccurs="unbounded"/>
+                maxOccurs="unbounded" minOccurs="0"/>
         </xs:sequence>
     </xs:complexType>
     <xs:complexType mixed="true" name="restrictedString">
         <xs:choice>
+            <xs:element name="description" type="description"
+                minOccurs="0"/>
             <xs:element name="constant" type="constant"
                 minOccurs="0" maxOccurs="unbounded"/>
         </xs:choice>
-        <xs:attribute name="min-length" type="xs:positiveInteger"
-            use="required"/>
-        <xs:attribute name="max-length" type="xs:positiveInteger"
+        <xs:attribute name="min-length" type="lengthType"
+            use="required"/>
+        <xs:attribute name="max-length" type="lengthType"
             use="required"/>
         <xs:attribute name="package" type="javaPackageName"
@@ -90,5 +93,6 @@
     <xs:complexType name="restrictedLong">
         <xs:sequence>
-            <xs:element name="constant" type="constant"/>
+            <xs:element name="constant" type="constant"
+                minOccurs="0" maxOccurs="unbounded"/>
         </xs:sequence>
         <xs:attribute name="classname" type="javaClassName"
@@ -105,9 +109,10 @@
         <xs:sequence>
             <xs:element name="fixPointNumber" type="fixPointNumber"
-                maxOccurs="unbounded"/>
+                maxOccurs="unbounded" minOccurs="0"/>
         </xs:sequence>
     </xs:complexType>
     <xs:complexType name="fixPointNumber">
         <xs:sequence>
+            <xs:element name="description" type="description" minOccurs="0"/>
             <xs:element name="constant" type="constant"
                 minOccurs="0" maxOccurs="unbounded"/>
@@ -131,5 +136,5 @@
         <xs:sequence>
             <xs:element name="valueObject" type="valueObject"
-                maxOccurs="unbounded"/>
+                maxOccurs="unbounded" minOccurs="0"/>
         </xs:sequence>
     </xs:complexType>
@@ -181,4 +186,7 @@
 
     <!-- Used globally -->
+    <xs:simpleType name="lengthType">
+        <xs:restriction base="xs:string"/>
+    </xs:simpleType>
     <xs:simpleType name="javaPackageName">
         <xs:restriction base="xs:string"/>
@@ -200,5 +208,9 @@
         </xs:restriction>
     </xs:simpleType>
-    <xs:complexType mixed="true" name="description"/>
+    <xs:complexType mixed="true" name="description">
+        <xs:sequence>
+            <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
+        </xs:sequence>
+    </xs:complexType>
     
 
