Re WF, V, and MSXML
Chris Lovett
clovett at microsoft.com
Thu Jun 12 21:18:51 BST 1997
Regading all the discussion about the RMD attribute and
switching validation on and off and error recovery and so on....
The reason MSXML doesn't implement RMD yet is because there are
problems with the RMD=IGNORE concept since ignoring the DTD can result
in different data being given to the application - which generally is a
bad thing. The spec says it is an error to specify RMD=IGNORE if the
DTD contains any declarations of:
1) attributes with default values, if elements to which
these attributes apply appear in the document instance without
specifying values for these attributes, or
2) entities. (other than the built in entities), if
references to those entities appear in the document instance, or
3) element types with element content, if white space
occurs in the document instance directly within any instance of those
types.
The problem is that if the parser ignores the DTD, how can it
detect #1 above ? Also, the white space handling can be ambiguous.
So, MSXML currently takes the following approach:
- RMD attribute is not implmented yet, so if a DTD is
there it uses it.
- If an error is found it stops. No error recovery is
attempted.
- If you don't want validation, remove the DTD.
- It is ok to not define some of the elements in the
DTD. This simply means that in the same document there is certain data
that you want to guarantee to be correct, and other data that is more
unknown in structure (but still well-formed). This is simply a side
effect of being able to parse a document without a DTD.
xml-dev: A list for W3C XML Developers
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To unsubscribe, send to majordomo at ic.ac.uk the following message;
unsubscribe xml-dev
List coordinator, Henry Rzepa (rzepa at ic.ac.uk)
More information about the Xml-dev
mailing list