You are viewing a plain text version of this content. The canonical link for it is here.
Posted to taglibs-user@tomcat.apache.org by Ashish Srivastava <as...@yahoo.com> on 2006/09/28 19:28:10 UTC

Using Java variables in Xtags select

Hi,
  I am using xtags library in a JSP and am having
trouble using Java variables while selecting XML
nodes. The XML to be parsed is:

<xtags:parse id="parsed">
<parent id="1">
   <child id="c1">
       <class grade="art"/>
       <class grade="science"/>
   </child>
   <child> ... </child>
</parent>
</xtags:parse>

<xtags:forEach context="<%=parsed%>"
       select="//child[@id=<%=child_id%>/class">
  ...
</xtags:forEach>

Where child_id is a Java variable defined in the JSP.

The above code throws an exception complaining about
'<' in the expression. Even after escaping the
character it does not work. I even tried with indexing
like, 

select="//child[i]/class"

where i is the index of the line. The problem is the
above select code returns all the child nodes instead
of the index=i. Seems like its null or something. 

Help is highly appreciated.

Thanks,
-Ashish

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

---------------------------------------------------------------------
To unsubscribe, e-mail: taglibs-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: taglibs-user-help@jakarta.apache.org


Re: Using Java variables in Xtags select

Posted by Rashmi Rubdi <de...@yahoo.com>.
Have you set up JSTL?

If you use the latest version JSTL1.1 core tags you
can do this:

<c:set var="child_id" value="someValue"/>

> <xtags:forEach context="<%=parsed%>"
>        select="//child[@id=$child_id]/class">
>   ...
> </xtags:forEach>

Here are some JSTL installation instructions:
http://jakarta.apache.org/taglibs/doc/standard-doc/standard/GettingStarted.html

--- Ashish Srivastava <as...@yahoo.com> wrote:

> Hi,
>   I am using xtags library in a JSP and am having
> trouble using Java variables while selecting XML
> nodes. The XML to be parsed is:
> 
> <xtags:parse id="parsed">
> <parent id="1">
>    <child id="c1">
>        <class grade="art"/>
>        <class grade="science"/>
>    </child>
>    <child> ... </child>
> </parent>
> </xtags:parse>
> 
> <xtags:forEach context="<%=parsed%>"
>        select="//child[@id=<%=child_id%>/class">
>   ...
> </xtags:forEach>
> 
> Where child_id is a Java variable defined in the
> JSP.
> 
> The above code throws an exception complaining about
> '<' in the expression. Even after escaping the
> character it does not work. I even tried with
> indexing
> like, 
> 
> select="//child[i]/class"
> 
> where i is the index of the line. The problem is the
> above select code returns all the child nodes
> instead
> of the index=i. Seems like its null or something. 
> 
> Help is highly appreciated.
> 
> Thanks,
> -Ashish
> 
> __________________________________________________
> Do You Yahoo!?
> Tired of spam?  Yahoo! Mail has the best spam
> protection around 
> http://mail.yahoo.com 
> 
>
---------------------------------------------------------------------
> To unsubscribe, e-mail:
> taglibs-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail:
> taglibs-user-help@jakarta.apache.org
> 
> 


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

---------------------------------------------------------------------
To unsubscribe, e-mail: taglibs-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: taglibs-user-help@jakarta.apache.org