[JAVA] XML DocType

Pagina: 1
Acties:

  • josteman
  • Registratie: Mei 2002
  • Laatst online: 21-12-2022
Hallo,

Ik ben bezig om een XML document op te bouwen met gegevens uit mijn programma die in te lezen zijn door OpenOffice. Daarvoor wil ik een XML-document opbouwen dat er ongeveer als volgt uit ziet:
code:
1
2
3
4
5
6
7
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
<article lang="nl-NL">
    <sect1>
        <title>Planning</title>
    </sect1>
</article>

Ik gebruik hiervoor java DOM op de volgende manier:
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
 DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
      factory.setNamespaceAware(true);
      DocumentBuilder builder = factory.newDocumentBuilder();
      DOMImplementation impl = builder.getDOMImplementation();

      DocumentType article1 = impl.createDocumentType ("article",
                                                    "-//OASIS//DTD DocBook XML V4.1.2//EN",
                                                    "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd");

      Document doc = impl.createDocument(null, "article", article1);

      Node rootElement = doc.getDocumentElement();
      ....

Verder kan ik wel extra nodes aan het document toevoegen enkel hij schijft de DocType niet in het document. (zonder doctype leest OpenOffice het niet)

Weet iemand waarom deze er niet in wordt geschreven?

Groeten,
Josteman

edit:
Gebruik code=java tags voor Java syntax highlighting :)

[ Voor 10% gewijzigd door drm op 19-05-2004 10:38 ]

Boei


  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

't Is ook wel handig om even te laten zien hoe je code eruit ziet waar je de transformer aan maakt die het document weg moet schrijven :)

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • josteman
  • Registratie: Mei 2002
  • Laatst online: 21-12-2022
Hierbij de tranformer
Java:
1
2
3
4
5
6
TransformerFactory xformFactory
       = TransformerFactory.newInstance();
      Transformer idTransform = xformFactory.newTransformer();
      Source input = new DOMSource(doc);
      Result output = new StreamResult(System.out);
      idTransform.transform(input, output);


edit:
Gebruik code=java tags voor Java syntax highlighting :)

[ Voor 11% gewijzigd door drm op 19-05-2004 10:39 ]

Boei