[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: XPath and XPattern (was Re: More on tamingSAX)


Re:  XPath and XPattern (was Re:  More on tamingSAX)
Alan Gutierrez wrote:

>* Jeff Rafter <lists@j...> [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


PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
 

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.


Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.