cocoon-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Luca Morandini" <luca.morandi...@tin.it>
Subject RE: XPath problem in Cocoon?
Date Fri, 20 Dec 2002 08:25:28 GMT
Joerg,

indeed, namespaces could be a problem when you forget to properly use them... but not in this
particular problem.

The code Anna sent us works just fine on my Cocoon, hence, I think the problem lies with Anna's
configuration, moreover, I
experienced nasty bugs with Xalan already.

Best regards,

---------------------------------------------
               Luca Morandini
               GIS Consultant
              lmorandini@ieee.org
http://utenti.tripod.it/lmorandini/index.html
---------------------------------------------


> -----Original Message-----
> From: Joerg Heinicke [mailto:joerg.heinicke@gmx.de]
> Sent: Friday, December 20, 2002 1:43 AM
> To: cocoon-users@xml.apache.org
> Subject: Re: XPath problem in Cocoon?
>
>
> Anna Afonchenko wrote:
> > Hi Luca. Thank you for answering. Yes, probably that's something with my
> > configuration. I am using Win98, Tomcat 4.1.12, Cocoon 2.0.4, Xalan 2.4.1.
> > I'll try to change the Xalan version.
> > Anyway, this thing is very weird.
> >
> > Thank you.
> > Anna
>
> Hello Anna,
>
> may I point out again, that in my opinion it is a simple namespace
> problem. Ok, it's only a guess, but I never heart of a bug like you
> describe. And exactly this behaviour is comprehensible with the
> following test case:
>
> XML: elements are in default namespace
>
> <root xmlns="test">
>      <p>a node to match</p>
> </root>
>
> XSL:
>
> <xsl:stylesheet version="1.0"
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:test="test">
>
> <xsl:template match="/">
> <table border="1">
>    <tr>
>      <td>1. test using "//p":</td>
>      <td><xsl:value-of select="count(//p)"/> matched</td>
>    </tr>
>    <tr>
>      <td>2. test using "//test:p":</td>
>      <td><xsl:value-of select="count(//test:p)"/> matched</td>
>    </tr>
>    <tr>
>      <td>3. test using "//*[name() = 'p']":</td>
>      <td><xsl:value-of select="count(//*[name() = 'p'])"/> matched</td>
>    </tr>
>    <tr>
>      <td>4. test using "//*[name() = 'test:p']":</td>
>      <td><xsl:value-of select="count(//*[name() = 'test:p'])"/> matched</td>
>    </tr>
> </table>
> </xsl:template>
>
> </xsl:stylesheet>
>
> Result:
>
> 1. test using "//p":                     0 matched
> 2. test using "//test:p":                1 matched
> 3. test using "//*[name() = 'p']":       1 matched
> 4. test using "//*[name() = 'test:p']":  0 matched
>
> Your cases are number 1 and 3 and you can see the same behaviour. Have a
> look into your XML file, whether a default namespace is set there. The
> reason for the differences when using default namespace is, that you
> must bind it in XSLT on a prefix. You can not match on elements via //p,
> if they are in default namespace.
>
> Regards,
>
> Joerg
>
>
> ---------------------------------------------------------------------
> Please check that your question  has not already been answered in the
> FAQ before posting.     <http://xml.apache.org/cocoon/faq/index.html>
>
> To unsubscribe, e-mail:     <cocoon-users-unsubscribe@xml.apache.org>
> For additional commands, e-mail:   <cocoon-users-help@xml.apache.org>
>


---------------------------------------------------------------------
Please check that your question  has not already been answered in the
FAQ before posting.     <http://xml.apache.org/cocoon/faq/index.html>

To unsubscribe, e-mail:     <cocoon-users-unsubscribe@xml.apache.org>
For additional commands, e-mail:   <cocoon-users-help@xml.apache.org>


Mime
View raw message