2009-09-16 6 views
0

J'essaie d'utiliser les balises c: import et x: parse dans un x: forEach.JSTL c: import et x: analyser à l'intérieur de x: forEach

Est-ce possible? Sinon, quelle est l'autre manière d'importer plusieurs sources XML en fonction des données analysées provenant d'une autre source XML?

<x:forEach select="$sitemap/pages/page" varStatus="status"> 
    <x:set var="location_id" select="@id"/> 
    <c:import url="xml/pages/page${location_id}.xml" var="location_xml_var"/> 
    <x:parse var="location_xml" xml="${location_xml_var}" /> 

    <x:out select="$location_xml/pages/page/@name" escapeXml="false"/> 

</x:forEach> 

Il en résulte une

javax.servlet.jsp.JspException: org.xml.sax.SAXParseException: Content is not allowed in prolog. 
erreur

, sur le x: parse.

Répondre

0

Cela semble ne pas fonctionner.

J'ai fini par boucle à travers le xml sitemap et pour sortir les ids à une nouvelle

<c:set> 
variables

, en boucle puis à travers ce avec

<c:forEach> and <c:import>'ing 

chaque fichier XML que je avais besoin. Ainsi, le noyau pourEach le permettra, le xml forEach ne le permettra pas.

Je réalise que c'est probablement la mauvaise façon de résoudre ce problème de toute façon, mais je n'ai pas encore eu de réponse à cette question. N'hésitez pas à proposer une alternative!

Questions connexes