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 :-) 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"/> * 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 ;-) * 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}"/> 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 * 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). 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> Finally, here are the errors in the schema itself as reported by Xerces: [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: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]