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] XPath 1.5? (was RE: [xml-dev] typing and markup)

[ Lists Home | Date Index | Thread Index ]


Jonathan Robie wrote:

> I think that optimization of // is a more compelling way to use knowledge 
> of complex types. Suppose you have a pattern like this:
> 
>          //address
> 
> Without knowledge of the complex types involved, this requires examination 
> of all elements in the document to see if they are "address" elements. 
> Looking at the schema for a particular invoice document, it is easy to see 
> that the above pattern can only match shipping or billing addresses found 
> in customers. The optimizer can rewrite the above pattern as follows:
> 
>          /customer/billing/address | /customer/shipping/address
> 

This might be expressed using a general constraint system 
(but using an xpath to name a class) as:

 intersectionOf(//address , schema) = 
 unionOf( /customer/billing/address, 
       /customer/shipping/address)

The effect is that a (static) analysis using such 
straightforward logical devices results in the "rewriting"
of a query/transform, making it _easier_ for the 
XSLT programmer, who can then feel free to use "//address"
without worrying about speed, etc. just like why we have
compilers _and_ interpreters, rather than programming in
machine language.

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