standalone="no"

XML 1.0 2e says:

  Any XML document for which standalone="no" holds can be converted
  algorithmically to a standalone document, which may be desirable for
  some network delivery applications.


This is clearly true as written, as a possible algorithm is to ignore
the input document and always output

<?xml version="1.0" standalone='yes'?>
<x/>

although that may be less than "desirable"

Clearly what was intended was that the standalone document document
should be "the same" as the original document for which standalone="no"
but this REC can't say that as it has no notion of equivalence of
documents. Hence the infoset of course, although even with the infoset it
doesn't seem particularly clear exactly what the algorithm referred to
is, and which info items should be preserved by the algorithm.

Despite the more or less facetious example above this message was
prompted by a real query. Considering info items for unexpanded entity
references. It seems the only way to get such a thing is to have 
standalone="no" and a <!DOCTYPE which references external entities,
either an external subset, or external parameter entities.

In the case that the external entity does in fact have a declaration for
the entity reference appearing in the document, then it is fairly clear
what the algorithm for converting to standalone="yes" should do, namely
copy the entity declaration into the local subset (or perhaps it should
just expand the entity, depending on which unspecified info items one is
trying to preserve).

But I believe the document is still well formed even if no external
entity contains a declaration for the entity reference used in the
document instance. In this case there does not seem to be any natural
mapping to to a standalone="yes" document. If my understanding of this
is correct then the sentence quoted above might be considered misleading
(although as I say, it is trivially true).

Some people have suggested that one way of managing MathML documents,
and keeping entity references as such (for the benefit of ascii editors)
would be to reference a DTD which deliberately did not declare the 2000
or so entities for Math characters that the MathML DTD declares.
This message was really prompted by trying to understand the
implications of working with such a document.

David

_____________________________________________________________________
This message has been checked for all known viruses by Star Internet delivered
through the MessageLabs Virus Control Centre. For further information visit
http://www.star.net.uk/stats.asp

Received on Tuesday, 3 April 2001 08:02:57 UTC