Problem when a use a x:forEach into another x:forEach

"Sébastien Brodeur" <[email protected]>
Newsgroups gmane.comp.jakarta.taglibs.user
Message-ID <[email protected]>
I'm currently migrating my application from WebSphere 5 (JSTL 1.0) to
WebSphere 6 (JSTL 1.1), and so far, the XML taglibs give us a lot of
trouble.

For example :

------------------------------------------------------------------------------------------------------
collections.xml

<?xml version="1.0" encoding="ISO-8859-1"?>
<collections>
  <collection>
    <id>horror</id>
    <name>Horror novel</name>
  </collection>
  <collection>
    <id>scifi</id>
    <name>Sci-Fi novel</name>
  </collection>
</collections>

------------------------------------------------------------------------------------------------------
books.xml

<?xml version="1.0" encoding="ISO-8859-1"?>
<books>
  <book>
    <collection_id>scifi</collection_id>
    <title>Robots</title>
  </book>
  <book>
    <collection_id>scifi</collection_id>
    <title>The Moon is a Hashes Mistress</title>
  </book>
  <book>
    <collection_id>scifi</collection_id>
    <title>Spaceship Tropper</title>
  </book>
  <book>
    <collection_id>horror</collection_id>
    <title>This</title>
  </book>
</books>

------------------------------------------------------------------------------------------------------
books.jsp

<%@ taglib prefix="c" uri="/WEB-INF/c.tld" %>
<%@ taglib prefix="x" uri="/WEB-INF/x.tld" %>

<c:import var="xml_collections" url="http://localhost/collections.xml" />
<x:parse xml="${xml_collections}" var="collections" scope="request"/>

<c:import var="xml_books" url="http://www.localhost/books.xml" />
<x:parse xml="${xml_books}" var="books" scope="request"/>

<x:forEach select="$collections/collections/collection" var="collection">
  <x:out select="$collection/name" />
  <ul>
    <x:forEach select="$books/books/book[collection_id=$collection/id]"
var="book">
      <li><x:out select="$book/title" /></li>
    </x:forEach>
  </ul>
</x:forEach>

------------------------------------------------------------------------------------------------------
Output (WebSphere 5 using JSTL 1.0)

  Horror novel
  <ul>
      <li>This</li>
  </ul>

  Sci-Fi novel
  <ul>
      <li>Robots</li>
      <li>The Moon is a Hashes Mistress</li>
      <li>Spaceship Tropper</li>
  </ul>

------------------------------------------------------------------------------------------------------

Output (WebSphere 6 using JSTL 1.1)

  Horror novel
  <ul>
  </ul>
  Sci-Fi novel
  <ul>
  </ul>


Any idea how to do that without changing the structure of the two XML files?

Thank!

-- 
Sébastien Brodeur
[email protected]
Site Web : http://www.un-programmeur-php.ca/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.