> Think of validating a 20Gb document made up of: > > <logs> > <log .... /> > <log .... /> > <log .... /> > ... > </logs> > > Very simple to validate as a pattern. A *big* burden to > support assertions for the entire tree. > > I'm not on the committee, but I suspect the requirement to > keep an entire document tree in memory for validation is a > non-starter. Whereas dealing with all of the information > about an element and its attributes can be done easily > because that is where the validator is at the time. > > . . . . . . . . . . . Ken If you change that to <logs count="28654"> <log> ... </logs> Then I think it's perfectly reasonable to have an assertion at the top level that says test="@count = count(log)" And indeed the specification allows you to do so. Some implementations will be able to handle this efficiently; some won't. Users will have to make decisions (about designing their schemas, and about choosing their products) that take this into account. So I don't think the argument based on performance is overriding. The main reason for not allowing navigation outside a subtree is the theory that a type defines a set of instances, and that the set of instances of a type doesn't depend on the phase of the moon. Regards, Michael Kay http://www.saxonica.com/ http://twitter.com/michaelhkayReceived on Tuesday, 12 May 2009 14:18:34 GMT
This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 11 January 2011 00:15:12 GMT