Subject: Re: [xsl] XML with Default Namespace From: "Andrew Welch" <andrew.j.welch@xxxxxxxxx> Date: Wed, 1 Aug 2007 10:33:17 +0100 |
On 8/1/07, Karl Stubsjoen <kstubs@xxxxxxxxx> wrote: > I'm stuck, I'm trying to write XPATH against an Excel worksheet > converted to XML, I'm actually trying to transform it into clean and > nice xml, but darnit, the default namespace is throwing me off! > > I'm getting an error from XpathMania which says > "Document has a default namespace" > > When I add the default namespace, then my xpath queries no longer work. > > So the XML looks like this: > > <Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" > xmlns:o="urn:schemas-microsoft-com:office:office" > xmlns:x="urn:schemas-microsoft-com:office:excel" > xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" > xmlns:html="http://www.w3.org/TR/REC-html40"> > <DocumentProperties xmlns="urn:schemas-microsoft-com:office:office"> > <Author>kstubsj</Author> I'm not too sure what your question is Karl... but if it's "how do I match elements in a default namespace" then: In XSLT 2.0 - set the xpath-default-namespace to the namespace and you're done, eg: <xsl:stylesheet xpath-default-namespace="urn:schemas-microsoft-com:office:spreadsheet" Or, in XSLT 1.0 (or just because its more explicit) assign the namespace to a prefix in your stylesheet and update all of your paths: <xsl:stylesheet xxmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" select="//ss:foo/ss:bar" cheers andrew -- http://andrewjwelch.com
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] XML with Default Namespace, Karl Stubsjoen | Thread | Re: [xsl] XML with Default Namespac, Karl Stubsjoen |
Re: [xsl] User-defined function for, Colin Adams | Date | Re: [xsl] User-defined function for, Jesper Tverskov |
Month |