XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Show tree view Topic
Go to previous topicPrev TopicGo to next topicNext Topic
Postnext
Doug LundinSubject: Cleanup and combine question
Author: Doug Lundin
Date: 27 Sep 2006 12:02 PM
I have a query that returns a single value (below) and I have two questions regarding it. First, can it be reformatted so the namespace-uri is stated only once - to cleanup the xquery? Second, I want to add another value on the return set - given by another xpath - how can I modify this xquery to return two values?

Thanks!

/*[local-name()='html' and namespace-uri() 'http://www.w3.org/1999/xhtml']/*[local-name()='body' and namespace-uri()='http://www.w3.org/1999/xhtml'][1]/*[local-name()='div' and namespace-uri()='http://www.w3.org/1999/xhtml'][1]/*[local-name()='div'
and namespace-uri()='http://www.w3.org/1999/xhtml'][3]/*[local-name()='table' and namespace-uri()='http://www.w3.org/1999/xhtml'][2]/*[local-name()='tr' and namespace-uri()='http://www.w3.org/1999/xhtml'][1]/*[local-name()='td' and namespace-uri()='http://www.w3.org/1999/xhtml'][2]/text()[1]

Postnext
Ivan PedruzziSubject: Cleanup and combine question
Author: Ivan Pedruzzi
Date: 27 Sep 2006 02:40 PM
i Doug,

What you have posted is an XPath expression. In which context are you trying to use it?

XPath Query Editor
XQuery
XSLT

In the XPath Query Editor you should use the re-defined prefix value by default ns1, ns2, ect.

So you query becomes
/nsi:html[1]/ns1:body[1]/ns1:div[1]/ns1:div[1]/ns1:table[2]/ns1:tr[1]/ns1:td[1]

In a similar way in XSLT and XQuery you will need to associate the namespace to a prefix then use the prefix to qualify you XPath expression

Hope this helps
Ivan Pedruzzi
Stylus Studio Team

Posttop
Doug LundinSubject: Cleanup and combine question
Author: Doug Lundin
Date: 27 Sep 2006 03:16 PM
Thanks for your reply, Ivan,

I reformatted given your suggestion and have a solution - thanks!

declare namespace a = "http://www.w3.org/1999/xhtml";
<CompanyMetadata>
<AvgVol>
{/a:html/a:body[1]/a:div[1]/a:div[3]/a:table[2]/a:tr[1]/a:td[1]/a:table[3]/a:tr[1]/a:td[3]/a:table[1]/a:tr[1]/a:td[1]/a:table[1]/a:tr[4]/a:td[2]/text()}
</AvgVol>
(... more junk cut out here)
</CompanyMetadata>

 
Go to previous topicPrev TopicGo to next topicNext Topic
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2016 All Rights Reserved.