Full Disclosure: What The XML Processor Must Tell The XML Application

John Cowan cowan at locke.ccil.org
Thu Nov 5 19:31:24 GMT 1998

(Draft 0.1)

This is a report gleaned from the XML recommendation, showing what
an XML processor (validating or non-validating) must report to the
application that invokes it in order to claim conformance to the
XML recommendation.  Numbers in parentheses refer to clauses.

1.  An XML processor must always provide all characters in a
document that are not part of markup to the application.  (2.10)

2.  A validating XML processor must inform the application which
non-markup characters are whitespace appearing within element
content.  (2.10)

3.  An XML processor must pass the single character &#A; in place
of &#D; or &#D;&#A; appearing in its input.

4.  An XML processor must normalize the value of attributes according
to the rules in clause 3.3 before passing them to the application.
This implies that the value of attributes after normalization
are passed to the application.  (3.3)

5.  An XML processor must pass the identifiers of declared unparsed
entities and their associated identifiers to the application.  (4, 4.7)

6.  When the name of an unparsed entity appears as the explicit
or default value of an ENTITY or ENTITIES attribute, an XML
processor must provide the names, system identifiers, and (if present)
public identifiers of both the entity and its notation to the
application (4.6, 4.7)

7.  An XML processor must report well-formedness errors in the
document entity and in any other entities that it reads.  (5.1)

8.  A validating XML processor must report violations of the
constraints expressed in the DTD, and failures to fulfill validity
constraints.  All entities included directly or indirectly by
the document entity must be examined.  (5.1) [The recommendation
is self-contradictory on whether this behavior is required always
or only at user option: see 5.1 vs. the definition of "validity

9.  An XML processor must pass processing instructions to the
application.  (2.6)

10. An XML processor (necessarily a non-validating one) that does
not include the replacement text of an external parsed entity
in place of an entity reference must notify the application that
it recognized but did not read the entity (4.4.3)  [SAX does not
provide for this]

11. A validating XML processor must include the replacement text
of an entity in place of an entity reference.  (5.2)

12.  A validating XML processor must supply the default value
of attributes declared in the DTD for a given element type but
not appearing in the element's start tag.  (5.2)

Have I overlooked anything?

John Cowan	http://www.ccil.org/~cowan		cowan at ccil.org
	You tollerday donsk?  N.  You tolkatiff scowegian?  Nn.
	You spigotty anglease?  Nnn.  You phonio saxo?  Nnnn.
		Clear all so!  'Tis a Jute.... (Finnegans Wake 16.5)

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)

More information about the Xml-dev mailing list