kpiroumian    2002/06/08 15:55:13

  Modified:    src/documentation/xdocs/drafts sitemap-2.1-draft.xsd
  Log:
  Added 'label' attribute to 'generate', 'transform' elements.
  
  Revision  Changes    Path
  1.3       +62 -119   xml-cocoon2/src/documentation/xdocs/drafts/sitemap-2.1-draft.xsd
  
  Index: sitemap-2.1-draft.xsd
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/documentation/xdocs/drafts/sitemap-2.1-draft.xsd,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- sitemap-2.1-draft.xsd     6 Jun 2002 16:24:15 -0000       1.2
  +++ sitemap-2.1-draft.xsd     8 Jun 2002 22:55:13 -0000       1.3
  @@ -1,12 +1,6 @@
   <?xml version="1.0" encoding="UTF-8"?>
  -<!-- $Id: sitemap-2.1-draft.xsd,v 1.2 2002/06/06 16:24:15 kpiroumian Exp $ -->
  -<xs:schema version="1.0"
  -    targetNamespace="http://apache.org/cocoon/sitemap/2.0"; 
  -    xmlns:map="http://apache.org/cocoon/sitemap/2.0"; 
  -    xmlns:xs="http://www.w3.org/2001/XMLSchema"; 
  -    elementFormDefault="qualified"
  ->
  -
  +<!-- $Id: sitemap-2.1-draft.xsd,v 1.3 2002/06/08 22:55:13 kpiroumian Exp $ -->
  +<xs:schema version="1.0" targetNamespace="http://apache.org/cocoon/sitemap/2.0"; 
xmlns:map="http://apache.org/cocoon/sitemap/2.0"; 
xmlns:xs="http://www.w3.org/2001/XMLSchema"; elementFormDefault="qualified">
       <!-- The 'sitemap' root element -->
       <xs:element name="sitemap">
           <xs:complexType>
  @@ -18,10 +12,8 @@
                   <xs:element name="pipelines" type="map:pipelinesType"/>
               </xs:sequence>
           </xs:complexType>
  -    </xs:element>    
  -
  +    </xs:element>
       <!-- ====== General types ====== -->
  -  
       <!--
       Additional types can be used for more strict validation.
       E.g.: 
  @@ -30,33 +22,28 @@
           - Status codes (Pattern, regexp or enumeration: 3??, 4??, 5??)
           etc. 
       -->
  -    
       <!-- ====== Component configuration types ====== -->
  -
       <xs:attributeGroup name="componentAttributes">
           <xs:attribute name="name" type="xs:NMTOKEN" use="required"/>
           <xs:attribute name="src" type="xs:string" use="required"/>
  -        <!-- FIXME (KP): Can a label be used with matchers, actions, readers or 
serializers? -->        
  +        <!-- FIXME (KP): Can a label be used with matchers, actions, readers or 
serializers? -->
           <xs:attribute name="label" type="xs:string" use="optional"/>
           <!-- Only for LogEnabled components -->
           <xs:attribute name="logger" type="xs:string" use="optional"/>
  -        <!-- Only for Poolable components -->                    
  +        <!-- Only for Poolable components -->
           <xs:attribute name="pool-max" type="xs:unsignedLong" use="optional"/>
           <xs:attribute name="pool-min" type="xs:unsignedLong" use="optional"/>
           <xs:attribute name="pool-grow" type="xs:unsignedLong" use="optional"/>
  -    </xs:attributeGroup>   
  -    
  +    </xs:attributeGroup>
       <!-- Base type for all configurable components: /map:sitemap/map:components/*/* 
-->
       <xs:complexType name="componentType">
           <!-- Component custom configuration parameters -->
           <xs:sequence minOccurs="0" maxOccurs="unbounded">
               <xs:any namespace="##other"/>
           </xs:sequence>
  -        <xs:attributeGroup ref="map:componentAttributes" />
  +        <xs:attributeGroup ref="map:componentAttributes"/>
       </xs:complexType>
  -       
       <!-- Sitemap component types -->
  -    
       <!-- 
           Serializers have additional 'mime-type' attribute. 
           Other components use the 'componentType' directly.
  @@ -68,13 +55,11 @@
               </xs:extension>
           </xs:complexContent>
       </xs:complexType>
  -    
       <!-- Sitemap component lists -->
       <xs:complexType name="componentListType">
           <xs:attribute name="default" type="xs:NMTOKEN" use="optional"/>
  -        <xs:attribute name="label" type="xs:string" use="optional"/>        
  +        <xs:attribute name="label" type="xs:string" use="optional"/>
       </xs:complexType>
  -    
       <xs:complexType name="generatorsType">
           <xs:complexContent>
               <xs:extension base="map:componentListType">
  @@ -84,7 +69,6 @@
               </xs:extension>
           </xs:complexContent>
       </xs:complexType>
  -    
       <xs:complexType name="transformersType">
           <xs:complexContent>
               <xs:extension base="map:componentListType">
  @@ -94,7 +78,6 @@
               </xs:extension>
           </xs:complexContent>
       </xs:complexType>
  -    
       <xs:complexType name="readersType">
           <xs:complexContent>
               <xs:extension base="map:componentListType">
  @@ -104,7 +87,6 @@
               </xs:extension>
           </xs:complexContent>
       </xs:complexType>
  -    
       <xs:complexType name="serializersType">
           <xs:complexContent>
               <xs:extension base="map:componentListType">
  @@ -114,7 +96,6 @@
               </xs:extension>
           </xs:complexContent>
       </xs:complexType>
  -    
       <xs:complexType name="matchersType">
           <xs:complexContent>
               <xs:extension base="map:componentListType">
  @@ -124,7 +105,6 @@
               </xs:extension>
           </xs:complexContent>
       </xs:complexType>
  -    
       <xs:complexType name="selectorsType">
           <xs:complexContent>
               <xs:extension base="map:componentListType">
  @@ -134,14 +114,12 @@
               </xs:extension>
           </xs:complexContent>
       </xs:complexType>
  -    
       <!-- FIXME (KP): Can 'actions' have a 'default' attribute? -->
       <xs:complexType name="actionsType">
           <xs:sequence>
               <xs:element name="action" type="map:componentType" 
maxOccurs="unbounded"/>
           </xs:sequence>
       </xs:complexType>
  -    
       <!-- 'Config' postfix used to differentiate from pipelines type -->
       <xs:complexType name="pipelinesConfigType">
           <xs:complexContent>
  @@ -152,7 +130,6 @@
               </xs:extension>
           </xs:complexContent>
       </xs:complexType>
  -    
       <!-- Sitemap component configuration: /map:sitemap/map:componenets-->
       <xs:complexType name="componentsType">
           <xs:all>
  @@ -166,38 +143,32 @@
               <xs:element name="pipelines" type="map:pipelinesConfigType" 
minOccurs="0"/>
           </xs:all>
       </xs:complexType>
  -    
       <!-- ====== Non component nor pipeline declarations: action-sets, views, 
resources.
       /map:sitemap/*[name()!='map:pipelines' and name() != 'map:components'] ====== 
-->
  -
       <!-- /map:sitemap/map:action-sets -->
       <xs:complexType name="action-setsType">
           <xs:sequence>
               <xs:element name="action-set" type="map:action-setType"/>
           </xs:sequence>
       </xs:complexType>
  -    
       <!-- /map:sitemap/map:action-sets/map:action-set -->
       <xs:complexType name="action-setType">
           <xs:sequence>
               <xs:element name="act" type="map:actConfigType" maxOccurs="unbounded"/>
           </xs:sequence>
           <xs:attribute name="name" type="xs:string" use="required"/>
  -    </xs:complexType>    
  -    
  +    </xs:complexType>
       <!-- /map:sitemap/map:action-sets/map:action-set/map:act -->
       <xs:complexType name="actConfigType">
           <xs:attribute name="action" type="xs:string" use="required"/>
           <xs:attribute name="type" type="xs:string" use="required"/>
       </xs:complexType>
  -
       <!-- /map:sitemap/map:resources -->
       <xs:complexType name="resourcesType">
           <xs:sequence>
               <xs:element name="resource" type="map:resourceType" 
maxOccurs="unbounded"/>
           </xs:sequence>
       </xs:complexType>
  -    
       <!-- /map:sitemap/map:resources/map:resource -->
       <xs:complexType name="resourceType">
           <xs:complexContent>
  @@ -205,58 +176,51 @@
                   <xs:attribute name="name" type="xs:string" use="required"/>
               </xs:extension>
           </xs:complexContent>
  -    </xs:complexType>    
  -
  +    </xs:complexType>
       <!-- /map:sitemap/map:views -->
       <xs:complexType name="viewsType">
           <xs:sequence>
               <xs:element name="view" type="map:viewType" maxOccurs="unbounded"/>
           </xs:sequence>
       </xs:complexType>
  -
       <!-- /map:sitemap/map:views/map:view -->
       <xs:complexType name="viewType">
           <xs:complexContent>
               <xs:extension base="map:noGenerationPipelineType">
                   <xs:sequence>
  -                    <xs:group ref="map:transformingComponents" />
  -                    <xs:group ref="map:outputtingComponents" />
  -                </xs:sequence>                    
  +                    <xs:group ref="map:transformingComponents"/>
  +                    <xs:group ref="map:outputtingComponents"/>
  +                </xs:sequence>
                   <xs:attribute name="name" type="xs:NMTOKEN" use="required"/>
                   <xs:attribute name="from-label" type="xs:NMTOKEN" use="optional"/>
                   <xs:attribute name="from-position" type="xs:NMTOKEN" 
use="optional"/>
               </xs:extension>
           </xs:complexContent>
       </xs:complexType>
  -    
       <!-- This type is used as base for 'view' and 'handle-errors' types -->
       <xs:complexType name="noGenerationPipelineType">
           <xs:complexContent>
               <xs:restriction base="map:pipelineContentType">
                   <xs:choice>
  -                    <xs:group ref="map:singletonComponents" maxOccurs="0" />        
    
  -                    <xs:group ref="map:generatingComponents" maxOccurs="0" />
  +                    <xs:group ref="map:singletonComponents" maxOccurs="0"/>
  +                    <xs:group ref="map:generatingComponents" maxOccurs="0"/>
                   </xs:choice>
               </xs:restriction>
           </xs:complexContent>
  -    </xs:complexType>    
  -        
  +    </xs:complexType>
       <!-- ====== Pipeline content types: /map:sitemap/map:pipelines//* ====== -->
  -    
       <!-- //map:parameter -->
       <xs:complexType name="parameterType">
           <xs:attribute name="name" type="xs:string" use="required"/>
           <xs:attribute name="type" type="xs:string" use="optional"/>
           <xs:attribute name="value" type="xs:string" use="required"/>
  -    </xs:complexType>   
  -    
  +    </xs:complexType>
       <xs:complexType name="parametrizedContent">
           <xs:sequence>
  -            <xs:element name="parameter" type="map:parameterType" minOccurs="0" 
maxOccurs="unbounded" />            
  +            <xs:element name="parameter" type="map:parameterType" minOccurs="0" 
maxOccurs="unbounded"/>
           </xs:sequence>
       </xs:complexType>
  -       
  -   <!-- A pipeline can contain the following elements.
  +    <!-- A pipeline can contain the following elements.
          Direct:
              - generate
              - aggregate
  @@ -279,15 +243,14 @@
       <xs:complexType name="pipelineContentType">
           <xs:complexContent>
               <xs:extension base="map:parametrizedContent">
  -                <xs:group ref="map:pipelineContent" />
  +                <xs:group ref="map:pipelineContent"/>
               </xs:extension>
           </xs:complexContent>
  -        </xs:complexType>
  -        
  +    </xs:complexType>
       <xs:group name="pipelineContent">
           <xs:choice>
  -            <xs:group ref="map:singletonComponents" minOccurs="0"/>        
  -            <xs:group ref="map:indirectComponents" minOccurs="0" 
maxOccurs="unbounded"/>                
  +            <xs:group ref="map:singletonComponents" minOccurs="0"/>
  +            <xs:group ref="map:indirectComponents" minOccurs="0" 
maxOccurs="unbounded"/>
               <xs:group ref="map:plainPipeline" minOccurs="0"/>
               <xs:group ref="map:generatingComponents" minOccurs="0"/>
               <xs:group ref="map:transformingComponents" minOccurs="0" 
maxOccurs="unbounded"/>
  @@ -303,73 +266,64 @@
                       </xs:choice>           
                   </xs:sequence>
               </xs:choice -->
  -        </xs:choice>    
  +        </xs:choice>
       </xs:group>
  -
       <!-- Helper groups -->
       <xs:group name="plainPipeline">
  -        <xs:sequence>            
  -            <xs:group ref="map:indirectComponents" minOccurs="0" 
maxOccurs="unbounded"/>                                    
  +        <xs:sequence>
  +            <xs:group ref="map:indirectComponents" minOccurs="0" 
maxOccurs="unbounded"/>
               <xs:group ref="map:generatingComponents"/>
  -            <xs:group ref="map:indirectComponents" minOccurs="0" 
maxOccurs="unbounded"/>                            
  -            <xs:group ref="map:transformingComponents" />            
  -            <xs:group ref="map:indirectComponents" minOccurs="0" 
maxOccurs="unbounded"/>                            
  -            <xs:group ref="map:outputtingComponents" />                    
  -        </xs:sequence>        
  +            <xs:group ref="map:indirectComponents" minOccurs="0" 
maxOccurs="unbounded"/>
  +            <xs:group ref="map:transformingComponents"/>
  +            <xs:group ref="map:indirectComponents" minOccurs="0" 
maxOccurs="unbounded"/>
  +            <xs:group ref="map:outputtingComponents"/>
  +        </xs:sequence>
       </xs:group>
  -
       <xs:group name="singletonComponents">
           <xs:choice>
  -            <xs:element name="mount" type="map:mountType"/>        
  -            <xs:element name="redirect-to" type="map:redirect-toType" />            
  -            <xs:element name="read" type="map:readType"/>            
  +            <xs:element name="mount" type="map:mountType"/>
  +            <xs:element name="redirect-to" type="map:redirect-toType"/>
  +            <xs:element name="read" type="map:readType"/>
           </xs:choice>
       </xs:group>
  -    
       <xs:group name="generatingComponents">
           <xs:choice>
  -            <xs:element name="generate" type="map:generateType" />
  -            <xs:element name="aggregate" type="map:aggregateType" />
  -            <xs:element name="call" type="map:callType" />                        
  +            <xs:element name="generate" type="map:generateType"/>
  +            <xs:element name="aggregate" type="map:aggregateType"/>
  +            <xs:element name="call" type="map:callType"/>
           </xs:choice>
       </xs:group>
  -
       <xs:group name="transformingComponents">
           <xs:choice>
               <xs:element name="transform" type="map:transformType" 
maxOccurs="unbounded"/>
  -            <xs:element name="call" type="map:callType" minOccurs="0" 
maxOccurs="unbounded"/>                        
  +            <xs:element name="call" type="map:callType" minOccurs="0" 
maxOccurs="unbounded"/>
           </xs:choice>
       </xs:group>
  -    
       <xs:group name="outputtingComponents">
           <xs:choice>
  -            <xs:element name="serialize" type="map:serializeType" minOccurs="0" />
  -            <xs:element name="call" type="map:callType" minOccurs="0"/>            
  +            <xs:element name="serialize" type="map:serializeType" minOccurs="0"/>
  +            <xs:element name="call" type="map:callType" minOccurs="0"/>
           </xs:choice>
       </xs:group>
  -    
       <xs:group name="indirectComponents">
           <xs:choice minOccurs="0" maxOccurs="unbounded">
  -            <xs:element name="match" type="map:matchType" />
  -            <xs:element name="act" type="map:actType" />
  -            <xs:element name="select" type="map:selectType" />        
  +            <xs:element name="match" type="map:matchType"/>
  +            <xs:element name="act" type="map:actType"/>
  +            <xs:element name="select" type="map:selectType"/>
           </xs:choice>
       </xs:group>
  -    
       <!-- end of helper groups -->
  -    
       <!-- /map:sitemap/map:pipelines/map:pipeline//map:act -->
       <xs:complexType name="actType">
           <xs:complexContent>
               <xs:extension base="map:pipelineContentType">
                   <xs:sequence>
  -                    <xs:element name="parameter" type="map:parameterType" 
minOccurs="0" maxOccurs="unbounded" />            
  +                    <xs:element name="parameter" type="map:parameterType" 
minOccurs="0" maxOccurs="unbounded"/>
                   </xs:sequence>
                   <xs:attribute name="type" type="xs:string"/>
               </xs:extension>
           </xs:complexContent>
       </xs:complexType>
  -    
       <xs:complexType name="aggregateType">
           <xs:sequence>
               <xs:element name="part" maxOccurs="unbounded">
  @@ -378,36 +332,34 @@
                       <xs:attribute name="ns" type="xs:anyURI" use="optional"/>
                       <xs:attribute name="src" type="xs:anyURI" use="required"/>
                       <xs:attribute name="label" type="xs:string" use="optional"/>
  -                </xs:complexType>   
  +                </xs:complexType>
               </xs:element>
           </xs:sequence>
           <xs:attribute name="element" type="xs:string" use="optional"/>
           <xs:attribute name="ns" type="xs:anyURI" use="optional"/>
           <xs:attribute name="label" type="xs:string" use="optional"/>
       </xs:complexType>
  -    
       <xs:complexType name="callType">
           <xs:sequence>
               <xs:element name="parameter" type="map:parameterType" minOccurs="0"/>
           </xs:sequence>
  -        <xs:attribute name="resource" use="required" type="xs:NMTOKEN" />
  +        <xs:attribute name="resource" use="required" type="xs:NMTOKEN"/>
       </xs:complexType>
  -    
       <xs:complexType name="generateType">
           <xs:sequence>
               <xs:element name="parameter" type="map:parameterType" minOccurs="0" 
maxOccurs="unbounded"/>
           </xs:sequence>
           <xs:attribute name="src" type="xs:string"/>
  -        <xs:attribute name="type" type="xs:NMTOKEN" />
  +        <xs:attribute name="type" type="xs:NMTOKEN"/>
  +        <xs:attribute name="label" type="xs:string" use="optional"/>        
       </xs:complexType>
  -    
       <xs:complexType name="handle-errorsType">
           <xs:complexContent>
               <xs:extension base="map:noGenerationPipelineType">
                   <xs:sequence>
  -                    <xs:group ref="map:transformingComponents" />
  -                    <xs:group ref="map:outputtingComponents" />            
  -                </xs:sequence>                    
  +                    <xs:group ref="map:transformingComponents"/>
  +                    <xs:group ref="map:outputtingComponents"/>
  +                </xs:sequence>
                   <xs:attribute name="type">
                       <xs:simpleType>
                           <xs:restriction base="xs:string">
  @@ -418,16 +370,14 @@
               </xs:extension>
           </xs:complexContent>
       </xs:complexType>
  -    
       <xs:complexType name="matchType">
           <xs:complexContent>
               <xs:extension base="map:pipelineContentType">
                   <xs:attribute name="type" type="xs:string"/>
  -                <xs:attribute name="pattern" type="xs:string" use="required"/>      
          
  +                <xs:attribute name="pattern" type="xs:string" use="required"/>
               </xs:extension>
           </xs:complexContent>
       </xs:complexType>
  -    
       <xs:complexType name="mountType">
           <xs:attribute name="check-reload" use="required">
               <xs:simpleType>
  @@ -440,19 +390,17 @@
           <xs:attribute name="src" type="xs:string" use="required"/>
           <xs:attribute name="uri-prefix" type="xs:string" use="required"/>
       </xs:complexType>
  -           
       <xs:complexType name="pipelineType">
           <xs:complexContent>
               <xs:extension base="map:pipelineContentType">
                   <xs:sequence>
                       <xs:element name="handle-errors" type="map:handle-errorsType" 
minOccurs="0"/>
                   </xs:sequence>
  -                <xs:attribute name="id" type="xs:string"/>                
  +                <xs:attribute name="id" type="xs:string"/>
                   <xs:attribute name="internal-only" type="xs:boolean"/>
  -            </xs:extension>                
  +            </xs:extension>
           </xs:complexContent>
       </xs:complexType>
  -    
       <xs:complexType name="pipelinesType">
           <xs:sequence>
               <xs:element name="global-parameters" minOccurs="0"/>
  @@ -460,44 +408,39 @@
               <xs:element name="pipeline" type="map:pipelineType" 
maxOccurs="unbounded"/>
           </xs:sequence>
       </xs:complexType>
  -    
       <xs:complexType name="readType">
           <xs:attribute name="mime-type" type="xs:string" use="required"/>
           <xs:attribute name="src" type="xs:string" use="required"/>
       </xs:complexType>
  -    
       <xs:complexType name="redirect-toType">
           <xs:attribute name="uri" type="xs:anyURI" use="required"/>
       </xs:complexType>
  -    
       <xs:complexType name="selectType">
           <xs:sequence>
               <xs:element name="when" maxOccurs="unbounded">
                   <xs:complexType>
                       <xs:complexContent>
                           <xs:extension base="map:pipelineContentType">
  -                            <xs:attribute name="test" type="xs:string" />
  +                            <xs:attribute name="test" type="xs:string"/>
                           </xs:extension>
                       </xs:complexContent>
  -                </xs:complexType>            
  +                </xs:complexType>
               </xs:element>
               <xs:element name="otherwise" minOccurs="0" 
type="map:pipelineContentType"/>
           </xs:sequence>
  -        <xs:attribute name="type" type="xs:NMTOKEN" />        
  -    </xs:complexType>     
  -    
  +        <xs:attribute name="type" type="xs:NMTOKEN"/>
  +    </xs:complexType>
       <xs:complexType name="serializeType">
  -        <xs:attribute name="type" type="xs:NMTOKEN" />
  +        <xs:attribute name="type" type="xs:NMTOKEN"/>
           <xs:attribute name="status-code" type="xs:short"/>
           <xs:attribute name="mime-type" type="xs:string"/>
       </xs:complexType>
  -        
       <xs:complexType name="transformType">
           <xs:sequence>
               <xs:element name="parameter" type="map:parameterType" minOccurs="0" 
maxOccurs="unbounded"/>
           </xs:sequence>
           <xs:attribute name="src" type="xs:string"/>
  -        <xs:attribute name="type" type="xs:NMTOKEN" />
  -    </xs:complexType>    
  -    
  +        <xs:attribute name="type" type="xs:NMTOKEN"/>
  +        <xs:attribute name="label" type="xs:string" use="optional"/>        
  +    </xs:complexType>
   </xs:schema>
  
  
  

----------------------------------------------------------------------
In case of troubles, e-mail:     [EMAIL PROTECTED]
To unsubscribe, e-mail:          [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to