This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: Transforming XML doc with namespace
- To: <xsl-list at lists dot mulberrytech dot com>
- Subject: Re: [xsl] Transforming XML doc with namespace
- From: "Darshan Singh" <darshan at perfectxml dot com>
- Date: Tue, 27 Feb 2001 20:33:19 -0700
- Reply-To: xsl-list at lists dot mulberrytech dot com
Change your XSL to:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:mynamespace="blah.blah.blah" version="1.0" >
<xsl:template match="mynamespace:book">
<body>
<xsl:value-of select="@category"/><br/>
<xsl:value-of select="mynamespace:title"/>
</body>
</xsl:template>
</xsl:stylesheet>
Basically, I have made two changes:
a.) Added "blah.blah.blah" namespace to <xsl:stylesheet declaration, and
b.) XPath expressions prefixed with namespace (see how match and select attribute values are namespace prefixed.)
That's the way the XSLT processor works.
Darshan
http://www.PerfectXML.com
---------- Original Message ----------------------------------
From: Mark Edwards <a-marked@microsoft.com>
Reply-To: xsl-list@lists.mulberrytech.com
Date: Tue, 27 Feb 2001 15:42:41 -0800
>My job this week is to perform some XSLT on someone else's XML document.
>This should be straight forward, but I've been thrown a curve ball that I
>haven't seen mentioned in other documentation.
>
>My question is: How can I get XSLT to work with this document containing a
>namespace? (Let's assume I can't have the source document fixed.)
>
>I've included a minimal demonstration below including both a source file
>that works fine and a source file that demonstrates my problem.
>
>
>STYLESHEET:
><xsl:stylesheet
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> version="1.0">
><xsl:template match="book">
> <html><body>
> <xsl:value-of select="@category"/><br/>
> <xsl:value-of select="title"/>
> </body></html>
></xsl:template>
></xsl:stylesheet>
>
>
>SOURCE THAT WORKS:
><?xml version="1.0"?>
><books>
> <book category="reference">
> <author>Nigel Rees</author>
> <title>Sayings of the Century</title>
> <price>8.95</price>
> </book>
></books>
>OUTPUT: <html><body>reference<br>Sayings of the Century</body></html>
>
>
>SOURCE THAT BREAKS:
><?xml version="1.0"?>
><books xmlns="blah.blah.blah">
> <book category="reference">
> <author>Nigel Rees</author>
> <title>Sayings of the Century</title>
> <price>8.95</price>
> </book>
></books>
>OUTPUT: <?xml version="1.0" encoding="UTF-16"?>Nigel ReesSayings of the
>Century8.95
>
>
>I don't yet understand why the second source file renders in what seems to
>be a ramdom fashon. Maybe I'm misunderstanding the basics of namespaces.
>
>Thanks for your input.
>
>-Mark
>
> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
>
>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list