[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Adam Bosworth Article - what does "directaccess" mean?
Here's a Water program that creates a class, defines a method, creates an instance, and call a method on the instance. <defclass company stock_symbol price revenue expenses> <defmethod PE_ratio> .price.<divide .revenue.<minus .expenses/> /> </defmethod> </defclass> <company stock_symbol="IBM" price=86.11 revenue=1022110 expenses=382828 />.<PE_ratio/> _Mike ----- Original Message ----- From: "Jonathan Robie" <jonathan.robie@d...> To: "W. E. Perry" <wperry@f...>; "XML DEV" <xml-dev@l...> Sent: Friday, January 17, 2003 4:02 PM Subject: Re: Adam Bosworth Article - what does "directaccess" m ean? > 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 > > > ----------------------------------------------------------------- > 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> >
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|