Anhang B. Handbuch zur Implementierung für das Modul Umleitung

Ab Version 1.0 enthält Kopete ein Modul namens Umleitung. Mit diesem Modul können ein- oder ausgehende Nachrichten durch ein externes Skript oder Programm geleitet werden. Durch das Programm geleitet werden alle eingehen Nachrichten, ehe sie das Chatfenster erreichen und alle ausgehenden Nachrichten, ehe sie ins Internet geschickt werden. Für Umleitungen gibt es drei verschiedene Format für den Text:

Unformatierter Text

Die eigentliche Nachricht im ASCII-Textformat

HTML-Text

Die eigentliche Nachricht im HTML-Format, die für die Anzeige im Chatfenster gerendert wird

Vollständige XML-Nachricht

Ein XML-Dokument mit einer vollständigen Beschreibung der Nachricht einschließlich des HTML-Textteils

Dieses Dokument beschreibt die Besonderheiten des XML-Formats und gibt Hinweise, wie ein Programm zur Bearbeitung dieses Formats zu schreiben ist.

XML-Ausgabe

Ein Beispiel für den Datenstrom, den ein Programm auf der Standardeingabe empfängt:


<?xml version=1.0 encoding=ISO-8859-1?>
<message subject=""
        route=outbound
        importance=1
        formattedTimestamp=11:06:46 am
        timestamp=Sat Dec 1 11:06:46 2007
        type=normal
        mainContactId=spacemonkey1234
        time=11:06 am >
        <from>
                <contact contactId=tdurden
                        protocolIcon=aim_protocol
                        userPhoto=/home/kde-devel/.kde4/share/apps/kopete/oscarpictures/tdurden.jpg >
                        <contactDisplayName dir=ltr text=tdurden />
                        <metaContactDisplayName dir=ltr
                                text=Tyler />
                </contact>
        </from>
        <to>
                <contact contactId=spacemonkey1234
                        protocolIcon=aim_protocol
                        userPhoto=/home/kde-devel/.kde4/share/apps/kopete/avatars/User/7e542903e0ac7519a7496e85f5a5b99d.png >
                        <contactDisplayName dir=ltr text=spacemonkey1234 />
                        <metaContactDisplayName dir=ltr text=Robert Paulson />
                </contact>
                </to>
        <body dir=ltr
                bgcolor=#000000
                color=#000000 >
                &lt;span style= color:#000000;
>hey&lt;/span
></body>
</message>

Diese Daten im XML-Format basieren mehr oder weniger auf der XSD für Chatstile von der Kopete Webseite. Dieser Quelltext stellt eine Nachricht dar. Es gibt einige Dinge zu beachten:

  • Das Attribut timestamp im Element message hat das Standardformat der ISO 8601.

  • Das Attribut protocolIcon im Element contact wird folgendermaßen bestimmt:

    1. Ist für das Kontaktobjekt das Attribut userPhoto gesetzt, wird dieses verwendet.

    2. Fehlt das Attribut, wird der Pfad zu einem Bild des Metakontakts für diesen Kontakt verwendet, unabhängig davon, ob dieser Pfad existiert.

  • Die Attribute „color“ und „bgcolor“ im Element „body“ sind leere Zeichenketten, sofern in Kopete kein Wert eingesetzt wurde. Dieser Wert hat das Format für Webfarben.

  • Im Text innerhalb des Elements „body“ ist das Zeichen „<“ maskiert, da das unmaskierte Zeichen für die XML-Struktur verwendet wird. Um den Text korrekt als HTML zu interpretieren, muss „&lt;“ in „<“ umgewandelt werden.