Re: [xsl] transfer namespace within XSL

Subject: Re: [xsl] transfer namespace within XSL
From: Francis Norton <francis@xxxxxxxxxxx>
Date: Wed, 18 Apr 2001 21:43:58 +0100

Ivo Ottiger wrote:
> I try to transform the following XML Doc
> <?xml version = "1.0" encoding = "UTF-8"?>
> <PortfolioResp xmlns = "";
> xmlns:xhtml="";>
>         <Quote>
>                 <Symbol>SUNW</Symbol>
>                 <Time>9:51AM</Time>
>                 <Price>16.06</Price>
>                 <Change>-1.53%</Change>
>                 <Volume>3,729,800</Volume>
>         </Quote>
> </PortfolioResp>
> whith the following XSL into a new one without namespace

try this:

<?xml version="1.0"?>
<!-- quotes.xsl: Transform to Quote.dtd vocabulary -->
<xsl:stylesheet version="1.0" 
  <xsl:output method="xml" doctype-system="Quote.dtd" indent="yes"/>
  <xsl:template match="/">
      <xsl:for-each select="p:PortfolioResp/p:Quote">
        <Quote Symbol="{p:Symbol}">
            <xsl:value-of select="p:Time"/>
            <xsl:value-of select="p:Price"/>

> which should look like this one
> <?xml version = "1.0" encoding = "UTF-8"?>
> <Quotes>
>         <Quote Symbol="SUNW">
>                 <Time>9:51AM</Time>
>                 <Price>16.06</Price>
>         </Quote>
> </Quotes>

C:\xml>saxon t.xml t.xslt
<?xml version="1.0" encoding="utf-8"?>

<!DOCTYPE Quotes
  SYSTEM "Quote.dtd">
<Quotes xmlns:p="";>
   <Quote Symbol="SUNW">

I removed the xhtml namespace declaration as confusing for this example
- though obviously it may be required for the real exercise - and they
weren't required in any of the select expressions. I added a namespace
prefix for all the matches. It might be worth checking the excellent
namespace tutorial at if this was not
just a typo.

Hope this helps -


 XSL-List info and archive:

Current Thread