You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cocoon.apache.org by Ian Atkin <ia...@blueyonder.co.uk> on 2002/08/11 20:38:47 UTC
cocoon is non-validating, any ideas why?
using cocon v2.0.3
i've just changed the xml-parser validate parameter to true and cocoon
failed with a "doctype name can't equal 'null'" error
upon investigation the xml file concerned, treeprocessor-builtins.xml,
doesn't have a doctype tag - which explains it
is cocoon intended as a non-validating process for speed reasons?
this means that all doctype resolution is for entity and attrib
declarations only, doesn't it?
i would have to validate all my input docs separately to ensure
validity, which is ok for batch mode but very poor for dynamic use
i'm asking about general intentions/views - i'll check out v2.1-dev soon
but i expect the problem will be the same
thanks in advance...
---------------------------------------------------------------------
Please check that your question has not already been answered in the
FAQ before posting. <http://xml.apache.org/cocoon/faq/index.html>
To unsubscribe, e-mail: <co...@xml.apache.org>
For additional commands, e-mail: <co...@xml.apache.org>
RE: cocoon is non-validating, any ideas why?
Posted by Vadim Gritsenko <va...@verizon.net>.
> From: Ian Atkin [mailto:ianatkin@blueyonder.co.uk]
>
> two issues
>
> 1. xml parser bug
>
> don't think this is a bug, but it might be a subtle spec-conformance
issue
>
> after a little testing/reading it appears that if the
> "http://xml.org/sax/features/validation" feature is set to true, an
> instance *must* have validity information
> - if there's no DOCTPYE at all, get "doctype name must equal 'null' "
> type errors
> - if i try <!DOCTYPE root-tag-name SYSTEM> i get "whitespace after
> system keyword" type errors
> - if i try <!DOCTYPE root-tag-name SYSTEM ""> i get "no protocol" type
> errors
> - same goes for the PUBLIC "" "" route as well
>
> i can't remember this from the spec but i'll re-read it and re-post if
i
> find anything solid
http://www.w3.org/TR/REC-xml#dt-valid
Seems you have to have valid DTD if you use validation.
> so i wrote a quick xsl script to generate a minimum dtd for a given
xml
> instance (get round the poor ANY keyword), so that's one way round it
-
> provide a minimum dtd for every xml file cocoon parses and keep
patching
> each distro
>
> i may post the odd dtd/schema if i get round to making them tight -
but
> i'd have to synch with cocoon-dev and if cocoon is intended to be
> non-validating then what's the point?
>
> 2. cocoon being "non-validating"
>
> sure xml parsers do the validation, but cocoon aloows them to be
> configured to validate then fails when that option is exercised
> - the <xml-parser> stuff in cocoon.xconf is global right?
> - thus if i want validated xml to be passed down a pipeline from a
> generator (file probably) my only option is to set this parameter
isn't it?
Yep.
> - or do i have to write a custom generator/xsp that configures a
parser
> in java code manually? i'd rather validation was global, but this will
> do. it seems to defy the point of using avalon configuration though
>
> it also seems odd to provide a global validation flag, and then not
> provide validity information for all markup read by the xml parser
>
> if that flag is set to false (the only way cocoon runs without
failure),
> then doctype retrieval is being done in non-validating mode just for
> entities, attrib defaults,
Default parser behavior. It has to know entities.
> etc and therefore cocoon is a non-validating
> process at heart, imho
I don't get this one.
> this may speed things up, but i like the idea of validation i don't
see
> why i'm forced to turn it off
Why you are forced?
Vadim
> we may have to agree to disagree on this one
>
> thanks for the help and bugzilla link
>
> Vadim Gritsenko wrote:
>
> >>From: Ian Atkin [mailto:ianatkin@blueyonder.co.uk]
> >>
> >>using cocon v2.0.3
> >>
> >>i've just changed the xml-parser validate parameter to true and
cocoon
> >>failed with a "doctype name can't equal 'null'" error
> >>
> >>upon investigation the xml file concerned,
treeprocessor-builtins.xml,
> >>doesn't have a doctype tag - which explains it
> >>
> >>is cocoon intended as a non-validating process for speed reasons?
> >>
> >>
> >
> >Cocoon has nothing to do with validation. Cocoon uses XML parser, and
it
> >just passes this parameter (validate=true) to the parser. If parser
is
> >not able to validate some xml (treeprocessor-builtins.xml in your
case),
> >it is a bug either in XML or in parser.
> >
> >
> >
> >
> >>this means that all doctype resolution is for entity and attrib
> >>declarations only, doesn't it?
> >>
> >>i would have to validate all my input docs separately to ensure
> >>validity, which is ok for batch mode but very poor for dynamic use
> >>
> >>i'm asking about general intentions/views - i'll check out v2.1-dev
> >>
> >>
> >soon
> >
> >
> >>but i expect the problem will be the same
> >>
> >>
> >
> >Of course the same, unless you change XML parser
implementation/version
> >or modify XML.
> >
> >PS See also on the same theme:
> >http://nagoya.apache.org/bugzilla/show_bug.cgi?id=6200
> >
> >
> >Vadim
> >
> >
> >
> >
> >>thanks in advance...
---------------------------------------------------------------------
Please check that your question has not already been answered in the
FAQ before posting. <http://xml.apache.org/cocoon/faq/index.html>
To unsubscribe, e-mail: <co...@xml.apache.org>
For additional commands, e-mail: <co...@xml.apache.org>
Re: cocoon is non-validating, any ideas why?
Posted by Ian Atkin <ia...@blueyonder.co.uk>.
two issues
1. xml parser bug
don't think this is a bug, but it might be a subtle spec-conformance issue
after a little testing/reading it appears that if the
"http://xml.org/sax/features/validation" feature is set to true, an
instance *must* have validity information
- if there's no DOCTPYE at all, get "doctype name must equal 'null' "
type errors
- if i try <!DOCTYPE root-tag-name SYSTEM> i get "whitespace after
system keyword" type errors
- if i try <!DOCTYPE root-tag-name SYSTEM ""> i get "no protocol" type
errors
- same goes for the PUBLIC "" "" route as well
i can't remember this from the spec but i'll re-read it and re-post if i
find anything solid
so i wrote a quick xsl script to generate a minimum dtd for a given xml
instance (get round the poor ANY keyword), so that's one way round it -
provide a minimum dtd for every xml file cocoon parses and keep patching
each distro
i may post the odd dtd/schema if i get round to making them tight - but
i'd have to synch with cocoon-dev and if cocoon is intended to be
non-validating then what's the point?
2. cocoon being "non-validating"
sure xml parsers do the validation, but cocoon aloows them to be
configured to validate then fails when that option is exercised
- the <xml-parser> stuff in cocoon.xconf is global right?
- thus if i want validated xml to be passed down a pipeline from a
generator (file probably) my only option is to set this parameter isn't it?
- or do i have to write a custom generator/xsp that configures a parser
in java code manually? i'd rather validation was global, but this will
do. it seems to defy the point of using avalon configuration though
it also seems odd to provide a global validation flag, and then not
provide validity information for all markup read by the xml parser
if that flag is set to false (the only way cocoon runs without failure),
then doctype retrieval is being done in non-validating mode just for
entities, attrib defaults, etc and therefore cocoon is a non-validating
process at heart, imho
this may speed things up, but i like the idea of validation i don't see
why i'm forced to turn it off
we may have to agree to disagree on this one
thanks for the help and bugzilla link
Vadim Gritsenko wrote:
>>From: Ian Atkin [mailto:ianatkin@blueyonder.co.uk]
>>
>>using cocon v2.0.3
>>
>>i've just changed the xml-parser validate parameter to true and cocoon
>>failed with a "doctype name can't equal 'null'" error
>>
>>upon investigation the xml file concerned, treeprocessor-builtins.xml,
>>doesn't have a doctype tag - which explains it
>>
>>is cocoon intended as a non-validating process for speed reasons?
>>
>>
>
>Cocoon has nothing to do with validation. Cocoon uses XML parser, and it
>just passes this parameter (validate=true) to the parser. If parser is
>not able to validate some xml (treeprocessor-builtins.xml in your case),
>it is a bug either in XML or in parser.
>
>
>
>
>>this means that all doctype resolution is for entity and attrib
>>declarations only, doesn't it?
>>
>>i would have to validate all my input docs separately to ensure
>>validity, which is ok for batch mode but very poor for dynamic use
>>
>>i'm asking about general intentions/views - i'll check out v2.1-dev
>>
>>
>soon
>
>
>>but i expect the problem will be the same
>>
>>
>
>Of course the same, unless you change XML parser implementation/version
>or modify XML.
>
>PS See also on the same theme:
>http://nagoya.apache.org/bugzilla/show_bug.cgi?id=6200
>
>
>Vadim
>
>
>
>
>>thanks in advance...
>>
>>
>
>
>---------------------------------------------------------------------
>Please check that your question has not already been answered in the
>FAQ before posting. <http://xml.apache.org/cocoon/faq/index.html>
>
>To unsubscribe, e-mail: <co...@xml.apache.org>
>For additional commands, e-mail: <co...@xml.apache.org>
>
>
>
>
---------------------------------------------------------------------
Please check that your question has not already been answered in the
FAQ before posting. <http://xml.apache.org/cocoon/faq/index.html>
To unsubscribe, e-mail: <co...@xml.apache.org>
For additional commands, e-mail: <co...@xml.apache.org>
RE: cocoon is non-validating, any ideas why?
Posted by Vadim Gritsenko <va...@verizon.net>.
> From: Ian Atkin [mailto:ianatkin@blueyonder.co.uk]
>
> using cocon v2.0.3
>
> i've just changed the xml-parser validate parameter to true and cocoon
> failed with a "doctype name can't equal 'null'" error
>
> upon investigation the xml file concerned, treeprocessor-builtins.xml,
> doesn't have a doctype tag - which explains it
>
> is cocoon intended as a non-validating process for speed reasons?
Cocoon has nothing to do with validation. Cocoon uses XML parser, and it
just passes this parameter (validate=true) to the parser. If parser is
not able to validate some xml (treeprocessor-builtins.xml in your case),
it is a bug either in XML or in parser.
> this means that all doctype resolution is for entity and attrib
> declarations only, doesn't it?
>
> i would have to validate all my input docs separately to ensure
> validity, which is ok for batch mode but very poor for dynamic use
>
> i'm asking about general intentions/views - i'll check out v2.1-dev
soon
> but i expect the problem will be the same
Of course the same, unless you change XML parser implementation/version
or modify XML.
PS See also on the same theme:
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=6200
Vadim
> thanks in advance...
---------------------------------------------------------------------
Please check that your question has not already been answered in the
FAQ before posting. <http://xml.apache.org/cocoon/faq/index.html>
To unsubscribe, e-mail: <co...@xml.apache.org>
For additional commands, e-mail: <co...@xml.apache.org>