I think I see what you are saying but I thought
the whole point of Section 5 of the spec. was
that skipping external entities would cause non-
validating parsers to act differently than
validating ones, possibly missing some well-
formedness errors:

"Certain well-formedness errors, specifically
those that require reading external entities,
may not be detected by a non-validating
processor. Examples include the constraints
entitled Entity Declared, Parsed Entity, and
No Recursion, as well as some of the cases
described as forbidden in 4.4 XML Processor
Treatment of Entities and References.

The information passed from the processor to
the application may vary, depending on
whether the processor reads parameter and
external entities. For example, a non-
validating processor may not normalize
attribute values, include the replacement
text of internal entities, or supply default
attribute values, where doing so depends on
having read declarations in external or
parameter entities." (REC-xml-20001006 5.2,
para 1)

This section is describing the situation you
are referring to isn't it?  Furthermore, the
spec. goes on to warn users:

"For maximum reliability in interoperating
between different XML processors,
applications which use non-validating
processors should not rely on any behaviors
not required of such processors.
Applications which require facilities such
as the use of default attributes or internal
entities which are declared in external
entities should use validating XML
processors." (REC-xml-20001006 5.2, para 2)


Sure "... whereas now, we know for sure that
if a referenced general entity isn't seen,
its an error. ..." allows us to report a
much more specific error than just saying a
reference was made to an undeclared entity.
But if a user creates a document that
references an entity that is declared (not
just defined) in the external subset and
attempts to parse the document using a non-
validating processor, well duh, it's not
going to be a good situation.  I think
section 5 of the spec. is clearly pointing
out that users who do this should be using
validating parsers.

Ok, maybe I'm getting too general here, I'll
stop. 8-)


-----Original Message-----
From: Dean Roddey [mailto:[EMAIL PROTECTED]]
Sent: Thursday, April 26, 2001 2:08 PM
To: '[EMAIL PROTECTED]'
Subject: RE: PLEASE HELP: SAX parser errors on validation when
ValScheme=V al_Never?????


"A non-validating processor appears to be allowed to
read information from that file if it is there but
it is NOT an exception if it isn't since it
is ABSOLUTELY NOT allowed to use that information
to modify the internal subset in ANY way."

But that's not relevant to the point. Of course the external subset doesn't
modify the internal subset. But skipping an external subset can still have
massive effects on the resulting XML data that's output.

Also, skipping the external subset means that we have to possibly ignore
general entity refs in the XML file, since they could now legitimately have
just been something that would have been defined in the external subset,
whereas now, we know for sure that if a referenced general entity isn't
seen, its an error. So we have to have a way to report the fact that we are
skipping an entity reference, or just silently skip them, which could be a
bad thing.

--------------
Dean Roddey
Software Geek Extraordinaire
Portal, Inc
[EMAIL PROTECTED]

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





======================= Confidentiality Statement ======================= 
The information contained in this message and any attachments is 
intended only for the use of the individual or entity to which it is 
addressed, and may contain information that is PRIVILEGED, CONFIDENTIAL 
and exempt from disclosure under applicable law.  If you have received 
this message in error, you are prohibited from copying, distributing, or 
using the information.  Please contact the sender immediately by return 
e-mail and delete the original message from your system. 
===================== End Confidentiality Statement =====================  



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to