Common RELAX NG Definitions for Paloose Sitemaps
Author: Hugh Field-Richards
Date: 2011-08-03T12:15
Some components have an associated parameter of the form:
<parameter name="quality" type="float" value="0.9"/>
<define name="common.element.parameter"> <element name="map:parameter"> <attribute name="name"> <text/> </attribute> <optional> <attribute name="type"> <text/> </attribute> </optional> <attribute name="value"> <text/> </attribute> </element> </define>
<define name="common.trueFalseEnum" combine="choice"> <choice> <value>1</value> <value>0</value> <value>yes</value> <value>no</value> <value>true</value> <value>false</value> </choice> </define>
<define name="data.componentName"> <data type="string"> <param name="pattern">[0-9a-zA-Z\.\-]+</param> </data> </define>
<define name="data.componentLabel"> <data type="string"> <param name="pattern">[0-9a-zA-Z\-]+</param> </data> </define>
<define name="data.elementName"> <data type="string"> <param name="pattern">([a-zA-Z\-]+:)?[a-zA-Z]+[a-zA-Z0-9\-]+</param> </data> </define>
<define name="data.sourceFileName"> <data type="string"> <param name="pattern">((resource:/)|(context:/)|(cocoon:/)|\{|(/))(\S+/)*(\S+)</param> </data> </define>
This needs to be expanded.
<define name="data.language"> <data type="string"> <param name="pattern">\S+</param> </data> </define>
Accept any element in the "http://relaxng.org/ns/annotation/1.0", "http://purl.org/dc/elements/1.1/" and "http://www.w3.org/1999/xhtml" namespaces.
<define name="map.annotation"> <element ns="http://relaxng.org/ns/annotation/1.0" name="documentation"> <interleave> <element ns="http://purl.org/dc/elements/1.1/" name="title"> <text/> </element> <element ns="http://purl.org/dc/elements/1.1/" name="date"> <text/> </element> <element ns="http://purl.org/dc/elements/1.1/" name="creator"> <text/> </element> <element ns="http://purl.org/dc/elements/1.1/" name="language"> <text/> </element> </interleave> </element> </define>
<define name="namespace.xhtml"> <zeroOrMore> <element> <nsName ns="http://www.w3.org/1999/xhtml"/> <text/> </element> </zeroOrMore> </define>