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
David JaramilloSubject: namespace information with XQuery
Author: David Jaramillo
Date: 02 May 2006 10:54 AM
Hello,
Does anybody how to output the standard namespace information for xml in Xquery using the element construct?

I use for instance:

declare namespace xs="http://www.w3.org/2001/XMLSchema-instance";

and use a construct like:

element root { attribute name2 {value2}, element name3 {value3}}

to build the root element. I want the declaration

xmlns:xs="http://www.w3.org/2001/XMLSchema-instance

to be output in the root element. How do I achieve this?
Any help would be greatly appreciated

Thanks,
David

Postnext
Ivan PedruzziSubject: namespace information with XQuery
Author: Ivan Pedruzzi
Date: 02 May 2006 11:53 AM
Hi David,

The beauty of XQuery is that you can create literal XML

<root xmlns:xs="http://www.w3.org/2001/XMLSchema-instance name2="value2">
<name3>value3</name3>
</root>

If you need to evaluate an expression placed inside {}

Hope this helps
Ivan Pedruzzi
Stylus Studio Team

Postnext
David JaramilloSubject: namespace information with XQuery
Author: David Jaramillo
Date: 02 May 2006 11:57 AM
Hello Ivan, thanks for the reply.

I need a solution for the element construct not the literal one, The reason I am trnasforming from one structure to another with Xquery and in somtimes little or no change is made to a complex structure, so I don't want to built everthing literally.
Is there any solution for the element constructor?

Thanks,
David

Posttop
Ivan PedruzziSubject: namespace information with XQuery
Author: Ivan Pedruzzi
Date: 02 May 2006 12:40 PM
David

My understanding is that is the processor responsibility to generate the in scope name-space definitions when they are referenced. It seems like that our built-in processor doesn't honor that but you if try the following with Saxon it should work fine.

declare namespace xs="http://www.w3.org/2001/XMLSchema-instance";
element root {
attribute name2 {"value2"},
attribute xs:test {"value2"},
element name3 {"value3"}
}

So in short if and only if you use the prefix the declaration will be create for you.

Hope this helps
Ivan Pedruzzi
Stylus Studio Team

 
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.