haul        2003/02/03 01:36:02

  Modified:    src/webapp/WEB-INF/entities sitemap-v06.rng
  Log:
  include recent validation errors
  
  Revision  Changes    Path
  1.6       +103 -75   xml-cocoon2/src/webapp/WEB-INF/entities/sitemap-v06.rng
  
  Index: sitemap-v06.rng
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/webapp/WEB-INF/entities/sitemap-v06.rng,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- sitemap-v06.rng   17 Jan 2003 11:33:51 -0000      1.5
  +++ sitemap-v06.rng   3 Feb 2003 09:36:02 -0000       1.6
  @@ -1,6 +1,6 @@
   <?xml version="1.0" encoding="UTF-8"?>
   <grammar datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"; 
  -      xmlns:sch="http://www.ascc.net/xml/schematron";
  +         xmlns:sch="http://www.ascc.net/xml/schematron";
            xmlns="http://relaxng.org/ns/structure/1.0"; 
            xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"; 
            xmlns:map="http://apache.org/cocoon/sitemap/1.0";>
  @@ -95,12 +95,12 @@
       <optional>
         <attribute name="default">
           <data type="string" /> 
  -     <!-- CPA: in fact the default must always match the name attribute
  -     of one of it's child elements. We will rely on a schematron schema to check
  -     this (we cannot use ID/IDREF as there are multiple namespaces
  -     e.g. map:generator uses a different namespace to
  -     map:transformer) - NO - can't be done due to sitemap
  -       inheritance -->
  +       <!-- CPA: in fact the default must always match the name attribute
  +       of one of it's child elements. We will rely on a schematron schema to check
  +       this (we cannot use ID/IDREF as there are multiple namespaces
  +       e.g. map:generator uses a different namespace to
  +       map:transformer) - NO - can't be done due to sitemap
  +       inheritance -->
         </attribute>
       </optional>
     </define>
  @@ -318,6 +318,15 @@
       <optional><element name="system"><text/></element></optional>
     </define>
   
  +  <define name="simpleFormExtractTransformer.contents">
  +    <optional>
  +       <element name="output">
  +          <ref name="name.attr"/>
  +          <text/>
  +       </element>
  +    </optional>
  +  </define>
  +
   <!-- CPA: contents confirmed by inspection of AbstractTextSerializer.java -->
     <define name="textSerializer.contents">
       <optional><ref name="cdata-section-elements"/></optional>
  @@ -332,6 +341,18 @@
       <optional><ref name="version"/></optional>
     </define>
   
  +  <define name="svg2jpegSerializer.contents">
  +    <optional>
  +       <element name="parameter">
  +          <attribute name="name"/>
  +          <attribute name="type">
  +            <value type="string">float</value>
  +          </attribute>
  +          <attribute name="value"/>
  +       </element>
  +    </optional>
  +  </define>
  +
   <!-- =============================================================== -->
   <!-- Sitemap -->
   <!-- =============================================================== -->
  @@ -459,12 +480,13 @@
       <element name="map:transformer">
         <ref name="map.transformer.attlist"/>
           <interleave>
  -       <ref name="traxTransformer.contents"/>
  +          <ref name="traxTransformer.contents"/>
             <ref name="xsltTransformer.contents"/>
             <ref name="i18nTransformer.contents"/>
             <ref name="encodeURLTransformer.contents"/>
             <ref name="linkRewriterTransformer.contents"/>
             <ref name="web3RfcTransformer.contents"/>
  +          <ref name="simpleFormExtractTransformer.contents"/>
             <optional><ref name="mapping"/></optional>
           </interleave>
       </element>
  @@ -593,7 +615,7 @@
     <define name="map.reader">
       <element name="map:reader">
         <ref name="map.reader.attlist"/>
  -      <empty/> <!-- RNG: does reader ever have children? Its peers do. -->
  +      <optional><ref name="database.reader.content"/></optional>
       </element>
     </define>
     <define name="map.reader.attlist" combine="interleave">
  @@ -603,6 +625,11 @@
       <ref name="component.attr"/>
     </define>
   
  +  <define name="database.reader.content">
  +     <!-- FIXME is this complete ? -->
  +     <optional><element name="use-connection"><data 
type="string"/></element></optional>
  +  </define>
  +
   <!-- Serializers ======================================= -->
     <define name="map.serializers">
       <element name="map:serializers">
  @@ -613,8 +640,8 @@
       </element>
       <sch:pattern name="Test constraints on map:serialize">
         <sch:rule context="xmap:serialize">
  -     <sch:assert 
test="count(following-sibling::*[not(self::xmap:handle-errors)])=0">
  -       map:serialize must be the last element in a pipeline (other than 
map:handle-errors).
  +     <sch:assert 
test="count(following-sibling::*[not(self::xmap:handle-errors)])=0">
  +       map:serialize must be the last element in a pipeline (other than 
map:handle-errors).
           </sch:assert>
         </sch:rule>
       </sch:pattern>
  @@ -630,6 +657,7 @@
       <element name="map:serializer">
         <ref name="map.serializer.attlist"/>
         <optional><ref name="textSerializer.contents"/></optional>
  +      <optional><ref name="svg2jpegSerializer.contents"/></optional>
         <optional><ref name="set-content-length"/></optional>
         <optional><ref name="buffer-size"/></optional>
         <optional><ref name="user-config"/></optional>
  @@ -821,10 +849,10 @@
       <zeroOrMore>
         <choice>
           <attribute>
  -       <anyName/>
  -     </attribute>
  -     <text/>
  -     <ref name="anyElement"/>
  +       <anyName/>
  +     </attribute>
  +        <text/>
  +        <ref name="anyElement"/>
         </choice>
       </zeroOrMore>
     </element>
  @@ -905,7 +933,7 @@
     <define name="input-module">
       <element name="input-module">
         <ref name="input-module.attlist"/>
  -      <data type="string" />
  +      <zeroOrMore><ref name="anyElement"/></zeroOrMore>
       </element>
     </define>
     <define name="input-module.attlist" combine="interleave">
  @@ -1136,39 +1164,39 @@
         <!-- Schematron rules for map:pipeline follow -->
   
         <sch:pattern name="Test constraints on map:pipeline">
  -     <sch:rule context="/xmap:sitemap/xmap:pipelines/xmap:pipeline">
  -       <sch:assert test="(@src and @name) 
  -                          or .//xmap:generate[not(ancestor::xmap:handle-errors)]
  -                          or .//xmap:aggregate[not(ancestor::xmap:handle-errors)]
  -                          or .//xmap:read[not(ancestor::xmap:handle-errors)]
  -                          or .//xmap:mount[not(ancestor::xmap:handle-errors)]
  -                          or .//xmap:redirect-to[not(ancestor::xmap:handle-errors)]
  -                          or .//xmap:call[not(ancestor::xmap:handle-errors)]">
  -         Pipeline with no map:generate|aggregate|act|mount|redirect-to|call, or src 
and name attributes, is illegal
  -       </sch:assert>
  -       <sch:assert test="not(.//*[namespace-uri()=namespace-uri(/xmap:sitemap)
  -                              and (local-name()='generate' or 
local-name()='aggregate' or local-name()='transform')
  -                              and not(ancestor::xmap:handle-errors)])
  -                            or .//*[namespace-uri()=namespace-uri(/xmap:sitemap)
  -                              and (local-name()='generate' or 
local-name()='aggregate' or local-name()='transform')
  -                              and not(ancestor::xmap:handle-errors)]
  -                                   
[following::*[namespace-uri()=namespace-uri(/xmap:sitemap)
  -                                                       and 
(local-name()='serialize' or local-name()='call')
  -                                                       and 
not(ancestor::xmap:handle-errors)
  -                                                ]/ancestor::xmap:pipeline[. = 
current()]
  -                                   ]">
  -         Pipeline with map:generate|aggregate|transform must have map:serialize or 
map:call
  -       </sch:assert>
  -     </sch:rule>
  -
  -     <sch:rule 
context="/xmap:sitemap/xmap:pipelines/xmap:pipeline//*[namespace-uri()=namespace-uri(/xmap:sitemap)
  -                           and (local-name()='serialize' or local-name()='mount'  
or local-name()='read'  
  -                                or local-name()='redirect-to' or 
local-name()='call') ]">
  -       <sch:assert 
test="count(following-sibling::*[namespace-uri()=namespace-uri(/xmap:sitemap) 
  -               and local-name() != 'handle-errors'])=0">
  -         Pipeline with component after map:serialize|read|mount|redirect-to|call is 
illegal 
  -       </sch:assert>
  -     </sch:rule>
  +      <sch:rule context="/xmap:sitemap/xmap:pipelines/xmap:pipeline">
  +        <sch:assert test="(@src and @name) 
  +                           or .//xmap:generate[not(ancestor::xmap:handle-errors)]
  +                           or .//xmap:aggregate[not(ancestor::xmap:handle-errors)]
  +                           or .//xmap:read[not(ancestor::xmap:handle-errors)]
  +                           or .//xmap:mount[not(ancestor::xmap:handle-errors)]
  +                           or .//xmap:redirect-to[not(ancestor::xmap:handle-errors)]
  +                           or .//xmap:call[not(ancestor::xmap:handle-errors)]">
  +          Pipeline with no map:generate|aggregate|act|mount|redirect-to|call, or 
src and name attributes, is illegal
  +        </sch:assert>
  +        <sch:assert test="not(.//*[namespace-uri()=namespace-uri(/xmap:sitemap)
  +                             and (local-name()='generate' or 
local-name()='aggregate' or local-name()='transform')
  +                             and not(ancestor::xmap:handle-errors)])
  +                          or .//*[namespace-uri()=namespace-uri(/xmap:sitemap)
  +                             and (local-name()='generate' or 
local-name()='aggregate' or local-name()='transform')
  +                             and not(ancestor::xmap:handle-errors)]
  +                                     
[following::*[namespace-uri()=namespace-uri(/xmap:sitemap)
  +                                                         and 
(local-name()='serialize' or local-name()='call')
  +                                                         and 
not(ancestor::xmap:handle-errors)
  +                                                  ]/ancestor::xmap:pipeline[. = 
current()]
  +                                     ]">
  +          Pipeline with map:generate|aggregate|transform must have map:serialize or 
map:call
  +        </sch:assert>
  +      </sch:rule>
  +
  +      <sch:rule 
context="/xmap:sitemap/xmap:pipelines/xmap:pipeline//*[namespace-uri()=namespace-uri(/xmap:sitemap)
  +                             and (local-name()='serialize' or local-name()='mount'  
or local-name()='read'  
  +                                  or local-name()='redirect-to' or 
local-name()='call') ]">
  +        <sch:assert 
test="count(following-sibling::*[namespace-uri()=namespace-uri(/xmap:sitemap) 
  +                 and local-name() != 'handle-errors'])=0">
  +          Pipeline with component after map:serialize|read|mount|redirect-to|call 
is illegal 
  +        </sch:assert>
  +      </sch:rule>
         </sch:pattern>
       </element>
     </define>
  @@ -1213,17 +1241,17 @@
         </optional>
       </element>
         <sch:pattern name="Test constraints on map:match and map:select">
  -     <sch:rule context="xmap:match|xmap:when|xmap:otherwise[*]">
  -       <sch:assert test="*[namespace-uri()=namespace-uri(/xmap:sitemap)
  -                              and (local-name()='generate' or 
local-name()='transform'
  -                                or local-name()='serialize' or 
local-name()='aggregate'
  -                                or local-name()='read' or local-name()='redirect-to'
  -                                or local-name()='act' or local-name()='match' or 
local-name()='select' 
  -                                or local-name()='mount' or local-name()='call')
  -                          ]">
  -         map:match|select without direct components, or 
map:mount|redirect-to|call|act|match|select is illegal
  -       </sch:assert>
  -     </sch:rule>
  +      <sch:rule context="xmap:match|xmap:when|xmap:otherwise[*]">
  +        <sch:assert test="*[namespace-uri()=namespace-uri(/xmap:sitemap)
  +                               and (local-name()='generate' or 
local-name()='transform'
  +                                 or local-name()='serialize' or 
local-name()='aggregate'
  +                                 or local-name()='read' or 
local-name()='redirect-to'
  +                                 or local-name()='act' or local-name()='match' or 
local-name()='select' 
  +                                 or local-name()='mount' or local-name()='call')
  +                   ]">
  +          map:match|select without direct components, or 
map:mount|redirect-to|call|act|match|select is illegal
  +        </sch:assert>
  +      </sch:rule>
         </sch:pattern>
     </define>
     <define name="map.select.attlist" combine="interleave">
  @@ -1421,21 +1449,21 @@
         <ref name="pipe.contents"/>
       </element>
         <sch:pattern name="Test constraints on map:handle-errors">
  -     <sch:rule context="xmap:handle-errors">
  -       <sch:assert test="not(*[namespace-uri()=namespace-uri(/xmap:sitemap) 
  -               and (local-name()='generate' or local-name()='mount')])">
  -         Error handler can't have: map:generate or map:mount.
  -       </sch:assert>
  -       <sch:assert test="*[namespace-uri()=namespace-uri(/xmap:sitemap) 
  -               and (local-name()='serialize' or local-name()='call')]">
  -         Error handler must have map:serialize or map:call.
  -       </sch:assert>
  -     </sch:rule>
  -     <sch:rule context="xmap:handle-errors//xmap:serialize">
  -       <sch:assert 
test="not(following-sibling::*[namespace-uri()=namespace-uri(/xmap:sitemap)])">
  -         Error handler can not have any components after map:serialize
  -       </sch:assert>
  -     </sch:rule>
  +      <sch:rule context="xmap:handle-errors">
  +        <sch:assert test="not(*[namespace-uri()=namespace-uri(/xmap:sitemap) 
  +                 and (local-name()='generate' or local-name()='mount')])">
  +          Error handler can't have: map:generate or map:mount.
  +        </sch:assert>
  +        <sch:assert test="*[namespace-uri()=namespace-uri(/xmap:sitemap) 
  +                 and (local-name()='serialize' or local-name()='call')]">
  +          Error handler must have map:serialize or map:call.
  +        </sch:assert>
  +      </sch:rule>
  +      <sch:rule context="xmap:handle-errors//xmap:serialize">
  +        <sch:assert 
test="not(following-sibling::*[namespace-uri()=namespace-uri(/xmap:sitemap)])">
  +          Error handler can not have any components after map:serialize
  +        </sch:assert>
  +      </sch:rule>
         </sch:pattern>
     </define>
   
  
  
  

----------------------------------------------------------------------
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