Hi all,
does anyone knows why the following code (attach) produces an invalid
result? Prefixes are used, but the namespaces are not declared!!
I'm probably missing something trivial, but I can't figure out what I'm
doing wrong here.
The produced result is:
<?xml version="1.0" encoding="UTF-8"?>
<x:element/>
Prefix "x", is used but not declared!!!
I'm using xalan 2.7.0.
Thanks for any help.
Rui
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.sax.TransformerHandler;
import javax.xml.transform.sax.SAXTransformerFactory;
import javax.xml.transform.stream.StreamResult;
import org.xml.sax.helpers.AttributesImpl;
import java.io.*;
public class Teste {
public static void main(String args[])
{
StringWriter queryWriter;
TransformerHandler queryHandler;
try{
queryWriter = new StringWriter(256);
queryHandler = ((SAXTransformerFactory)TransformerFactory.newInstance()).newTransformerHandler();
queryHandler.setResult(new StreamResult(queryWriter));
queryHandler.startDocument();
queryHandler.startPrefixMapping("x","http://test.org/2000/test");
AttributesImpl atts = new AttributesImpl();
queryHandler.startElement("http://test.org/2000/test", "element", "x:element", atts);
queryHandler.endElement("http://test.org/2000/test", "element", "x:element");
queryHandler.endPrefixMapping("x");
queryHandler.endDocument();
System.out.println(queryWriter.toString());
}
catch(Exception e)
{
e.printStackTrace();
}
}
}