OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

ebxml-regrep message

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

Subject: XPATH Sample queries

At the f2f we made a proposal to use a virtual document syntax to overcome design issues with using XPATH as a ad hoc query mechanism. 
The idea is to have the XPATH query be against a document syntax that is slightly different from the actual document syntax that was 
submitted. The main difference between the actual and the virtual is that any ClassificationNodes that classify an object are 
included in the objects virtual document representation nested in their ancestor ClassificationNode definitions (see included examples).

Since the f2f I have spent time validating the feasability of this approach. The results are encouraging. Based on practical experience 
I believe this approach will work. It has the added advantage that the same query syntax works for both metadata and content based
queries. There is a potential for other potential issues so I encourage every with XPATH and XSLT experience to study this approach
and suggest feedback. In particular we are looking for any queries that may be typical but not addressed by the examples. 

I believe we now have a comfortable feel for the expressive capabilties of the XPATH/Virtual document approach. The next major 
issue to investigate is the feasability of mapping these XPATH queries to relational queries. This is important since all current
ebXML Registry implementations chose to use a RDB for storing metadata.

Attached is a zip file containg sample XML documents and sample XSL style sheets that test various queries against the XML
documents. Note that XSL is used here only to test XPATH queries and is not required by the proposal so far. The actual XPATH
query is in the match attribute of teh XSL template element.

The documents are described below.

XML Files:
sampleSubmission.xml		//An XML file showing content in the form that it was submitted
extrinsicObjectVirtual.xml	//An XML file containing a sample ExtrinsicObject in its virtual form
classificationNodeSample.xml	//An XML file containing a sample Classification scheme

Queries in XSL form
getAssociatedObjectsQuery.xsl	//An XSL file showing the typical association query
getClassificationTreeQuery.xsl	//An XSL file showing the equivalent of current GetClassificationTreeRequest focused query
getClassifiedObjectsQuery.xsl	//An XSL file showing the equivalent of current GetClassifiedObjectsRequest focused query
getObjectByNameQuery.xsl	//An XSL file showing how to get Objects by name
getObjectsByExternalLinkQuery.xsl	//An XSL file showing how to get Objects by ExternalLinks
getObjectsByOrganizationQuery.xsl	//An XSL file showing how to get Objects by submitting Organization
getObjectsByPackageQuery.xsl		//An XSL file showing how to get Objects by package
getRootClassificationNodeQuery.xsl	//An XSL file showing the equivalent of current GetRootClassificationNodesRequest focused query
getSupplierCPPQuery.xsl		//An XSL file showing content based query (find CPP for suppliers)

I look forward to your comments and suggestions.




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

Search: Match: Sort by:
Words: | Help

Powered by eList eXpress LLC