This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: transfer namespace within XSL




Ivo Ottiger wrote:
> 
> I try to transform the following XML Doc
> 
> <?xml version = "1.0" encoding = "UTF-8"?>
> <PortfolioResp xmlns = "http://www.portfolio.org/Portfolio/Response";
> xmlns:xhtml="http://www.w3.org/1999/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" 
	mlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
	xmlns:p="http://www.portfolio.org/Portfolio/Response";>
  <xsl:output method="xml" doctype-system="Quote.dtd" indent="yes"/>
  <xsl:template match="/">
    <Quotes>
      <xsl:for-each select="p:PortfolioResp/p:Quote">
        <Quote Symbol="{p:Symbol}">
          <Time>
            <xsl:value-of select="p:Time"/>
          </Time>
          <Price>
            <xsl:value-of select="p:Price"/>
          </Price>
        </Quote>
      </xsl:for-each>
    </Quotes>
  </xsl:template>
</xsl:stylesheet>

> 
> 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="http://www.portfolio.org/Portfolio/Response";>
   <Quote Symbol="SUNW">
      <Time>9:51AM</Time>
      <Price>16.06</Price>
   </Quote>
</Quotes>
C:\xml>

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
http://zvon.org/xxl/NamespaceTutorial/Output/index.html if this was not
just a typo.

Hope this helps -

Francis.

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]