Re: Streaming Validation

Streaming was considered in great detail, and while not a formal 
requirement, we have tried to be very sensitive to the needs.  For 
example, if you look carefully at the rules for accessing schema documents 
they were carefully crafted to allow streaming processors to incrementally 
discover which namespaces (and hence schemas) are involved, and to produce 
results identical to those of a non-streaming processor.

You are correct, ID/IDREF and key/keyref/unique are the big challenges. 
The former is just carrying over an XML 1.0 feature and restating it.  The 
latter is similar but more powerful.  I think you will see some changes 
that make key/keyref/unique a bit less challenging, but in general there 
is no magic.  You need to keep look-aside tables of any information that 
might be needed for alter reference (which in almost all cases is far less 
than the contents of an entire the case of ID/IDREF you just 
need to keep the pertinent attribute values (I think that's all ID values, 
and any IDREFs that have not yet validated.)  Similar approaches apply to 
key/keyref/unique:  the amount you have to keep is roughly proportional to 
the union of keyvalues and keyref values. 

So, these issues have been considered, and you will indeed be able to use 
SAX, in my opinion.  It is true that certain validation results cannot be 
known at the time the corresponding construct is parsed, but that's true 
of XML 1.0 IDREFs anyway.

Noah Mendelsohn                                    Voice: 1-617-693-4036
Lotus Development Corp.                            Fax: 1-617-693-8676
One Rogers Street
Cambridge, MA 02142

Received on Wednesday, 7 February 2001 11:18:24 UTC