You are viewing a plain text version of this content. The canonical link for it is here.
Posted to general@xerces.apache.org by "Wiedmann, Jochen" <jo...@softwareag.com> on 2000/02/24 13:55:55 UTC
Serializing a doctype specification
Hello,
the question may be stupid, but how do I create a doctype specification in
a serialized document? Here's what I do, I'd expect to see a doctype
declaration in the output, but I only get XML declaration and document.
Thanks,
Jochen
public class domtest {
public static void main (String args[]) throws java.io.IOException {
org.apache.xerces.dom.DocumentImpl myDoc =
new org.apache.xerces.dom.DocumentImpl();
org.w3c.dom.DocumentType dt =
new org.apache.xerces.dom.DocumentTypeImpl(myDoc, "dibob", null,
"dibob.dtd");
myDoc.appendChild(dt);
myDoc.appendChild(myDoc.createElement("dibob"));
org.apache.xml.serialize.OutputFormat oformat =
new org.apache.xml.serialize.OutputFormat("XML", "iso-8859-1",
true);
oformat.setDoctype(null, "dibob.dtd");
oformat.setStandalone(false);
org.apache.xml.serialize.XMLSerializer serializer =
new org.apache.xml.serialize.XMLSerializer(oformat);
serializer.setOutputCharStream(new java.io.PrintWriter(System.out));
serializer.serialize(myDoc);
}
}
Re: Serializing a doctype specification
Posted by Assaf Arkin <ar...@exoffice.com>.
First, you should create the document with the document type as follows:
DOMImplementation impl;
impl = new DOMImplemenation();
doc = impl.createDocument( null, "dibob", impl.createDocumentType(
"dibob", null, "dibob.dtd" ) );
Second, you should try getting the latest Xerces release from the CVS,
since it contains bug fixes to the document type printing code. It's not
working in 1.0.1, almost always working in 1.0.2, but has two bug fixes
in the CVS version (since two days ago).
arkin
"Wiedmann, Jochen" wrote:
>
> Hello,
>
> the question may be stupid, but how do I create a doctype specification in
> a serialized document? Here's what I do, I'd expect to see a doctype
> declaration in the output, but I only get XML declaration and document.
>
> Thanks,
>
> Jochen
>
> public class domtest {
> public static void main (String args[]) throws java.io.IOException {
> org.apache.xerces.dom.DocumentImpl myDoc =
> new org.apache.xerces.dom.DocumentImpl();
> org.w3c.dom.DocumentType dt =
> new org.apache.xerces.dom.DocumentTypeImpl(myDoc, "dibob", null,
> "dibob.dtd");
> myDoc.appendChild(dt);
> myDoc.appendChild(myDoc.createElement("dibob"));
>
> org.apache.xml.serialize.OutputFormat oformat =
> new org.apache.xml.serialize.OutputFormat("XML", "iso-8859-1",
> true);
> oformat.setDoctype(null, "dibob.dtd");
> oformat.setStandalone(false);
>
> org.apache.xml.serialize.XMLSerializer serializer =
> new org.apache.xml.serialize.XMLSerializer(oformat);
> serializer.setOutputCharStream(new java.io.PrintWriter(System.out));
> serializer.serialize(myDoc);
> }
> }
--
----------------------------------------------------------------------
Assaf Arkin www.exoffice.com
CTO, Exoffice Technologies, Inc. www.exolab.org