[Home] [By Thread] [By Date] [Recent Entries]
From: Ivo Ottiger mailto:ivo.ottiger@b... 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 > > <?xml version="1.0"?> > <!-- quotes.xsl: Transform to Quote.dtd vocabulary --> > <xsl:stylesheet version="1.0" > xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > xmlns:xhtml="http://www.w3.org/1999/xhtml"> > <xsl:output method="xml" doctype-system="Quote.dtd" indent="yes"/> > <xsl:template match="/"> > <Quotes> > <xsl:for-each select="xhtml:PortfolioResp/xhtml:Quote"> > <Quote> > <Symbol Ticker="{xhtml:Symbol}"></Symbol> > <Time><xsl:value-of select="xhtml:Time"/></Time> > <Price><xsl:value-of select="xhtml: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> > > But without any success. Can somebody help me. > Thanks. From a quick glance it looks like a namespace prefix problem. In your XSLT stylesheet you refer to the elements xhtml:PortfolioResp and xhtml:Quote. In the stylesheet the prefix xhtml rightly refers to the URI http://www.w3.org/1999/xhtml but the elements you reference are in the namespace with the URI http://www.portfolio.org/Portfolio/Response. You simply need to create a new namespace prefix in your XLST stylesheet and use that as the prefix for the PortfolioResp and Quote elements. Regards Rob Lugt ElCel Technology http://www.elcel.com
|

Cart



