cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Davanum Srinivas <d...@yahoo.com>
Subject Re: [c2] bug in trax transformer (xalan)?
Date Thu, 26 Apr 2001 21:01:52 GMT
Donald,

I learnt this trick a couple of days back from Giacomo. Try adding a 
<map:transform type="log"/> before your <map:transform src="style/clients.xsl"/>
and tail the
cocoon.log to see the SAX input to the stylesheet. This will help in diagnosing problems in
the
SAX input to trax transformer.

Thanks,
dims

--- Donald Ball <balld@webslingerZ.com> wrote:
> hey guys, i'm trying to track down a weird namespace related problem in
> c2. i've got an aggregated xml result set that looks something like this:
> 
> <?xml version="1.0" encoding="UTF-8"?>
> <root>
>  <w:page
>   xmlns:xsp-cookie="http://apache.org/xsp/cookie"
>   xmlns:xsp="http://apache.org/xsp"
>   xmlns:w="http://intranet.webslingerZ.com/xml/site/v1"
>   xmlns:xspdoc="http://apache.org/cocoon/XSPDoc/v1"
>   xmlns:esql="http://apache.org/cocoon/SQL/v2"
>   xmlns:wzi="http://intranet.webslingerZ.com/xml/xsp/v1"
>   xmlns:xsp-request="http://apache.org/xsp/request"
>  >
>  <w:title>Client</w:title>
>  <w:body>
>   <clients>
>    <client>...</client>
>    ...
>   </clients>
>  </w:body>
> </root>
> 
> so underneath the w:body element, there's a clients element with no
> namespace. no default namespace is declared. all right so far? so now i
> want to apply a stylesheet to transform the clients tree fragment into
> elements in the w namespace. so i've got a stylesheet which does just
> that:
> 
> <xsl:stylesheet
>   xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
>   xmlns:w="http://intranet.webslingerZ.com/xml/site/v1"
>   version="1.0"
> >
> 
> <xsl:template match="clients">
>   <w:table type="data">
>     <w:title>Clients</w:title>
>     <xsl:for-each select="client">
>       <w:row>
>         <w:cell>
>           <a href="client?id={id}">
>             <xsl:value-of select="name"/>
>           </a>
>         </w:cell>
>       </w:row>
>     </xsl:for-each>
>   </w:table>
> </xsl:template>
> 
> <xsl:template match="node()" priority="-2">
>   <xsl:copy>
>     <xsl:apply-templates select="node()"/>
>   </xsl:copy>
> </xsl:template>
> 
> </xsl:stylesheet>
> 
> now if i apply the stylesheet by hand using xalan1 or xt, i get what i
> expect - a copy of the source xml with the clients fragment transformed
> into a w:table fragment.  but if i apply the stylesheet in the sitemap:
> 
> <map:transform src="style/clients.xsl"/>
> 
> i get this:
> 
> <?xml version="1.0" encoding="UTF-8"?>
> <root>
>  <w:page
>   xmlns:xsp-cookie="http://apache.org/xsp/cookie"
>   xmlns:xsp="http://apache.org/xsp"
>   xmlns:w="http://intranet.webslingerZ.com/xml/site/v1"
>   xmlns:xspdoc="http://apache.org/cocoon/XSPDoc/v1"
>   xmlns:esql="http://apache.org/cocoon/SQL/v2"
>   xmlns:wzi="http://intranet.webslingerZ.com/xml/xsp/v1"
>   xmlns:xsp-request="http://apache.org/xsp/request"
>  >
>  <w:title>Client</w:title>
>  <w:body>
>   <clients xmlns="http://intranet.webslingerZ.com/xml/site/v1">
>    <client>...</client>
>    ...
>   </clients>
>  </w:body>
> </root>
> 
> for the _life_ of me, i cannot figure out what's going wrong. it's as if
> the stylesheet transformer is seeing the incoming xml document as having a
> default namespace of "http://intranet.webslingerZ.com/xml/site/v1". if i
> modify the stylesheet to operate on the clients elements if they belong to
> that namespace:
> 
> <xsl:template match="w:clients">
>   <w:table type="data">
>     <w:title>Clients</w:title>
>     <xsl:for-each select="w:client">
>       <w:row>
>         <w:cell>
>           <a href="client?id={w:id}">
>             <xsl:value-of select="w:name"/>
>           </a>
>         </w:cell>
>       </w:row>
>     </xsl:for-each>
>   </w:table>
> </xsl:template>
> 
> i get the results i expect, but it should not be the case that the input
> clients element belongs to any namespace, much less the w: one. any ideas,
> folks?
> 
> - donald
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: cocoon-dev-unsubscribe@xml.apache.org
> For additional commands, email: cocoon-dev-help@xml.apache.org
> 


=====
Davanum Srinivas, JNI-FAQ Manager
http://www.jGuru.com/faq/JNI

__________________________________________________
Do You Yahoo!?
Yahoo! Auctions - buy the things you want at great prices
http://auctions.yahoo.com/

---------------------------------------------------------------------
To unsubscribe, e-mail: cocoon-dev-unsubscribe@xml.apache.org
For additional commands, email: cocoon-dev-help@xml.apache.org


Mime
View raw message