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

Re: XML Schema: "Best used with the ______ tool"

  • From: Boris Kolpackov <boris@c...>
  • To: Michael Kay <mike@s...>
  • Date: Fri, 28 Nov 2008 16:37:04 +0200

Re:  XML Schema: "Best used with the ______ tool"
Hi Michael,

Michael Kay <mike@s...> writes:

> > XSTL/XQuery compare strings to access an element
> 
> You need to get up to date. Decent XSLT/XQuery processors stopped 
> doing that years ago!

Yes, I must admit I am not up to date on this. Still, and correct
me if I am wrong, you will need to compare something (e.g., a pointer
or an integer). In the example I mentioned in my previous email, even
if the XSLT/XQuery processor can figure out at the query compile time
(based on the schema information) that the 'people' element can only
contain the 'person' element and skip the element name check (I don't
know if there are any production implementations that do this), you
will presumably still need a map lookup to get to the "age" attribute.
I don't think this can be anywhere close to a single direct memory
access in case of data binding.

> XSLT/XQuery processors can maintain the age as an integer rather than a
> string if they choose, especially if they are schema-aware.

I would imagine they will need to maintain both text and integer
representation (to maintain its lexical form). Also, since the
tree representation is generic, the int value (or long, or double,
etc.) will need to be dynamically allocated which is not cheap.


> However, there's
> a large class of queries and transformations that access the average node
> less than once, and in those cases doing the conversion just-in-time, when
> the value is accessed, is better than doing it just-in-case, when the XML is
> unmarshalled.

I agree with Dennis here in that XQuery can be usable when you need to
access a small subset of an XML document. However, when one needs to
access most of the data, or, worse, access the same data many times,
data binding will have speed/memory advantage.

Then there is the whole aspect of interfacing with the rest of the
world. Assembling text queries from bits and pieces that come from
different sources and then unpacking the results for further 
processing does not sound like something that is easy to use.

Finally, nobody said you cannot have both data binding and, say,
XQuery at the same time. Our product, for example, allow one to
run an XPath/XQuery query and get the results as data binding 
objects. 

Boris

-- 
Boris Kolpackov, Code Synthesis Tools   http://codesynthesis.com/~boris/blog
Open source XML data binding for C++:   http://codesynthesis.com/products/xsd
Mobile/embedded validating XML parsing: http://codesynthesis.com/products/xsde


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]


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-2011 All Rights Reserved.