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

Re: XPath and XPattern (was Re: More on taming SAX)


sax pattern
* Uche Ogbuji <uche.ogbuji@f...> [2004-12-27 19:34]:
> 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.
    
    [snip]

> >   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.

    I like pipelining.

> 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.

    I was thinking of implementing the above, the predicate matching
    engine that would work on streams, and using something gnarly,
    like a specification in an attribute, uh, somewhere.

    In my library, I might say:

    new SipStrategy("/foo/bar/[baz2='test']/baz", "/foo/bar/baz3");

    (Which would test for the pattern, until the second pattern was
        met. If the first pattern matches, events are forwarded, the
        second is met, events are dumped, further events ignored,
        until this strategy concludes.)

    Which would get work going on an engine that matched against a
    stream instead of a tree. If there is one already, let me know.

--
Alan Gutierrez - alan@e...

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.