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(); } } }