Author: reinhard
Date: Tue Apr 12 12:36:20 2005
New Revision: 161101

URL: http://svn.apache.org/viewcvs?view=rev&rev=161101
Log:
correct restrictions and use types instead of element references

Modified:
    cocoon/trunk/src/schema/cob-schema-1.0.xsd

Modified: cocoon/trunk/src/schema/cob-schema-1.0.xsd
URL: 
http://svn.apache.org/viewcvs/cocoon/trunk/src/schema/cob-schema-1.0.xsd?view=diff&r1=161100&r2=161101
==============================================================================
--- cocoon/trunk/src/schema/cob-schema-1.0.xsd (original)
+++ cocoon/trunk/src/schema/cob-schema-1.0.xsd Tue Apr 12 12:36:20 2005
@@ -22,35 +22,34 @@
   <xs:element name="block">
     <xs:complexType>
       <xs:all>
-        <xs:element ref="name" minOccurs="1" maxOccurs="1"/>
-        <xs:element ref="description" minOccurs="1" maxOccurs="1"/>
-        <xs:element ref="state" minOccurs="1" maxOccurs="1"/>        
-        <xs:element ref="license" minOccurs="1" maxOccurs="1"/>
-        <xs:element ref="author" minOccurs="1" maxOccurs="1"/>
-        <xs:element ref="sitemap" minOccurs="0" maxOccurs="1"/>
-        <xs:element ref="properties" minOccurs="0" maxOccurs="1"/>
-        <xs:element ref="requirements" minOccurs="0" maxOccurs="1"/>
-        <xs:element ref="implements" minOccurs="0" maxOccurs="1"/>
-        <xs:element ref="extends" minOccurs="0" maxOccurs="1"/>
+        <xs:element name="name" type="name"/>
+        <xs:element name="description" type="href"/>
+        <xs:element name="state" type="state"/>        
+        <xs:element name="license" type="href"/>
+        <xs:element name="author" type="href"/>
+        <xs:element name="sitemap" type="src" minOccurs="0"/>
+        <xs:element name="properties" type="properties" minOccurs="0"/>
+        <xs:element name="requirements" type="requirements" minOccurs="0"/>
+        <xs:element name="implements" type="implements" minOccurs="0"/>
+        <xs:element name="extends" type="extends" minOccurs="0"/>
       </xs:all>
       <xs:attribute name="id" type="xs:anyURI" use="required"/>
     </xs:complexType>
   </xs:element>
     
   <!-- general meta data -->
-  <xs:element name="name" type="xs:string"/>
-  <xs:element name="description" type="href"/>
-  <xs:element name="state">
-       <xs:complexType>
-               <xs:attribute name="href" type="xs:anyURI" use="required"/>
-               <xs:attribute name="community" type="community" use="required"/>
-               <xs:attribute name="interfaces" type="stability" 
use="required"/>
-               <xs:attribute name="implementation" type="stability" 
use="required"/>
-       </xs:complexType>
-  </xs:element>
-  <xs:element name="license" type="href"/>
-  <xs:element name="author" type="href"/>
-  <xs:element name="sitemap" type="src"/>
+  <xs:complexType name="name">
+    <xs:simpleContent>
+      <xs:extension base="xs:string"/>
+    </xs:simpleContent>
+  </xs:complexType> 
+
+  <xs:complexType name="state">
+       <xs:attribute name="href" type="xs:anyURI" use="required"/>
+       <xs:attribute name="community" type="community" use="required"/>
+       <xs:attribute name="interfaces" type="stability" use="required"/>
+       <xs:attribute name="implementation" type="stability" use="required"/>
+  </xs:complexType>
   
   <xs:simpleType name="community">
          <xs:restriction base="xs:string">
@@ -80,58 +79,47 @@
   </xs:complexType>  
   
   <!-- properties -->
-  <xs:element name="properties">
-       <xs:complexType>
-                       <xs:sequence>
-                               <xs:element ref="property" 
maxOccurs="unbounded"/>
-                       </xs:sequence>
-       </xs:complexType>
-  </xs:element>
-  <xs:element name="property">
-       <xs:complexType>
-                       <xs:all>
-                               <xs:element name="default" minOccurs="0" 
maxOccurs="1" type="xs:string"/>
-                               <xs:element name="description" minOccurs="1" 
maxOccurs="1" type="xs:string"/>
-                       </xs:all>
-                       <xs:attribute name="name" use="required"/>
-       </xs:complexType>       
-  </xs:element>
-  
+  <xs:complexType name="properties">
+               <xs:sequence>
+                       <xs:element name="property" type="property" 
maxOccurs="unbounded"/>
+               </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="property">
+               <xs:all>
+                       <xs:element name="default" minOccurs="0" maxOccurs="1" 
type="xs:string"/>
+                       <xs:element name="description" minOccurs="1" 
maxOccurs="1" type="xs:string"/>
+               </xs:all>
+               <xs:attribute name="name" use="required"/>
+  </xs:complexType>    
+
   <!-- requirements -->
-  <xs:element name="requirements">
-       <xs:complexType>
-                       <xs:sequence>
-                               <xs:element ref="requires" 
maxOccurs="unbounded"/>
-                       </xs:sequence>
-       </xs:complexType>  
-  </xs:element>
-  <xs:element name="requires">
-       <xs:complexType>
-               <xs:attribute name="interface" type="xs:anyURI" use="required"/>
-               <xs:attribute name="default" type="xs:anyURI" use="optional"/>
-               <xs:attribute name="name" type="xs:string" use="required"/>
-       </xs:complexType>       
-  </xs:element>
-  
+  <xs:complexType name="requirements">
+               <xs:sequence>
+                       <xs:element name="requires" type="requires" 
maxOccurs="unbounded"/>
+               </xs:sequence>
+  </xs:complexType>  
+
+  <xs:complexType name="requires">
+       <xs:attribute name="interface" type="xs:anyURI" use="required"/>
+       <xs:attribute name="default" type="xs:anyURI" use="optional"/>
+       <xs:attribute name="name" type="xs:string" use="required"/>
+  </xs:complexType>    
+
   <!-- implements -->
-  <xs:element name="implements">
-       <xs:complexType>
-                       <xs:sequence>
-                               <xs:element ref="interface" 
maxOccurs="unbounded"/>
-                       </xs:sequence>
-       </xs:complexType>       
-  </xs:element>
-  <xs:element name="interface">
-       <xs:complexType>
-               <xs:attribute name="id" type="xs:anyURI" use="required"/>
-       </xs:complexType>               
-  </xs:element>
+  <xs:complexType name="implements">
+               <xs:sequence>
+                       <xs:element name="interface" type="interface" 
maxOccurs="unbounded"/>
+               </xs:sequence>
+  </xs:complexType>    
+
+  <xs:complexType name="interface">
+       <xs:attribute name="id" type="xs:anyURI" use="required"/>
+  </xs:complexType>            
 
   <!-- implements -->
-  <xs:element name="extends">
-       <xs:complexType>
-               <xs:attribute name="block" type="xs:anyURI" use="required"/>
-       </xs:complexType>               
-  </xs:element>
+  <xs:complexType name="extends">
+       <xs:attribute name="block" type="xs:anyURI" use="required"/>
+  </xs:complexType>            
 
 </xs:schema>


Reply via email to