cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Szymon Stasik <>
Subject Re: [C2] xslt/namespace weird problem
Date Thu, 14 Mar 2002 07:45:20 GMT

Stuart Roebuck wrote:
>> <?xml version="1.0"?>
>> <xsl:stylesheet version="1.0" 
>> xmlns:xsl="">
>> <xsl:template match="addsql">
>>   <execute-query xmlns="">
>>     <query name="file">SELECT 1 AS bug</query>
>>   </execute-query>
>> </xsl:template>
>> <xsl:template match="@*|node()|text()" priority="-1">
>>   <xsl:copy>
>>     <xsl:apply-templates select="@*|node()"/>
>>   </xsl:copy>
>> </xsl:template>
>> </xsl:stylesheet>
> The definition of XSLT states that:
>> node() matches any node other than an attribute node and the root node
> So this would explain the non-matching of your root node.

root means '/' not '<root>' :) it is not a problem of matching '/' node 
but eg. copying it. At this stage xslt seems to work properly since 
doing serialisation directly after xslt (without sql transformer) 
procues xml that looks fine to my eyes - hovewer passing it to next 
transformation is beeing done without serialization - so some internal 
structure seems to be a problem. Anyway the xml is still passed to the 
sql transformer since I can see

HttpProcessor[8180][2]/SQLTransformer$Query: EXECUTING SELECT 1

in a log file, but it outputs nothing :(

> xsl:copy, as I understand it, makes a copy of the node set matched by 
> the template match.  I wonder if the match on "node()" but not on "*" 
> (representing an element node) means that the resulting copy of the node 
> excludes the uniquely element type attributes of the node.  The 
> definition of xsl:copy indicates that it automatically copies the 
> namespace axis of elements, but perhaps it doesn't if the element is 
> matched as a node?

I've tried yours proposal to be sure, but with same result. It seems to 
me as a very cocoon2 and/or trax specific problem, so help of someone 
that knows well internal cocoon structure is needed.
I can do some debuging but propably I won't be able to prepare 
apriopriate fix even after finding places where something goes wrong.

> This is the copy-all match I regularly use without problem in my 
> stylesheets:
>> <xsl:template match="*|comment()|text()|node()" priority="-1">
>>     <xsl:copy>
>>         <xsl:copy-of select="@*" />
>>         <xsl:apply-templates />
>>     </xsl:copy>
>> </xsl:template>



To unsubscribe, e-mail:
For additional commands, email:

View raw message