Subject: RE: Namespace declarations in XML
From: Cynthia DeLaria <cdelaria@xxxxxxxxxxxxx>
Date: Wed, 16 Mar 2005 09:28:36 -0700 (GMT-07:00)
|
Wow... That makes complete sense now... I still can't believe that I've never seen this before, but now I know how to handle it, so I guess there's always something new to learn!
Thank you so much for your response and this reference... Big help!
Cynthia
-----Original Message-----
From: Andrew Welch <ajwelch@xxxxxxxxxxxxxxx>
Sent: Mar 16, 2005 6:28 AM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: RE: Namespace declarations in XML
> I have a client passing me a feed with a top-level element
> that looks like this:
>
> <ArrayOfProductType
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns="http://catalog.9squared.com">
>
> Now, am I mistaken in thinking that namespace declarations
> are inappropriate in an XML feed? And if I am mistaken, how
> do I work with that? I even duplicated these namespace
> declarations in my xsl and then pointed them to resolve to
> the xsl namespace, but I am still getting nothing to output.
All elements in the above feed are in the 'http://catalog.9squared.com'
namespace, so in order to match them you will have to declare that
namespace in your stylesheet, give it a prefix and then match elements
with that prefix:
<xsl:stylesheet xmlns:foo="http://catalog.9squared.com" ......
And then:
<xsl:template match="foo:whatever">.....
Read here for more 'Matching nodes in the default namespace' info:
http://www.dpawson.co.uk/xsl/sect2/N5536.html#d6408e1012
cheers
andrew
|