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

Reply via email to