Here's an updated version that works with 2.1-dev I haven't checked with sub sitemaps and I need to add tag/attribute references to make it really useful. Bert
At 11:42 31/05/2002 +0200, you wrote: >Rogier Peters showed me the Sitemap DTD (Cocoon >root\documentation\resources\entities\sitemap-v02.dtd). That will do. > >Arjé > >-----Oorspronkelijk bericht----- >Van: Arjé Cahn >Verzonden: 30 May 2002 11:48 >Aan: [EMAIL PROTECTED] >Onderwerp: Sitemap schema > > >All, > >In response to Leona's question ("development tools that support Cocoon >2") I was wondering wheter there exists a schema for the Cocoon 2 sitemap. >Is anyone working on this? > >Regards, > >Arjé Cahn > > >--------------------------------------------------------- >Content Management Department >Hippo Webworks >Grasweg 35 >1031 HW Amsterdam >The Netherlands >Tel +31 (0)20 6345173 >Fax +31 (0)20 6345179 >arje(at)hippo(dot)nl / www.hippo.nl > > > > >--------------------------------------------------------------------- >Please check that your question has not already been answered in the >FAQ before posting. <http://xml.apache.org/cocoon/faqs.html> > >To unsubscribe, e-mail: <[EMAIL PROTECTED]> >For additional commands, e-mail: <[EMAIL PROTECTED]> > > >--------------------------------------------------------------------- >Please check that your question has not already been answered in the >FAQ before posting. <http://xml.apache.org/cocoon/faqs.html> > >To unsubscribe, e-mail: <[EMAIL PROTECTED]> >For additional commands, e-mail: <[EMAIL PROTECTED]>
<!-- =================================================================== Apache Cocoon Sitemap DTD (Version 0.2) PURPOSE: INITIAL DRAFT DTD for the Cocoon2 sitemap.xmap files. TYPICAL INVOCATION: <!DOCTYPE map:sitemap PUBLIC "-//APACHE//DTD Cocoon Sitemap Vx.yz//EN" "sitemap-vxyz.dtd"> where x := major version y := minor version z := status identifier (optional) NOTES: * ATTENTION: This initial DTD was reverse-engineered from the various sitemap.xmap instances included in the current distribution. This is just an attempt to document the existing rules for sitemap structure. In many cases a very lax content model is used, simply to get around validation issues. A proper design process is still required. * Needed by XML editing tools for creation of reliable documents. * Can generate XSD once DTD is locked down. * We need to synchronise this DTD with the relax-ng work by <[EMAIL PROTECTED]> ... cocoon-dev 2001-07-18 http://marc.theaimsgroup.com/?l=xml-cocoon-dev&m=99545886226916&w=2 * This DTD has been tested with various XML validating parsers. * The big questions (still) are: "What possibilities were not included in the examples?" and "What in the example sitemap.xmap files is mandatory versus optional?" AUTHORS: Jeffrey Ricker NG (Usonia Holdings) <[EMAIL PROTECTED]> David Crossley <[EMAIL PROTECTED]> FIXME: - map:act is used in various contexts, so it has a loose definition - Completely rewrite this DTD looking from the application point-of-view (do not rely on this temporary initial DTD) - map:when and map:otherwise are shown in xdocs/sitemap.xml but are not used in the sitemap.xmap files - align elements and attributes with sitemap*.xsl - review all xdocs/userdocs/generators/*.xml etc. and sync with this DTD CHANGE HISTORY: 20010715 V0.1 Initial version. (RNG) 20011106 V0.2 Reviewed all */sitemap.xmap and added definitions (DC) 20011106 V0.2 All elements now have "map:" prefix. (DC) 20011106 V0.2 Incorporated comments Bruno Dumon cocoon-dev 20010718 (DC) 20011116 V0.2 Changes from label/view discussion cocoon-dev 20011115 (DC) 20011219 V0.2 Deprecated 'redirect-to resource'. Added 'map:call resource'(CH) 20020426 V0.3 added logges attributes, added authentication, portlet and session action attributes and elements (BVK) ==================================================================== --> <!ELEMENT map:sitemap (map:components, map:views?, map:resources?, map:action-sets?, map:pipelines)> <!ATTLIST map:sitemap xmlns:map CDATA #FIXED "http://apache.org/cocoon/sitemap/1.0" > <!-- =============================================================== --> <!-- Components --> <!-- =============================================================== --> <!ELEMENT map:components (map:generators, map:transformers, map:readers, map:serializers, map:matchers?, map:selectors?, map:actions?)> <!-- RNG: must they appear in this order? must they all appear, even if they are empty? --> <!-- DC: it seems that some sitemaps do not contain all components e.g. documentation/sitemap.xmap does not have map:selectors --> <!-- Generators ======================================== --> <!ELEMENT map:generators (map:generator*)> <!ATTLIST map:generators default CDATA #IMPLIED > <!ELEMENT map:generator EMPTY> <!ATTLIST map:generator name CDATA #REQUIRED src CDATA #REQUIRED label CDATA #IMPLIED logger CDATA #IMPLIED pool-max CDATA #IMPLIED pool-min CDATA #IMPLIED pool-grow CDATA #IMPLIED > <!-- RNG: with all attributes, which are required and which are implied? --> <!-- Transformers ====================================== --> <!ELEMENT map:transformers (map:transformer*)> <!ATTLIST map:transformers default CDATA #IMPLIED > <!ELEMENT map:transformer ANY> <!-- RNG: surely the content is not ANY. However, there were so many children here that I did not know where to begin --> <!-- DC: here are some that are currently used --> <!ELEMENT use-store (#PCDATA)> <!ELEMENT use-request-parameters (#PCDATA)> <!ELEMENT use-browser-capabilities-db (#PCDATA)> <!ELEMENT catalogue-name (#PCDATA)> <!ELEMENT catalogue-location (#PCDATA)> <!ELEMENT use-deli (#PCDATA)> <!ATTLIST map:transformer name CDATA #REQUIRED src CDATA #REQUIRED label CDATA #IMPLIED logger CDATA #IMPLIED pool-max CDATA #IMPLIED pool-min CDATA #IMPLIED pool-grow CDATA #IMPLIED > <!-- Readers =========================================== --> <!ELEMENT map:readers (map:reader*)> <!ATTLIST map:readers default CDATA #IMPLIED > <!ELEMENT map:reader EMPTY> <!-- RNG: does reader ever have children? Its peers do. --> <!ATTLIST map:reader name CDATA #REQUIRED src CDATA #REQUIRED pool-max CDATA #IMPLIED logger CDATA #IMPLIED > <!-- Serializers ======================================= --> <!ELEMENT map:serializers (map:serializer*)> <!ATTLIST map:serializers default CDATA #IMPLIED > <!ELEMENT map:serializer (doctype-public | doctype-system | encoding | omit-xml-declaration | parameter | buffer-size)*> <!-- RNG: are these the only children of serializer? --> <!ATTLIST map:serializer name CDATA #REQUIRED mime-type CDATA #REQUIRED src CDATA #REQUIRED pool-max CDATA #IMPLIED pool-min CDATA #IMPLIED pool-grow CDATA #IMPLIED logger CDATA #IMPLIED > <!ELEMENT doctype-public (#PCDATA)> <!ELEMENT doctype-system (#PCDATA)> <!ELEMENT encoding (#PCDATA)> <!ELEMENT omit-xml-declaration (#PCDATA)> <!ELEMENT parameter EMPTY> <!ELEMENT buffer-size (#PCDATA)> <!ATTLIST parameter name CDATA #REQUIRED value CDATA #REQUIRED type CDATA #IMPLIED > <!-- Selectors ========================================= --> <!ELEMENT map:selectors (map:selector*)> <!ATTLIST map:selectors default CDATA #IMPLIED > <!ELEMENT map:selector (browser*)> <!ATTLIST map:selector name CDATA #REQUIRED src CDATA #REQUIRED logger CDATA #IMPLIED > <!ELEMENT browser EMPTY> <!ATTLIST browser name CDATA #REQUIRED useragent CDATA #REQUIRED > <!-- Matchers ========================================== --> <!ELEMENT map:matchers (map:matcher*)> <!ATTLIST map:matchers default CDATA #IMPLIED > <!ELEMENT map:matcher (attribute-name | parameter-name | header-name)*> <!ATTLIST map:matcher name CDATA #REQUIRED src CDATA #REQUIRED logger CDATA #IMPLIED > <!ELEMENT attribute-name (#PCDATA)> <!ELEMENT parameter-name (#PCDATA)> <!ELEMENT header-name (#PCDATA)> <!-- Actions =========================================== --> <!ELEMENT map:actions (map:action*)> <!ATTLIST map:actions default CDATA #IMPLIED > <!ELEMENT map:action ANY> <!ATTLIST map:action name CDATA #REQUIRED src CDATA #REQUIRED logger CDATA #IMPLIED > <!ELEMENT handlers (handler+)> <!ELEMENT handler (redirect-to | authentication | load-users? | new-user? | change-user? | delete-user? | load-roles? | new-role? | delete-role? | applications?)*> <!ATTLIST handler name CDATA #REQUIRED xmlns:map CDATA #REQUIRED xmlns:sunshine CDATA #REQUIRED > <!ELEMENT redirect-to EMPTY> <!ATTLIST redirect-to uri CDATA #REQUIRED > <!ELEMENT new-user EMPTY> <!ATTLIST new-user uri CDATA #REQUIRED > <!ELEMENT new-role EMPTY> <!ATTLIST new-role uri CDATA #REQUIRED > <!ELEMENT load-users EMPTY> <!ATTLIST load-users uri CDATA #REQUIRED > <!ELEMENT load-roles EMPTY> <!ATTLIST load-roles uri CDATA #REQUIRED > <!ELEMENT delete-user EMPTY> <!ATTLIST delete-user uri CDATA #REQUIRED > <!ELEMENT delete-role EMPTY> <!ATTLIST delete-role uri CDATA #REQUIRED > <!ELEMENT applications (application)> <!ELEMENT application (configuration?)> <!ATTLIST application loadondemand CDATA #REQUIRED name CDATA #REQUIRED > <!ELEMENT configuration (auth-redirect, portal-uri, profile-cache, process-coplets-parallel, default-coplet-timeout, profile)> <!ATTLIST configuration name CDATA #REQUIRED > <!ELEMENT profile-cache (#PCDATA)> <!ELEMENT profile (layout-base, coplet-base, coplet-base-save, type-base, admin-type-base, global-delta-load, global-delta-save, role-delta-load, role-delta-save, user-delta-load, user-delta-save, user-status-load, user-status-save)> <!ELEMENT user-delta-load EMPTY> <!ATTLIST user-delta-load uri CDATA #REQUIRED > <!ELEMENT user-delta-save EMPTY> <!ATTLIST user-delta-save uri CDATA #REQUIRED > <!ELEMENT user-status-load EMPTY> <!ATTLIST user-status-load uri CDATA #REQUIRED > <!ELEMENT user-status-save EMPTY> <!ATTLIST user-status-save uri CDATA #REQUIRED > <!ELEMENT type-base EMPTY> <!ATTLIST type-base uri CDATA #REQUIRED > <!ELEMENT role-delta-save EMPTY> <!ATTLIST role-delta-save uri CDATA #REQUIRED > <!ELEMENT role-delta-load EMPTY> <!ATTLIST role-delta-load uri CDATA #REQUIRED > <!ELEMENT layout-base EMPTY> <!ATTLIST layout-base uri CDATA #REQUIRED > <!ELEMENT global-delta-save EMPTY> <!ATTLIST global-delta-save uri CDATA #REQUIRED > <!ELEMENT global-delta-load EMPTY> <!ATTLIST global-delta-load uri CDATA #REQUIRED > <!ELEMENT coplet-base-save EMPTY> <!ATTLIST coplet-base-save uri CDATA #REQUIRED > <!ELEMENT coplet-base EMPTY> <!ATTLIST coplet-base uri CDATA #REQUIRED > <!ELEMENT admin-type-base EMPTY> <!ATTLIST admin-type-base uri CDATA #REQUIRED > <!ELEMENT process-coplets-parallel (#PCDATA)> <!ELEMENT portal-uri (#PCDATA)> <!ELEMENT default-coplet-timeout (#PCDATA)> <!ELEMENT auth-redirect (#PCDATA)> <!ELEMENT authentication EMPTY> <!ATTLIST authentication uri CDATA #REQUIRED > <!ELEMENT change-user EMPTY> <!ATTLIST change-user uri CDATA #REQUIRED > <!-- =============================================================== --> <!-- Views --> <!-- =============================================================== --> <!ELEMENT map:views (map:view*)> <!ELEMENT map:view (map:transform*, map:serialize)> <!ATTLIST map:view name CDATA #REQUIRED from-label CDATA #IMPLIED from-position (first | last) "last" > <!ELEMENT map:serialize (map:parameter*)> <!ATTLIST map:serialize type CDATA #IMPLIED mime-type CDATA #IMPLIED status-code CDATA #IMPLIED > <!-- =============================================================== --> <!-- Resources --> <!-- =============================================================== --> <!ELEMENT map:resources (map:resource*)> <!ELEMENT map:resource ((map:generate, map:transform+, map:serialize) | map:act)> <!ATTLIST map:resource name CDATA #REQUIRED > <!-- generate and transform defined in PIPELINE section --> <!-- =============================================================== --> <!-- Action Sets --> <!-- =============================================================== --> <!ELEMENT map:action-sets (map:action-set*)> <!ELEMENT map:action-set (map:act+)> <!ATTLIST map:action-set name CDATA #REQUIRED > <!ELEMENT map:act (map:parameter | map:redirect-to | map:call | map:generate | map:transform | map:serialize | map:act | map:match)*> <!ATTLIST map:act type CDATA #IMPLIED action CDATA #IMPLIED set CDATA #IMPLIED > <!-- =============================================================== --> <!-- Pipelines --> <!-- =============================================================== --> <!ELEMENT map:pipelines (map:pipeline*)> <!ELEMENT map:pipeline (map:match*, map:handle-errors?)> <!ATTLIST map:pipeline internal-only CDATA #IMPLIED > <!ELEMENT map:match (map:mount | map:redirect-to | map:call | map:generate | map:select | map:transform | map:serialize | map:read | map:aggregate | map:act | map:match)*> <!-- RNG: It seemed from the example that match should be defined as match (map:mount*|map:redirect-to*|(map:generate*,map:transform*,map:serialize*)*|map:read*|map:aggregate*) but I have no way of knowing. --> <!-- DC: Now map:act complicates the content model even further --> <!ATTLIST map:match type CDATA #IMPLIED pattern CDATA #REQUIRED > <!-- map:act is already defined in the Action Sets section --> <!ELEMENT map:mount EMPTY> <!ATTLIST map:mount uri-prefix CDATA #REQUIRED src CDATA #REQUIRED reload-method (synchron | asynchron) "asynchron" check-reload (true | false | yes | no) "no" > <!ELEMENT map:redirect-to EMPTY> <!ATTLIST map:redirect-to uri CDATA #IMPLIED session (true | false | yes | no) "no" > <!-- CH: redirects to resources are now deprecated <!ATTLIST map:redirect-to uri CDATA #IMPLIED resource CDATA #IMPLIED target CDATA #IMPLIED session (true|false|yes|no) "no" > --> <!ELEMENT map:call (map:parameter*)> <!ATTLIST map:call resource CDATA #REQUIRED > <!ELEMENT map:generate (map:parameter*)> <!ATTLIST map:generate type CDATA #IMPLIED src CDATA #IMPLIED label CDATA #IMPLIED > <!ELEMENT map:select (map:when+, map:otherwise)> <!ATTLIST map:select type CDATA #IMPLIED > <!ELEMENT map:when (map:transform)> <!ATTLIST map:when test CDATA #REQUIRED > <!ELEMENT map:otherwise (map:transform)> <!ELEMENT map:parameter EMPTY> <!ATTLIST map:parameter name CDATA #REQUIRED value CDATA #REQUIRED > <!ELEMENT map:transform (map:parameter*)> <!ATTLIST map:transform type CDATA #IMPLIED src CDATA #IMPLIED label CDATA #IMPLIED > <!-- map:serialize is already defined in VIEWS section --> <!ELEMENT map:read EMPTY> <!ATTLIST map:read src CDATA #REQUIRED mime-type CDATA #REQUIRED type CDATA #IMPLIED > <!ELEMENT map:aggregate (map:part*)> <!ATTLIST map:aggregate element CDATA #IMPLIED prefix CDATA #IMPLIED ns CDATA #IMPLIED label CDATA #IMPLIED > <!ELEMENT map:part EMPTY> <!ATTLIST map:part src CDATA #IMPLIED element CDATA #IMPLIED ns CDATA #IMPLIED strip-root CDATA #IMPLIED label CDATA #IMPLIED > <!ELEMENT map:handle-errors (map:generate*, map:transform*, map:serialize*)> <!-- =============================================================== --> <!-- End of DTD --> <!-- =============================================================== -->
--------------------------------------------------------------------- Please check that your question has not already been answered in the FAQ before posting. <http://xml.apache.org/cocoon/faqs.html> To unsubscribe, e-mail: <[EMAIL PROTECTED]> For additional commands, e-mail: <[EMAIL PROTECTED]>