kpiroumian 2002/06/08 15:55:13 Modified: src/documentation/xdocs/drafts sitemap-2.1-draft.xsd Log: Added 'label' attribute to 'generate', 'transform' elements. Revision Changes Path 1.3 +62 -119 xml-cocoon2/src/documentation/xdocs/drafts/sitemap-2.1-draft.xsd Index: sitemap-2.1-draft.xsd =================================================================== RCS file: /home/cvs/xml-cocoon2/src/documentation/xdocs/drafts/sitemap-2.1-draft.xsd,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- sitemap-2.1-draft.xsd 6 Jun 2002 16:24:15 -0000 1.2 +++ sitemap-2.1-draft.xsd 8 Jun 2002 22:55:13 -0000 1.3 @@ -1,12 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- $Id: sitemap-2.1-draft.xsd,v 1.2 2002/06/06 16:24:15 kpiroumian Exp $ --> -<xs:schema version="1.0" - targetNamespace="http://apache.org/cocoon/sitemap/2.0" - xmlns:map="http://apache.org/cocoon/sitemap/2.0" - xmlns:xs="http://www.w3.org/2001/XMLSchema" - elementFormDefault="qualified" -> - +<!-- $Id: sitemap-2.1-draft.xsd,v 1.3 2002/06/08 22:55:13 kpiroumian Exp $ --> +<xs:schema version="1.0" targetNamespace="http://apache.org/cocoon/sitemap/2.0" xmlns:map="http://apache.org/cocoon/sitemap/2.0" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> <!-- The 'sitemap' root element --> <xs:element name="sitemap"> <xs:complexType> @@ -18,10 +12,8 @@ <xs:element name="pipelines" type="map:pipelinesType"/> </xs:sequence> </xs:complexType> - </xs:element> - + </xs:element> <!-- ====== General types ====== --> - <!-- Additional types can be used for more strict validation. E.g.: @@ -30,33 +22,28 @@ - Status codes (Pattern, regexp or enumeration: 3??, 4??, 5??) etc. --> - <!-- ====== Component configuration types ====== --> - <xs:attributeGroup name="componentAttributes"> <xs:attribute name="name" type="xs:NMTOKEN" use="required"/> <xs:attribute name="src" type="xs:string" use="required"/> - <!-- FIXME (KP): Can a label be used with matchers, actions, readers or serializers? --> + <!-- FIXME (KP): Can a label be used with matchers, actions, readers or serializers? --> <xs:attribute name="label" type="xs:string" use="optional"/> <!-- Only for LogEnabled components --> <xs:attribute name="logger" type="xs:string" use="optional"/> - <!-- Only for Poolable components --> + <!-- Only for Poolable components --> <xs:attribute name="pool-max" type="xs:unsignedLong" use="optional"/> <xs:attribute name="pool-min" type="xs:unsignedLong" use="optional"/> <xs:attribute name="pool-grow" type="xs:unsignedLong" use="optional"/> - </xs:attributeGroup> - + </xs:attributeGroup> <!-- Base type for all configurable components: /map:sitemap/map:components/*/* --> <xs:complexType name="componentType"> <!-- Component custom configuration parameters --> <xs:sequence minOccurs="0" maxOccurs="unbounded"> <xs:any namespace="##other"/> </xs:sequence> - <xs:attributeGroup ref="map:componentAttributes" /> + <xs:attributeGroup ref="map:componentAttributes"/> </xs:complexType> - <!-- Sitemap component types --> - <!-- Serializers have additional 'mime-type' attribute. Other components use the 'componentType' directly. @@ -68,13 +55,11 @@ </xs:extension> </xs:complexContent> </xs:complexType> - <!-- Sitemap component lists --> <xs:complexType name="componentListType"> <xs:attribute name="default" type="xs:NMTOKEN" use="optional"/> - <xs:attribute name="label" type="xs:string" use="optional"/> + <xs:attribute name="label" type="xs:string" use="optional"/> </xs:complexType> - <xs:complexType name="generatorsType"> <xs:complexContent> <xs:extension base="map:componentListType"> @@ -84,7 +69,6 @@ </xs:extension> </xs:complexContent> </xs:complexType> - <xs:complexType name="transformersType"> <xs:complexContent> <xs:extension base="map:componentListType"> @@ -94,7 +78,6 @@ </xs:extension> </xs:complexContent> </xs:complexType> - <xs:complexType name="readersType"> <xs:complexContent> <xs:extension base="map:componentListType"> @@ -104,7 +87,6 @@ </xs:extension> </xs:complexContent> </xs:complexType> - <xs:complexType name="serializersType"> <xs:complexContent> <xs:extension base="map:componentListType"> @@ -114,7 +96,6 @@ </xs:extension> </xs:complexContent> </xs:complexType> - <xs:complexType name="matchersType"> <xs:complexContent> <xs:extension base="map:componentListType"> @@ -124,7 +105,6 @@ </xs:extension> </xs:complexContent> </xs:complexType> - <xs:complexType name="selectorsType"> <xs:complexContent> <xs:extension base="map:componentListType"> @@ -134,14 +114,12 @@ </xs:extension> </xs:complexContent> </xs:complexType> - <!-- FIXME (KP): Can 'actions' have a 'default' attribute? --> <xs:complexType name="actionsType"> <xs:sequence> <xs:element name="action" type="map:componentType" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> - <!-- 'Config' postfix used to differentiate from pipelines type --> <xs:complexType name="pipelinesConfigType"> <xs:complexContent> @@ -152,7 +130,6 @@ </xs:extension> </xs:complexContent> </xs:complexType> - <!-- Sitemap component configuration: /map:sitemap/map:componenets--> <xs:complexType name="componentsType"> <xs:all> @@ -166,38 +143,32 @@ <xs:element name="pipelines" type="map:pipelinesConfigType" minOccurs="0"/> </xs:all> </xs:complexType> - <!-- ====== Non component nor pipeline declarations: action-sets, views, resources. /map:sitemap/*[name()!='map:pipelines' and name() != 'map:components'] ====== --> - <!-- /map:sitemap/map:action-sets --> <xs:complexType name="action-setsType"> <xs:sequence> <xs:element name="action-set" type="map:action-setType"/> </xs:sequence> </xs:complexType> - <!-- /map:sitemap/map:action-sets/map:action-set --> <xs:complexType name="action-setType"> <xs:sequence> <xs:element name="act" type="map:actConfigType" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="name" type="xs:string" use="required"/> - </xs:complexType> - + </xs:complexType> <!-- /map:sitemap/map:action-sets/map:action-set/map:act --> <xs:complexType name="actConfigType"> <xs:attribute name="action" type="xs:string" use="required"/> <xs:attribute name="type" type="xs:string" use="required"/> </xs:complexType> - <!-- /map:sitemap/map:resources --> <xs:complexType name="resourcesType"> <xs:sequence> <xs:element name="resource" type="map:resourceType" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> - <!-- /map:sitemap/map:resources/map:resource --> <xs:complexType name="resourceType"> <xs:complexContent> @@ -205,58 +176,51 @@ <xs:attribute name="name" type="xs:string" use="required"/> </xs:extension> </xs:complexContent> - </xs:complexType> - + </xs:complexType> <!-- /map:sitemap/map:views --> <xs:complexType name="viewsType"> <xs:sequence> <xs:element name="view" type="map:viewType" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> - <!-- /map:sitemap/map:views/map:view --> <xs:complexType name="viewType"> <xs:complexContent> <xs:extension base="map:noGenerationPipelineType"> <xs:sequence> - <xs:group ref="map:transformingComponents" /> - <xs:group ref="map:outputtingComponents" /> - </xs:sequence> + <xs:group ref="map:transformingComponents"/> + <xs:group ref="map:outputtingComponents"/> + </xs:sequence> <xs:attribute name="name" type="xs:NMTOKEN" use="required"/> <xs:attribute name="from-label" type="xs:NMTOKEN" use="optional"/> <xs:attribute name="from-position" type="xs:NMTOKEN" use="optional"/> </xs:extension> </xs:complexContent> </xs:complexType> - <!-- This type is used as base for 'view' and 'handle-errors' types --> <xs:complexType name="noGenerationPipelineType"> <xs:complexContent> <xs:restriction base="map:pipelineContentType"> <xs:choice> - <xs:group ref="map:singletonComponents" maxOccurs="0" /> - <xs:group ref="map:generatingComponents" maxOccurs="0" /> + <xs:group ref="map:singletonComponents" maxOccurs="0"/> + <xs:group ref="map:generatingComponents" maxOccurs="0"/> </xs:choice> </xs:restriction> </xs:complexContent> - </xs:complexType> - + </xs:complexType> <!-- ====== Pipeline content types: /map:sitemap/map:pipelines//* ====== --> - <!-- //map:parameter --> <xs:complexType name="parameterType"> <xs:attribute name="name" type="xs:string" use="required"/> <xs:attribute name="type" type="xs:string" use="optional"/> <xs:attribute name="value" type="xs:string" use="required"/> - </xs:complexType> - + </xs:complexType> <xs:complexType name="parametrizedContent"> <xs:sequence> - <xs:element name="parameter" type="map:parameterType" minOccurs="0" maxOccurs="unbounded" /> + <xs:element name="parameter" type="map:parameterType" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> - - <!-- A pipeline can contain the following elements. + <!-- A pipeline can contain the following elements. Direct: - generate - aggregate @@ -279,15 +243,14 @@ <xs:complexType name="pipelineContentType"> <xs:complexContent> <xs:extension base="map:parametrizedContent"> - <xs:group ref="map:pipelineContent" /> + <xs:group ref="map:pipelineContent"/> </xs:extension> </xs:complexContent> - </xs:complexType> - + </xs:complexType> <xs:group name="pipelineContent"> <xs:choice> - <xs:group ref="map:singletonComponents" minOccurs="0"/> - <xs:group ref="map:indirectComponents" minOccurs="0" maxOccurs="unbounded"/> + <xs:group ref="map:singletonComponents" minOccurs="0"/> + <xs:group ref="map:indirectComponents" minOccurs="0" maxOccurs="unbounded"/> <xs:group ref="map:plainPipeline" minOccurs="0"/> <xs:group ref="map:generatingComponents" minOccurs="0"/> <xs:group ref="map:transformingComponents" minOccurs="0" maxOccurs="unbounded"/> @@ -303,73 +266,64 @@ </xs:choice> </xs:sequence> </xs:choice --> - </xs:choice> + </xs:choice> </xs:group> - <!-- Helper groups --> <xs:group name="plainPipeline"> - <xs:sequence> - <xs:group ref="map:indirectComponents" minOccurs="0" maxOccurs="unbounded"/> + <xs:sequence> + <xs:group ref="map:indirectComponents" minOccurs="0" maxOccurs="unbounded"/> <xs:group ref="map:generatingComponents"/> - <xs:group ref="map:indirectComponents" minOccurs="0" maxOccurs="unbounded"/> - <xs:group ref="map:transformingComponents" /> - <xs:group ref="map:indirectComponents" minOccurs="0" maxOccurs="unbounded"/> - <xs:group ref="map:outputtingComponents" /> - </xs:sequence> + <xs:group ref="map:indirectComponents" minOccurs="0" maxOccurs="unbounded"/> + <xs:group ref="map:transformingComponents"/> + <xs:group ref="map:indirectComponents" minOccurs="0" maxOccurs="unbounded"/> + <xs:group ref="map:outputtingComponents"/> + </xs:sequence> </xs:group> - <xs:group name="singletonComponents"> <xs:choice> - <xs:element name="mount" type="map:mountType"/> - <xs:element name="redirect-to" type="map:redirect-toType" /> - <xs:element name="read" type="map:readType"/> + <xs:element name="mount" type="map:mountType"/> + <xs:element name="redirect-to" type="map:redirect-toType"/> + <xs:element name="read" type="map:readType"/> </xs:choice> </xs:group> - <xs:group name="generatingComponents"> <xs:choice> - <xs:element name="generate" type="map:generateType" /> - <xs:element name="aggregate" type="map:aggregateType" /> - <xs:element name="call" type="map:callType" /> + <xs:element name="generate" type="map:generateType"/> + <xs:element name="aggregate" type="map:aggregateType"/> + <xs:element name="call" type="map:callType"/> </xs:choice> </xs:group> - <xs:group name="transformingComponents"> <xs:choice> <xs:element name="transform" type="map:transformType" maxOccurs="unbounded"/> - <xs:element name="call" type="map:callType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="call" type="map:callType" minOccurs="0" maxOccurs="unbounded"/> </xs:choice> </xs:group> - <xs:group name="outputtingComponents"> <xs:choice> - <xs:element name="serialize" type="map:serializeType" minOccurs="0" /> - <xs:element name="call" type="map:callType" minOccurs="0"/> + <xs:element name="serialize" type="map:serializeType" minOccurs="0"/> + <xs:element name="call" type="map:callType" minOccurs="0"/> </xs:choice> </xs:group> - <xs:group name="indirectComponents"> <xs:choice minOccurs="0" maxOccurs="unbounded"> - <xs:element name="match" type="map:matchType" /> - <xs:element name="act" type="map:actType" /> - <xs:element name="select" type="map:selectType" /> + <xs:element name="match" type="map:matchType"/> + <xs:element name="act" type="map:actType"/> + <xs:element name="select" type="map:selectType"/> </xs:choice> </xs:group> - <!-- end of helper groups --> - <!-- /map:sitemap/map:pipelines/map:pipeline//map:act --> <xs:complexType name="actType"> <xs:complexContent> <xs:extension base="map:pipelineContentType"> <xs:sequence> - <xs:element name="parameter" type="map:parameterType" minOccurs="0" maxOccurs="unbounded" /> + <xs:element name="parameter" type="map:parameterType" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="type" type="xs:string"/> </xs:extension> </xs:complexContent> </xs:complexType> - <xs:complexType name="aggregateType"> <xs:sequence> <xs:element name="part" maxOccurs="unbounded"> @@ -378,36 +332,34 @@ <xs:attribute name="ns" type="xs:anyURI" use="optional"/> <xs:attribute name="src" type="xs:anyURI" use="required"/> <xs:attribute name="label" type="xs:string" use="optional"/> - </xs:complexType> + </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="element" type="xs:string" use="optional"/> <xs:attribute name="ns" type="xs:anyURI" use="optional"/> <xs:attribute name="label" type="xs:string" use="optional"/> </xs:complexType> - <xs:complexType name="callType"> <xs:sequence> <xs:element name="parameter" type="map:parameterType" minOccurs="0"/> </xs:sequence> - <xs:attribute name="resource" use="required" type="xs:NMTOKEN" /> + <xs:attribute name="resource" use="required" type="xs:NMTOKEN"/> </xs:complexType> - <xs:complexType name="generateType"> <xs:sequence> <xs:element name="parameter" type="map:parameterType" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="src" type="xs:string"/> - <xs:attribute name="type" type="xs:NMTOKEN" /> + <xs:attribute name="type" type="xs:NMTOKEN"/> + <xs:attribute name="label" type="xs:string" use="optional"/> </xs:complexType> - <xs:complexType name="handle-errorsType"> <xs:complexContent> <xs:extension base="map:noGenerationPipelineType"> <xs:sequence> - <xs:group ref="map:transformingComponents" /> - <xs:group ref="map:outputtingComponents" /> - </xs:sequence> + <xs:group ref="map:transformingComponents"/> + <xs:group ref="map:outputtingComponents"/> + </xs:sequence> <xs:attribute name="type"> <xs:simpleType> <xs:restriction base="xs:string"> @@ -418,16 +370,14 @@ </xs:extension> </xs:complexContent> </xs:complexType> - <xs:complexType name="matchType"> <xs:complexContent> <xs:extension base="map:pipelineContentType"> <xs:attribute name="type" type="xs:string"/> - <xs:attribute name="pattern" type="xs:string" use="required"/> + <xs:attribute name="pattern" type="xs:string" use="required"/> </xs:extension> </xs:complexContent> </xs:complexType> - <xs:complexType name="mountType"> <xs:attribute name="check-reload" use="required"> <xs:simpleType> @@ -440,19 +390,17 @@ <xs:attribute name="src" type="xs:string" use="required"/> <xs:attribute name="uri-prefix" type="xs:string" use="required"/> </xs:complexType> - <xs:complexType name="pipelineType"> <xs:complexContent> <xs:extension base="map:pipelineContentType"> <xs:sequence> <xs:element name="handle-errors" type="map:handle-errorsType" minOccurs="0"/> </xs:sequence> - <xs:attribute name="id" type="xs:string"/> + <xs:attribute name="id" type="xs:string"/> <xs:attribute name="internal-only" type="xs:boolean"/> - </xs:extension> + </xs:extension> </xs:complexContent> </xs:complexType> - <xs:complexType name="pipelinesType"> <xs:sequence> <xs:element name="global-parameters" minOccurs="0"/> @@ -460,44 +408,39 @@ <xs:element name="pipeline" type="map:pipelineType" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> - <xs:complexType name="readType"> <xs:attribute name="mime-type" type="xs:string" use="required"/> <xs:attribute name="src" type="xs:string" use="required"/> </xs:complexType> - <xs:complexType name="redirect-toType"> <xs:attribute name="uri" type="xs:anyURI" use="required"/> </xs:complexType> - <xs:complexType name="selectType"> <xs:sequence> <xs:element name="when" maxOccurs="unbounded"> <xs:complexType> <xs:complexContent> <xs:extension base="map:pipelineContentType"> - <xs:attribute name="test" type="xs:string" /> + <xs:attribute name="test" type="xs:string"/> </xs:extension> </xs:complexContent> - </xs:complexType> + </xs:complexType> </xs:element> <xs:element name="otherwise" minOccurs="0" type="map:pipelineContentType"/> </xs:sequence> - <xs:attribute name="type" type="xs:NMTOKEN" /> - </xs:complexType> - + <xs:attribute name="type" type="xs:NMTOKEN"/> + </xs:complexType> <xs:complexType name="serializeType"> - <xs:attribute name="type" type="xs:NMTOKEN" /> + <xs:attribute name="type" type="xs:NMTOKEN"/> <xs:attribute name="status-code" type="xs:short"/> <xs:attribute name="mime-type" type="xs:string"/> </xs:complexType> - <xs:complexType name="transformType"> <xs:sequence> <xs:element name="parameter" type="map:parameterType" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="src" type="xs:string"/> - <xs:attribute name="type" type="xs:NMTOKEN" /> - </xs:complexType> - + <xs:attribute name="type" type="xs:NMTOKEN"/> + <xs:attribute name="label" type="xs:string" use="optional"/> + </xs:complexType> </xs:schema>
---------------------------------------------------------------------- In case of troubles, e-mail: [EMAIL PROTECTED] To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]