This is the RELAX NG schema for the Paloose sitemaps. They are very similar to Cocoon sitemaps, but with enough differences to make it worth formalising separately. Any bug reports, help, suggestions, new task schemas etc to me, Hugh Field-Richards (hsfr@hsfr.org.uk).
The documentation is designed to be processed by the rng2xhtml.xsl pretty-printing processor available from the author.
The components definition defines what component that this sitemap requires.
<define name="map.components"> <element name="map:components"> </> <interleave> <zeroOrMore> <ref name="components.generators"/> </zeroOrMore> <zeroOrMore> <ref name="components.transformers"/> </zeroOrMore> <zeroOrMore> <ref name="components.serializers"/> </zeroOrMore> <zeroOrMore> <ref name="components.matchers"/> </zeroOrMore> <zeroOrMore> <ref name="components.readers"/> </zeroOrMore> <zeroOrMore> <ref name="components.selectors"/> </zeroOrMore> <zeroOrMore> <ref name="components.actions"/> </zeroOrMore> </interleave> </element> </define>
All components definition have an associated default for use in the pipeline.
<define name="components.attribute.default"> <optional> <attribute name="default"> <ref name="data.componentName"/> </attribute> </optional> </define>
All component instances may have an associated label (for views).
<define name="components.attribute.label"> <attribute name="label"> <ref name="data.componentLabel"/> </attribute> </define>
All aggregation instances may have an associated element attribute.
<define name="components.attribute.element"> <attribute name="element"> <ref name="data.elementName"/> </attribute> </define>
All component instances may have an associated type.
<define name="components.attribute.type"> <attribute name="type"> <ref name="data.componentName"/> </attribute> </define>
All component declarations must have an associated source (PHP5 source file).
<define name="components.attribute.src"> <attribute name="src"> <ref name="data.sourceFileName"/> </attribute> </define>
All component instances must have an associated type.
<define name="components.attribute.strip-root"> <attribute name="strip-root"> <ref name="common.trueFalseEnum"/> </attribute> </define>
Some but not all components can be cached.
<define name="component.attribute.cachable"> <optional> <attribute name="cachable"> <ref name="common.trueFalseEnum"/> </attribute> </optional> </define>
Some but not components can be instructed to use the request parameters.
<define name="component.use-request-parameters"> <element name="map:use-request-parameters"> <ref name="common.trueFalseEnum"/> </element> </define>
Each component has the following set of attributes.
<define name="component.attributes.common"> <attribute name="name"> <ref name="data.componentName"/> </attribute> <attribute name="src"> <ref name="data.sourceFileName"/> </attribute> </define>
Copyright (c) 2006 – 2009 Hugh Field-Richards
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
For a copy of the GNU General Public License write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.