xsl-list
[Top] [All Lists]

Re: RE: XPath to match XML from Cocoon Request Generator

2003-05-15 06:28:36
Date: Tue, 13 May 2003 16:54:38 +0300
From: Jarno(_dot_)Elovirta(_at_)nokia(_dot_)com
Subject: RE: [xsl] XPath to match XML from Cocoon Request Generator

Hi,

<page>
  <request xmlns="http://www.apache.org/coccon/requestgenerator/2.0";
           target="/cocoon/test/request" source="">
    <requestHeaders>
     <header name="accept">image/gif, image/jpeg, ..., */*</header> 
     <header name="accept-language">en-gb</header> 
     <header name="accept-encoding">gzip, deflate</header> 
     <header name="user-agent">Mozilla/4.0 (compatible; MSIE 
6.0; Windows
NT 5.0)</header> 
     <header name="host">localhost:8080</header> 
     <header name="connection">Keep-Alive</header> 
    </requestHeaders>
    <requestParameters /> 
    <configurationParameters /> 
  </request>
  <foo target="bar"/>
</page>

I what to access the target attribute of the request element. 
 I have used:

 /page/x:request/@target

where the prefix x is bound to namespace URI 
http://www.apache.org/coccon/requestgenerator/2.0.
 
[snip]

1) Why is xmlns attribute causing this happening?

See <http://www.w3.org/TR/xpath#node-tests>

 "--except that the default namespace declared with xmlns is not used:--"

Cheers,

Jarno - God Module: Illusion

Thanks for the response Jarno but I still have the problem - may be I have
misunderstood you - there is no x, so '/path/request/@target' should work:

XML: 
<page>
  <request xmlns="http://www.apache.org/coccon/requestgenerator/2.0";
           target="/cocoon/test/request" source="">
    ...
  </request>
</page>

XSLT:
My understanding is that <xsl:value-of select="/path/request/@target"/>
should return '/cocoon/test/request', but it does not.
Instead the only XSLT I can make work is <xsl:value-of
select="/path/*/@target"/>

When I remove the xmlns attribute from the XML:
<page>
  <request target="/cocoon/test/request" source="">
    ...
  </request>
</page>

<xsl:value-of select="/path/request/@target"/> works.

It appears that the xmlns attribute is preventing the Xpath from matching.

Tim


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



<Prev in Thread] Current Thread [Next in Thread>