cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Piroumian Konstantin <KPiroum...@protek.com>
Subject RE: [INFO] Sitemap XML Schema is available
Date Mon, 24 Jun 2002 12:22:20 GMT
Bruno,

> From: Bruno Dumon [mailto:bruno@outerthought.org] 
> On Thu, 2002-06-06 at 18:34, Piroumian Konstantin wrote:
> [snip]
> > 
> > Please, try it and tell me what else can be added/improved 
> and patch it at
> > will.
> > 
> 
> Sorry for the late response, but hey, it's better late than 
> nothing :-)

And I've at last could take a look at issues you mention and hope I've
addressed all of them (the new version is committed), but there are some
comments, see below:

> 
> I tried out your schema with Xerces 2.01 on a sitemap I have 
> here (that
> works with cocoon 2.02).
> 
> Some errors I found in the schema:
> 
> * Additional configuration attributes and child elements on the
> component declarations are apparently not allowed by the schema.
> e.g. <map:transformer name="foo" src="a.b.c.d.FooImpl" 
> foo-factor="5"/>

Child elements were allowed, I don't know why did you get this error. And
I'm not sure that configuration attributes are allowed on component
declarations. 

Can anybody confirm/explain/answer: is having configuration attributes
really needed/used?

> 
> 
> * Giving parameters to a selector is not allowed by the schema:
> e.g.
>   <map:select>
>      <map:parameter name="foo" value="bar"/>
>      [...]
>   </map:select>
> 
> Also, with current sitemap implementations the parameters may be
> anywhere as long as they're a child of the parent element:
> 
> e.g.
> <map:select>
>   <map:parameter name="..." value="..."/>
>   <map:when ... </map:when>
>   <map:parameter name="..." value="..."/>
>   <map:when ... </map:when>
> </map:select>
> 
> Although this kind of usage should probably be discouraged ;-)

So, selector parameters are allowed now, but not <map:when> parameters to
prevent discouraged use ;)

> 
> 
> * Everywhere the data type xs:anyURI is required, this should 
> be removed
> because in the sitemap you may use {param} things in these attributes,
> and that are not valid URI's.
> e.g. <map:redirect-to uri="{page}"/>

Fixed.

> 
> Some missing attributes:
>  * src and set on map:act
>  * session on map:redirect-to
>  * language on map:mount
>  * strip-root and prefix on map:part

Fixed.

> 
>  * map:mount is a strange case: in the sitemap.xsl (C2.02) there is
> 'reload-method' attribute with values 'synchron' and 'asynchron',
> however that attribute is not used by the treeprocessor (as 
> far as I can
> see).

It's not used since 2.1 and that's the reason I omit it.  

> 
> 
> 
> Then some errors that are a consequence of trying to formalize the
> content model of the pipeline elements, which I have always 
> found quite
> difficult because just about any combination of elements is allowed.
> Here are some examples of what does not work:
> 
> * content starting with map:transform is not allowed by the 
> schema, e.g.
>         <map:pipeline>
>             <map:select>
>                 <map:when>
>                     <map:act type="hello">
>                         <map:generate/>
>                     </map:act>
>                     <map:transform type="x"/>
>                     <map:serialize/>
>                 </map:when>
>             </map:select>
>         </map:pipeline>
> 
> 
> * stuff before <map:redirect-to> is not allowed by the schema:
>         <map:pipeline>
>             <map:act/>
>             <map:redirect-to uri="http://www.somewhere.be"/>
>         </map:pipeline>
> 
> * A map:serialize on its own is not allowed by the schema:
> 
>         <map:pipeline>
>             <map:select>
>                 <map:when test="...">
>                     <map:generate/>
>                     <map:transform/>
>                 </map:when>
>             </map:select>
>             <map:serialize/>
>         </map:pipeline>

Fixed all the above.

> 
> 
> 
> Finally, here are the errors in the schema itself as reported 
> by Xerces:

I didn't yet touch most of the errors below yet. Some of them are caused by
wrong usage of type inheritance by restriction and some refactoring will be
needed. 

Regards,
  Konstantin

> 
> [Error] sitemap-2.1-draft.xsd:308:41: Error:  The child 
> 'choice' of the
> named group definition 'indirectComponents' must not specify 
> either the
> minOccurs or maxOccurs attribute.
> [Error] sitemap-2.1-draft.xsd:205:76: p-props-correct.2.1: 
> {min occurs}
> = '1' must not be greater than {max occurs} = '0' for 'group'.
> [Error] sitemap-2.1-draft.xsd:206:77: p-props-correct.2.1: 
> {min occurs}
> = '1' must not be greater than {max occurs} = '0' for 'group'.
> [Error] sitemap-2.1-draft.xsd:204:28: derivation-ok-restriction.5.2:
> Error for type 'noGenerationPipelineType'.  The content type of this
> type is empty, but the content type of the base is not.
> [Error] sitemap-2.1-draft.xsd:190:30: cos-ct-extends.1.4.2.2.2.2.1:
> Error for type 'viewType'.  The content type of a derived 
> type and that
> of its base must both be mixed or element-only.
> [Error] sitemap-2.1-draft.xsd:359:30: cos-ct-extends.1.4.2.2.2.2.1:
> Error for type 'handle-errorsType'.  The content type of a 
> derived type
> and that of its base must both be mixed or element-only.
> [Error] sitemap-2.1-draft.xsd:330:49: s4s-att-not-allowed: Attribute
> 'name' cannot appear in element 'complexType'.
> [Error] sitemap-2.1-draft.xsd:421:33: cos-nonambig:
> ("http://apache.org/cocoon/sitemap/1.0":call) and
> ("http://apache.org/cocoon/sitemap/1.0":call){0-UNBOUNDED} 
> (or elements
> from their substitution group) violate "Unique Particle Attribution".
> [Error] sitemap-2.1-draft.xsd:393:41: cos-nonambig:
> ("http://apache.org/cocoon/sitemap/1.0":call) and
> ("http://apache.org/cocoon/sitemap/1.0":call){0-UNBOUNDED} 
> (or elements
> from their substitution group) violate "Unique Particle Attribution".
> [Error] sitemap-2.1-draft.xsd:373:38: cos-nonambig:
> ("http://apache.org/cocoon/sitemap/1.0":call) and
> ("http://apache.org/cocoon/sitemap/1.0":call){0-UNBOUNDED} 
> (or elements
> from their substitution group) violate "Unique Particle Attribution".
> [Error] sitemap-2.1-draft.xsd:317:36: cos-nonambig:
> ("http://apache.org/cocoon/sitemap/1.0":parameter){0-UNBOUNDED} and
> ("http://apache.org/cocoon/sitemap/1.0":parameter){0-UNBOUNDED} (or
> elements from their substitution group) violate "Unique Particle
> Attribution".
> [Error] sitemap-2.1-draft.xsd:201:53: 
> cos-particle-restrict.2: Forbidden
> particle restriction:  'any:choice,sequence,all,elt'.
> [Error] sitemap-2.1-draft.xsd:201:53: derivation-ok-restriction.5.3:
> Error for type 'noGenerationPipelineType'.  The particle of 
> the type is
> not a valid restriction of the particle of the base.
> [Error] sitemap-2.1-draft.xsd:173:41: cos-nonambig:
> ("http://apache.org/cocoon/sitemap/1.0":call) and
> ("http://apache.org/cocoon/sitemap/1.0":call){0-UNBOUNDED} 
> (or elements
> from their substitution group) violate "Unique Particle Attribution".
> [Error] sitemap-2.1-draft.xsd:243:48: cos-nonambig:
> ("http://apache.org/cocoon/sitemap/1.0":call) and
> ("http://apache.org/cocoon/sitemap/1.0":call){0-UNBOUNDED} 
> (or elements
> from their substitution group) violate "Unique Particle Attribution".
> 
> 
> That's all.
> 
> I'm not an xml schema guru myself (who is?), but maybe 
> someone else can
> do something usefull with this.
> 
> --
> Bruno Dumon
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: cocoon-dev-unsubscribe@xml.apache.org
> For additional commands, email: cocoon-dev-help@xml.apache.org
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: cocoon-dev-unsubscribe@xml.apache.org
For additional commands, email: cocoon-dev-help@xml.apache.org


Mime
View raw message