RE: [xsl] XPath problem

Subject: RE: [xsl] XPath problem
From: <Jarno.Elovirta@xxxxxxxxx>
Date: Thu, 27 Jan 2005 10:06:06 +0200
Hi,

> I am trying to use a very fancy XPath with Dom4J, but
> something is wrong with my string.  Here it is:
>
> /rr:ReportRequest/xqx:whereClause/*/xqx:expr[xsi:type
> = 'operatorExpr' and xqx:opType = '&lt;=' and
> xqx:parameters/xqx:expr[1]/xqx:value =
> 'DateMisplaced']/xqx:parameters/xqx:expr[2]/xqx:value

Looks ok syntax-wise.

> There seem to be at least two problems with this
> string.
>
> The first is that it doesn't seem to like the "*",
> which seems strange to me.  It will find:
>
> /rr:ReportRequest/xqx:whereClause
>
> but not
>
> /rr:ReportRequest/xqx:whereClause/*/xqx:expr

Does you source tree contain an xqx:expr element at that location?

> The second problem is that it does not like:
>
> xqx:opType = '&lt;='
>
> Is there a problem with this?  The element text
> contains the string "&lt;=".  But the match does not
> work.

The equality operator in this case tests whether there is a xqx:opType child
whose string value is "<=". Use contains() function if you want to check is a
xqx:opType child contains "<=" in it's string value.

Cheers,

Jarno

Current Thread