(i left till last since i find this issue difficult to explain and
easy to misunderstand.
i have proposed the de facto status quo, as i see it. it is a
reasonable position
though probably not one that i would strongly advocate.)
Background
----------
A. Validation
Validating that an arbitrary XML document satisfies an specific schema
(as opposed to satisfying schema it declares) is - in practice -
inconvenient. As a library author, I would not validate unless
this was explicitly required by the specification for the following
reasons:
1. Though - in theory - modern validating parsers run almost
as fast non-validating parser, there is still - in practice -
a performance hit associated with obtaining a copy
of the schema and parsing it. A catelog would be required for
urn:ietf:params:xml:ns:sieve which is often inconvenient.
2. When dealing with a mixed namespace, it is often inconvenient
to validate unless a unified schema is available. When mixing
a urn:ietf:params:xml:ns:sieve with unknown namespaces,
obtaining such a schema would be difficult unless the document
supplied one.
3. Schema validation is not - in practice - quite as portable as
might be desired.
Instead, I would attempt to process the document and then stop
the processing with an error if elements were encountered that
could not be mapped.
It is therefore likely that some processor implementations will choose
not to validation using a schema.
B. Extension
Future extension and versioning of schema is still an open problem.
Suppose that a later revision of this specification adds attribute
"foo" to "displayblock", and that this attribute may be safely
ignored by any older processors which do not understand it. Older
processor which validation the document will reject the it. Those
which do not will work fine.
The ability to extend the specification will therefore vary on the
choice made by implementors to valid or not. This makes the
ability to extend the specification less certain.
Issue
-----
The expected behaviour when a processor encounters a document
containing markup which it does not understand is not clear.
Proposal
--------
A processor MAY validate documents against the standard schema and MAY
reject any which do not conform. For any document that a processor does
not reject as invalid, any markup that the processor cannot understand
by reference to this specification MAY be discarded.
Rationale
---------
I think it is better to say something explicit about this issue. This
proposal is not one that I particularly favour but is the de facto status
quo as I see it. It is not unreasonable.