[
Lists Home |
Date Index |
Thread Index
]
Alan Gutierrez wrote:
>* Jeff Rafter <lists@jeffrafter.com> [2004-12-27 14:40]:
>
>
>>>> Say the test was /foo/bar/[baz2="test"]/baz1
>>>>
>>>> <foo>
>>>> <bar>
>>>> <baz1/>
>>>> <baz2>test</baz2>
>>>> <baz3/>
>>>> </bar>
>>>> </foo>
>>>>
>>>> If your schema stated that the children were (baz1,baz2,baz3)
>>>> wouldn't you have enough information to know to surrender when
>>>> you reached baz3?
>>>>
>>>>
>
>
>
>>Unfortunately that solution doesn't win much against the DOM or other
>>tree based models.
>>
>>
>
> It does if your predicate can fail early.
>
>
>
>>For example if your schema asserted (as you say) that the content
>>model of bar be (baz1, baz2, baz3) and that baz2="test" always--
>>then you could "surrender" at the point of baz1 by starting with
>>the assumption of validity. If the document turns out to not be
>>valid you could raise some special error that says essentially--
>>hey we assumed this was valid and it isn't so we don't know if we
>>reported the right thing or not.
>>
>>
>
> Or, to simply the implementation, a valid document could be a
> requirement, which is what I was imagining.
>
>
Ah. The pipelining approach. Perfectly sensible. Luckily most schema
languages support validation via streaming API (Schematron is a bit of a
problem, unless its query sublanguages are themselves restricted to our
XPattern), so we don't run into the awkward problem that we have to tree
up a document earlier in the pipeline for validation.
But I'd say for a first pass at XPattern we leave out Schema aids and
maybe they could be a subject of a later "level", as long as one could
work in ecumenical schema language support.
--
Uche Ogbuji Fourthought, Inc.
http://uche.ogbuji.net http://4Suite.org http://fourthought.com
Use CSS to display XML - http://www.ibm.com/developerworks/edu/x-dw-x-xmlcss-i.html
Full XML Indexes with Gnosis - http://www.xml.com/pub/a/2004/12/08/py-xml.html
Be humble, not imperial (in design) - http://www.adtmag.com/article.asp?id=10286
UBL 1.0 - http://www-106.ibm.com/developerworks/xml/library/x-think28.html
Use Universal Feed Parser to tame RSS - http://www.ibm.com/developerworks/xml/library/x-tipufp.html
Default and error handling in XSLT lookup tables - http://www.ibm.com/developerworks/xml/library/x-tiplook.html
A survey of XML standards - http://www-106.ibm.com/developerworks/xml/library/x-stand4/
The State of Python-XML in 2004 - http://www.xml.com/pub/a/2004/10/13/py-xml.html
|