I've fixed that and will commit it to the CVS. Apparently the prepare()
method was not called from startDocument for either XMLSerializer or
HTMLSerializer.
arkin
"Mikael St�ldal" wrote:
>
> When I try to use the XML serializer in Xerces 1.1.2, I get the
> following exception:
>
> java.lang.IllegalStateException: SER002 No writer supplied for serializer
> at java.lang.Throwable.<init>(Throwable.java:74)
> at java.lang.Exception.<init>(Exception.java:38)
> at java.lang.RuntimeException.<init>(RuntimeException.java:43)
> at java.lang.IllegalStateException.<init>(IllegalStateException.java:41)
> at org.apache.xml.serialize.XMLSerializer.startDocument
> (XMLSerializer.java:352)
>
> This problem didn't occur in Xerces 1.0.3.
>
> Here is a simple program to illustrate the problem:
>
> import java.io.*;
>
> import org.apache.xml.serialize.*;
> import org.xml.sax.*;
> import org.xml.sax.helpers.*;
>
> public class Serialize
> {
> public static void main(String[] args) throws Exception
> {
> if (args.length < 1)
> {
> System.out.println("Syntax: Serialize <filename>");
> return;
> }
>
> OutputFormat of = new OutputFormat();
> of.setEncoding("iso-8859-1");
> of.setDoctype("null","foo.dtd");
> XMLSerializer serial =
> new XMLSerializer(new FileOutputStream(args[0]), of);
>
> serial.startDocument();
>
> serial.processingInstruction("acme", "hej p� dig!");
> AttributeListImpl attrs = new AttributeListImpl();
> attrs.addAttribute("hej","CDATA","banan");
> attrs.addAttribute("id","ID","A123");
> serial.startElement("foo", attrs);
> serial.characters("foo bar".toCharArray(),0,7);
> serial.endElement("foo");
>
> serial.endDocument();
> }
> }
>
> P.S: I'm not subscribed to this mailing list, please answer by mail to
> me (see the sig below).
>
> --
> /****************************************************************\
> * You have just read a message from Mikael St�ldal. *
> * *
> * Remove "-ingen-reklam" from the address before mail replying. *
> \****************************************************************/
--
----------------------------------------------------------------------
Assaf Arkin www.intalio.com
CTO, Intalio Inc. www.exolab.org