Skip to main content
Skip table of contents

X4Document-Interfaces

Prozessbausteine, also Instanzen z. B. eines Adapters können zahlreiche Dokument-Arten einlesen und ausgeben: XML-Dokumente, aber auch Text- oder Binärdaten. Über das X4Document-Interface können Adapter auf Dokumente zugreifen bzw. mit der X4DocumentFactory als Ergebnis der Adapter-Operation ein Ausgabe-Dokument erzeugen. Dies kann eine X4Document-Instanz von einem dom4j-Baum sein, ein java.io.InputStream oder ein Byte-Array.

Wenn in X4-Prozessen XSL-Transformationen einen DOM-basierten Input erhalten, dann lassen sich Zeichenkodierungs-Probleme vermeiden. Bei Byte-basierten Dokumenten wird das Byte-Array ohne Zusatzinformationen an den XML-Parser gegeben.

Methoden von X4Document

de.softproject.integration.util.x4documents.X4Document
public byte[] getAsByteArray()

Gibt den Inhalt als Byte-Array zurück

public byte[] getAsByteArray(String encoding)

Gibt den Inhalt als Byte-Array mit in encoding angegebener Zeichenkodierung zurück

public java.io.InputStream getAsInputStream()

Gibt den InputStream vom Zugriff auf den Dokument-Inhalt zurück

public org.dom4j.Document getAsDocument() throws org.dom4j.DocumentException

Gibt den Inhalt als dom4J-DOM-Baum zurück

public org.dom4j.Document getAsDocument(String encoding) throws org.dom4j.DocumentException, java.io.UnsupportedEncodingException

Gibt den Inhalt als dom4J-DOM-Baum mit in encoding angegebener Zeichenkodierung zurück

public void parseWithHandler (ContentHandler chandler) throws SAXException, IOException

Gibt den Inhalt an bereitgestellte org.sax.ContentHandler-Instanz weiter (flush)

public String getMimeType()

Gibt den MIME-Typ des Dokuments zurück

public String getEncoding()

Gibt die Zeichenkodierung des Dokuments zurück

public void setMimeType(String mimeType)

Setzt den MIME-Typ des Dokuments

public void setEncoding(String encoding)

Setzt die Zeichenkodierung des Dokuments

Methoden der X4DocumentFactory

de.softproject.integration.util.x4documents.X4DocumentFactory

public static X4Document createX4Document(byte[] bytes, String encoding, String mimeType)

Gibt die X4Document-Instanz mit Byte-Array-Inhalt bytes aus, das Zeichenkodierung encoding und MIME-Typ mimeType besitzt

public static X4Document createDocument(Document doc, String encoding, String mimeType)

Gibt die X4Document-Instanz mit dom4J-Baum-Inhalt doc aus, die Zeichenkodierung encoding und MIME-Typ mimeType besitzt

public static X4Document createX4Document(InputStream is, String encoding, String mimeType) throws X4DocumentException

Gibt die X4Document-Instanz mit java.io.InputStream-Inhalt is aus, die Zeichenkodierung encoding und MIME-Typ mimeType besitzt

Beispiel

JAVA
public class X4DocumentTest {
    public static void main(String[] args) {
        InputStream is = null;
        try {
            is = new FileInputStream("Sample.xml");
            // create a new X4Document
            X4Document x4doc = X4DocumentFactory.createX4Document(is,
                    "cp-1252", "text/xml");
            // get content as a dom4j document
            System.out.println(x4doc.getAsDocument().asXML() + "\n");
            // get content as a byte array
            System.out.println(new String(x4doc.getAsByteArray())
                    + "\n");
            // parse the x4document's content
            SAXContentHandler chandler = new SAXContentHandler();
            x4doc.parseWithHandler(chandler);
            System.out.println(chandler.getDocument().asXML() + "\n");
        } catch (Exception ex) {
            ex.printStackTrace();
        } finally {
            if (is != null)
                try {
                    is.close();
                } catch (IOException ioex) {
                }
        }
    }
}
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.