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] Adam Bosworth Article - what does "directaccess" m ean?

[ Lists Home | Date Index | Thread Index ]

At 11:15 AM 1/16/2003 -0500, W. E. Perry wrote:
>Jonathan Robie wrote:
>
> > In XQuery, you can remain loosely coupled while improving the figure/noise
> > ratio of your code. The following computes the PE Ratio for IBM:
> >
> >     let $stock := document("stocks.xml")/stock[@id="IBM"]
> >     return $stock/price / ($stock/revenues - $stock/expenses)
> >
> > I do think this is more elegant than the equivalent SAX or DOM. It is no
> > more tightly coupled.
>
>Oh yes it is. This code presupposes  1) a document of a given name;

I was trying to write something equivalent to Adam's DOM sample, which does 
specify the name. However, I agree that there can be real advantages to 
accessing this through input() so that any document can be accessed in this 
manner:

let $stock := input()/stock[@id="IBM"]
return $stock/price / ($stock/revenues - $stock/expenses)

>2) a specifically-labelled ("IBM") ID on an element in that document; 3)
>specifically-labelled 'price' and 'revenue' information items which are 4)
>specifically presupposed to be part of that document (as opposed to say,
>separately computable or capable of being looked up in some place of greater
>local interest, such as the last trade in a particular market)

Walter, either the DOM program or the XQuery program can look up the names 
before using them, and that does provide more flexibility, but again, I was 
trying to compare apples to apples, and the DOM fragments that Adam shows 
do not do this.

>and 5) [most crucial of all unexamined assumptions here] presupposed to be 
>in a form
>against which the computation expressed in the code is directly executable
>(though, of course as 'real' XML the only form that they would necessarily be
>in is Unicode text).

No, the XQuery I showed you does not make this assumption.

The data might be in an XML document that can be accessed and parsed using 
the document() function, or it might be in a view of some other resource 
such as a relational database.

Jonathan 





 

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

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