[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: External parsed entities (Re: Inconsistency between IETF and W3C...)




MURATA Makoto wrote:
> 
> Chris Lilley wrote:
> >
> >
> > MURATA Makoto wrote:
> 
> > > In order to allow such an XML document, we have to use text/xml or application/xml
> > > for external parsed entities.
> >
> > No, that doesn't follow. You are driving a non-commutative relationship
> > backwards. Just because a well formed XML document can be used as an
> > external parsed entity (and can be labelled as text/xml or
> > application/xml), it does not follow that a non-well-formed thing can
> > also be so labelled. It should be labelled something else, like
> > application/xml-epe or whatever.
> 
> True.  The fact that some XML documents are also external parsed entities
> only implies that we cannot always use application/xml-epe for external
> parsed entities.

Yes, agreed.

> We have two choices.  One is to use text/xml or application/xml even for
> external parsed entities.  The other is to use application/xml-epe
> only for those external parsed entities which are not XML documents.  I think
> that the latter is a complicated rule. 

The former also has complications, sinc eit means that application/xml
is "sometimes but nnot allways, well-formed xml". Since the terms valid
xml and well-formed xml are defined, but there is no defined term for
"stuf that is not wellformed", this is a problem. I think that this is
significant complication.

Wheras for the latter option, it is simple. Is the epe itself a
well-formed document (this is easy to check mechanically). if yes, label
it as applicatio/xml. If no,label it as application/xml-epe (or whatever
term is chosen). This seems a simple, readily understod, and
machine-processable rule.


>  However, since few external parsed
> entities are also XML documents, one could argue that the latter is more
> realistic.

"few" is not sufficient for a algorithm.

> However, I have assumed that this issue is not very important since
> we should anyway avoid external parsed entities at all in the Internet.

(Out of curioisity - why? In the context of HTTp/1.1 keep alive - its
not very expensive to fetch an epe once. If the epe is shared between
two or more documents, ther eis a net win even with HTTP/1.0)

> If external parsed entities are used, different parses emit different
> results.  (See "5. Conformance" of the XML recommendation
> http://www.w3.org/TR/REC-xml#sec-conformance)
> 
> >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.

Well, there is a move to define a category of "full infoset" parsers -
non validating, but which fetch epe's and external DTD subsets - which
deals with this problem.

Regardless, it is legal now to use epes, and thus, a rule needs tobe
established for labellingthem; and the rule needs to cover all legal
cases, not just some frequently occurring ones.

--
Chris