Problema con JSTL XML

rafael
11 de Mayo del 2004
Antes que nada un cordial saludo.
Estoy teniendo problemas al tratar de utilizar el JSTL de Sun (para XML), donde desde un Bean envío un dom.Document. Sin embargo me da el siguiente error: javax.servlet.jsp.JspException: Falta elemento de raíz de documento.
Agradecería en sumo grado una pista con respecto a este asunto.
El código JSP y del Bean son los siguientes:
---------------------
El código en el JSP:
...
<%@ page import="java.sql.*, org.w3c.dom.*" %>
...
<%@ taglib uri="http://java.sun.com/jstl/xml" prefix="x" %>
...
<%Document domdoc = control.ControlSendXML();%>
<x:parse varDom="${domdoc}">
---------------------
El código del Bean es:
...
import org.w3c.dom.*;
import javax.xml.parsers.*;
import javax.xml.transform.*;
import javax.xml.transform.stream.*;
import javax.xml.transform.dom.*;
...
public Document ControlSendXML() throws Exception, DOMException {
Document xmldoc = null;
try {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
DOMImplementation impl = builder.getDOMImplementation();
Element element = null;
Node node = null;
xmldoc = impl.createDocument(null, "KDATA", null);
Element root = xmldoc.getDocumentElement();
String x = "";
for (int i = 0; i < 5; i++) {
x = Integer.toString(i);
element = xmldoc.createElementNS(null, "ROW");
element.setAttributeNS(null, "ID", x);
element.setAttributeNS(null, "TYPE", "int");
node = xmldoc.createTextNode("El valor debe ser " + x);
element.appendChild(node);
root.appendChild(element);
}
}
catch (DOMException dome) {System.out.println(dome.getMessage());}
catch (Exception e) {System.out.println(e.getMessage());}
return xmldoc;
}
---------------------