OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help



   Re: [xml-dev] "Query by example" (was Re: [xml-dev] misprocessing namesp

[ Lists Home | Date Index | Thread Index ]

XML-QL[1] also has a nice "QBE" type syntax, but in a non-XML language:

   <car><MakeModel>Ford</></> element_as $car
IN "someDataSource"

As you mentioned, it great for simple things, and can't handle XPaths.

-Wayne Steele

[1] http://www.w3.org/TR/NOTE-xml-ql/

>From: "Evan Lenz" <elenz@xyzfind.com>
>To: "Gavin Thomas Nicol" <gtn@rbii.com>, "The Deviants" 
>Subject: [xml-dev] "Query by example" (was Re: [xml-dev] misprocessing 
>Date: Thu, 31 Jan 2002 09:12:54 -0800
>Gavin Thomas Nicol wrote:
> > The idea was "match by example", where you'd
> > give a sample XML fragment as the pattern to match. It was supposed to
> > be like "query by example"....
>The "query by example" approach can only get you so far. For example, this
>XPath expression:
>   /Cars/Car[contains(MakeModel,'ford')]
>could easily be formed in XML syntax as follows:
>   <Cars>
>     <Car>
>       <MakeModel>Ford</MakeModel>
>     </Car>
>   </Cars>
>This is reminiscent of Examplotron[1]. The primary difference is that
>Examplotron is "schema by example", where our intent here is "query by
>The difficulty of this approach arises when you try to accommodate the 
>axes. Soon, the benefits of the XML syntax start to diminish. A different
>approach would have to be taken, such as Wayne Steele's contribution[2] 
>March. That XML tools could then be used on XPath is valuable, but this no
>longer possesses the simplicity and intuitiveness of a "query by example"
>That said, "query by example" works beautifully for applications that don't
>need as powerful a query language as, say, XQuery. For applications that
>simply require the extraction of XML fragments from large repositories of
>XML documents based on certain search criteria, a simple XML-based "query 
>example" approach is sufficient, with more sophisticated processing (e.g.
>XSLT) commencing outside the database.
><proprietaryExample product="XYZFind Server">
>Query for all cars such that 'Color' contains "white", 'MakeModel' contains
>"ford" and 'Price' is less than or equal to "$15,000":
>   <xyz:input xmlns:xyz="http://xyzfind.com...";>
>     <xyz:query>
>       <Cars xyz:return="no">
>         <Car xyz:return="yes">
>           <MakeModel>ford</MakeModel>
>           <Price><xyz:number le="15000"/></Price>
>           <Color>white</Color>
>         </Car>
>       </Cars>
>     </xyz:query>
>   </xyz:input>
>Evan Lenz
>[1] http://examplotron.org/
>[2] http://www.xmlhack.com/read.php?item=1118
>The xml-dev list is sponsored by XML.org <http://www.xml.org>, an
>initiative of OASIS <http://www.oasis-open.org>
>The list archives are at http://lists.xml.org/archives/xml-dev/
>To subscribe or unsubscribe from this list use the subscription
>manager: <http://lists.xml.org/ob/adm.pl>

Join the world’s largest e-mail service with MSN Hotmail. 


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS