[XQuery Update Newbie] Rename all element nodes (in no namespace) to the same name, but in a namespace?Costello, Roger L. costello at mitre.org
Sat Feb 20 09:32:08 PST 2010
Michael Kay wrote: > Try > rename node $i as QName('http://www.gym.com', local-name($i)) I tried that. I got the same error message: New name conflicts with existing namespace binding I am using Saxon, version 18.104.22.168 Any ideas? /Roger ________________________________________ From: Michael Kay [http://x-query.com/mailman/listinfo/talk] Sent: Saturday, February 20, 2010 9:17 AM To: Costello, Roger L.; http://x-query.com/mailman/listinfo/talk Subject: RE: [XQuery Update Newbie] Rename all element nodes (in no namespace) to the same name, but in a namespace? > I figured that I could simply do a rename: > > for $i in doc('FitnessCenter.xml')//* > return rename node $i as QName('http://www.gym.com', name($i)) > > Here's the error message I get from Saxon: > > New name conflicts with existing namespace binding > > What's the correct way to do this please? Try rename node $i as QName('http://www.gym.com', local-name($i)) You're trying to use the existing prefix to refer to a new namespace, and the trouble is that rename() doesn't get rid of the unused namespace node which binds that prefix to a different URI. Regards, Michael Kay http://www.saxonica.com/ http://twitter.com/michaelhkay
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format