Colin Paul Adams wrote:
AFAIU, it is not possible to create DTD for the sitemap language exactly because some components allow any element name (for example, see RequestParameterExistsAction, and don't mind javadoc: it's not completely correct); the only possibility is to create DTD for all existing sitemap files.Vadim> Please mind that all invalid parts in lint are commented"Vadim" == Vadim Gritsenko <[EMAIL PROTECTED]> writes:
Vadim> out. The rest is valid sitemap (which, btw, works).
OK - lint sitemap now validates except for unknown-tag. In order for
that to validate, I have to add a line:
<!ELEMENT unknown-tag EMPTY>
or some such to the dtd. Is this reasonable?
If you are after second, then yes, it is reasonable.
PS Last thing which does not allow to run Cocoon in validating mode are XSLT files without DTD - and here universal DTD is also not possible to create.
PPS If it helps, attached find sitemap DTD which only purpose is to allow parsing with validation, but it does not have a purpose of validating sitemap... Hope it's clear.
Vadim
<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT attribute-name (#PCDATA)> <!ELEMENT base (#PCDATA)> <!ELEMENT browser EMPTY> <!ATTLIST browser name CDATA #REQUIRED useragent CDATA #REQUIRED > <!ELEMENT buffer-size (#PCDATA)> <!ELEMENT cache-at-startup (#PCDATA)> <!ELEMENT catalogue-location (#PCDATA)> <!ELEMENT catalogue-name (#PCDATA)> <!ELEMENT create-session (#PCDATA)> <!ELEMENT doctype-public (#PCDATA)> <!ELEMENT doctype-system (#PCDATA)> <!ELEMENT driver (#PCDATA)> <!ELEMENT encoding (#PCDATA)> <!ELEMENT header-name (#PCDATA)> <!ELEMENT indent (#PCDATA)> <!ELEMENT omit-xml-declaration (#PCDATA)> <!ELEMENT parameter EMPTY> <!ATTLIST parameter type CDATA #IMPLIED name CDATA #REQUIRED value CDATA #REQUIRED > <!ELEMENT parameter-name (#PCDATA)> <!ELEMENT store-in-cookie (#PCDATA)> <!ELEMENT store-in-request (#PCDATA)> <!ELEMENT store-in-session (#PCDATA)> <!ELEMENT use-browser-capabilities-db (#PCDATA)> <!ELEMENT use-deli (#PCDATA)> <!ELEMENT use-request-parameters (#PCDATA)> <!ELEMENT unknown-tag (#PCDATA)> <!ENTITY % pipecontent "(map:parameter|map:act|map:match|map:select|map:call|map:redirect-to|map:read|map:aggregate|map:generate|map:transform|map:serialize|map:mount)*"> <!ENTITY % compatts " label CDATA #IMPLIED logger CDATA #IMPLIED name CDATA #IMPLIED pool-grow CDATA #IMPLIED pool-max CDATA #IMPLIED pool-min CDATA #IMPLIED src CDATA #IMPLIED id CDATA #IMPLIED "> <!ELEMENT map:act %pipecontent;> <!ATTLIST map:act type CDATA #IMPLIED action CDATA #IMPLIED set CDATA #IMPLIED src CDATA #IMPLIED > <!ELEMENT map:action ANY> <!ATTLIST map:action %compatts;> <!ELEMENT map:action-set (map:act+)> <!ATTLIST map:action-set name CDATA #REQUIRED > <!ELEMENT map:action-sets (map:action-set*)> <!ELEMENT map:actions (map:action*)> <!ELEMENT map:aggregate (map:part+)> <!ATTLIST map:aggregate element CDATA #REQUIRED ns CDATA #IMPLIED prefix CDATA #IMPLIED > <!ELEMENT map:call (map:parameter?)> <!ATTLIST map:call resource CDATA #REQUIRED > <!ELEMENT map:components (map:generators?, map:transformers?, map:readers?, map:serializers?, map:matchers?, map:selectors?, map:actions?, map:pipelines?)*> <!ELEMENT map:generate (map:parameter*)> <!ATTLIST map:generate src CDATA #IMPLIED type CDATA #IMPLIED label CDATA #IMPLIED > <!ELEMENT map:generator ANY> <!ATTLIST map:generator %compatts;> <!ELEMENT map:generators (map:generator*)> <!ATTLIST map:generators default CDATA #REQUIRED > <!ELEMENT map:handle-errors %pipecontent;> <!ATTLIST map:handle-errors type CDATA #IMPLIED > <!ELEMENT map:match %pipecontent;> <!ATTLIST map:match pattern CDATA #REQUIRED type CDATA #IMPLIED > <!ELEMENT map:matcher ANY> <!ATTLIST map:matcher %compatts;> <!ELEMENT map:matchers (map:matcher*)> <!ATTLIST map:matchers default CDATA #REQUIRED > <!ELEMENT map:mount EMPTY> <!ATTLIST map:mount check-reload CDATA #IMPLIED reload-method CDATA #IMPLIED src CDATA #REQUIRED uri-prefix CDATA #REQUIRED > <!ELEMENT map:parameter EMPTY> <!ATTLIST map:parameter name CDATA #REQUIRED value CDATA #REQUIRED > <!ELEMENT map:part EMPTY> <!ATTLIST map:part element CDATA #IMPLIED ns CDATA #IMPLIED prefix CDATA #IMPLIED strip-root CDATA #IMPLIED src CDATA #IMPLIED label CDATA #IMPLIED > <!ELEMENT map:pipeline (%pipecontent;, map:handle-errors*)?> <!ATTLIST map:pipeline %compatts; internal CDATA #IMPLIED > <!ELEMENT map:pipelines (map:pipeline+)> <!ATTLIST map:pipelines default CDATA #IMPLIED > <!ELEMENT map:read (map:parameter*)> <!ATTLIST map:read mime-type CDATA #REQUIRED src CDATA #REQUIRED type CDATA #IMPLIED > <!ELEMENT map:reader ANY> <!ATTLIST map:reader %compatts;> <!ELEMENT map:readers (map:reader*)> <!ATTLIST map:readers default CDATA #REQUIRED > <!ELEMENT map:redirect-to EMPTY> <!ATTLIST map:redirect-to uri CDATA #REQUIRED > <!ELEMENT map:resource %pipecontent;> <!ATTLIST map:resource name CDATA #REQUIRED > <!ELEMENT map:resources (map:resource*)> <!ELEMENT map:selector ANY> <!ATTLIST map:selector %compatts;> <!ELEMENT map:select (map:parameter*, map:when*, map:otherwise?)> <!ATTLIST map:select type CDATA #IMPLIED > <!ELEMENT map:selectors (map:selector*)> <!ATTLIST map:selectors default CDATA #REQUIRED > <!ELEMENT map:serialize EMPTY> <!ATTLIST map:serialize type CDATA #IMPLIED status-code CDATA #IMPLIED src CDATA #IMPLIED > <!ELEMENT map:serializer ANY> <!ATTLIST map:serializer %compatts; mime-type CDATA #IMPLIED > <!ELEMENT map:serializers (map:serializer*)> <!ATTLIST map:serializers default CDATA #REQUIRED > <!ELEMENT map:sitemap (map:components, map:views?, map:resources?, map:action-sets?, map:pipelines)> <!ATTLIST map:sitemap xmlns:map CDATA #REQUIRED > <!ELEMENT map:transform (map:parameter*)> <!ATTLIST map:transform src CDATA #IMPLIED type CDATA #IMPLIED label CDATA #IMPLIED > <!ELEMENT map:transformer ANY> <!ATTLIST map:transformer %compatts;> <!ELEMENT map:transformers (map:transformer*)> <!ATTLIST map:transformers default CDATA #REQUIRED > <!ELEMENT map:view %pipecontent;> <!ATTLIST map:view from-label CDATA #IMPLIED name CDATA #REQUIRED from-position CDATA #IMPLIED > <!ELEMENT map:views (map:view*)> <!ELEMENT map:when %pipecontent;> <!ATTLIST map:when test CDATA #IMPLIED > <!ELEMENT map:otherwise %pipecontent;>
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]