XML.orgXML.org
FOCUS AREAS |XML-DEV |XML.org DAILY NEWSLINK |REGISTRY |RESOURCES |ABOUT
OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
Re: [xml-dev] Grand Challenge: the same query, independent of how data relationships are modeled

On 20 Feb 2014, at 14:43, Costello, Roger L. <costello@mitre.org> wrote:

> Michael Kay wrote:
> 
> 	You can encapsulate all three mechanisms 
> 	behind a function (or two functions, one for 
> 	each direction of the relationship).
> 
> What do you mean by "function"? 
> 
> Do you mean a user-defined XPath function?

Yes.

For example

declare function orders-for-customer($c as element(customer)) as element(order)* {
  return $c/order
}

or

declare function orders-for-customer($c as element(customer)) as element(order)* {
  return $c/root()//order[@customer-id = $c/@id]
}

Michael Kay
Saxonica


> 
> How would such a user-defined function work? Would one have to provide it some indication of the relationship? For example, 
> 
> 	Hey function, give me the Title of the Book
> 	written by Richard Bach, where the Title is
> 	contained within Book (or the Title is referenced
> 	by an intra-document link, or the Title is
> 	referenced by a cross-document link).
> 
> Is that what you mean? If yes, would you sketch out such a user-defined XPath function please?
> 
> /Roger
> 
> 
> -----Original Message-----
> From: Michael Kay [mailto:mike@saxonica.com] 
> Sent: Thursday, February 20, 2014 9:30 AM
> To: Costello, Roger L.
> Cc: xml-dev@lists.xml.org
> Subject: Re: [xml-dev] Grand Challenge: the same query, independent of how data relationships are modeled
> 
>> 
>> Fascinating!
>> 
>> So, we want to be able to express:
>> 
>> 	Give me the Title of the Book that was written by 
>> 	Richard Bach.
>> 
>> and that should give us the correct answer, regardless of how the Book/Title relationship is modeled. 
>> 
>> Right?
>> 
>> How do we achieve this?
>> 
> 
> You can encapsulate all three mechanisms behind a function (or two functions, one for each direction of the relationship), and I would certainly recommend doing that in many cases.
> 
> Michael Kay
> Saxonica
> 
> 
> _______________________________________________________________________
> 
> XML-DEV is a publicly archived, unmoderated list hosted by OASIS
> to support XML implementation and development. To minimize
> spam in the archives, you must subscribe before posting.
> 
> [Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/
> Or unsubscribe: xml-dev-unsubscribe@lists.xml.org
> subscribe: xml-dev-subscribe@lists.xml.org
> List archive: http://lists.xml.org/archives/xml-dev/
> List Guidelines: http://www.oasis-open.org/maillists/guidelines.php



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


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

Copyright 1993-2007 XML.org. This site is hosted by OASIS