Details der MIME-Baumstruktur

Elemente der logischen Baumstruktur

Eine MIME-Nachricht wird im Broker als eine logische Baumstruktur mit folgenden Elementen dargestellt:
  • Das Stammverzeichnis der Baumstruktur ist ein Knoten mit dem Namen 'MIME'.
  • Alle richtig formatierten Header werden in der logischen Baumstruktur gespeichert, unabhängig davon, ob sie dem MIME-Standard entsprechen oder nicht. Die Header erscheinen in der logischen Baumstruktur als Name/Wert-Paare (Name=Wert), zum Beispiel:
    Content-Type=text/xml
  • Eine mehrteilige MIME-Nachricht wird durch eine untergeordnete Baumstruktur mit einem Stammknoten mit dem Namen 'Parts' (Teile) dargestellt.
  • Alle Präambel- oder Epilogdaten, die einer mehrteiligen MIME-Nachricht zugeordnet sind, werden durch Elemente, die nur aus einem Wert bestehen und das erste bzw. letzte untergeordnete Element von 'Parts' bilden, dargestellt.
  • Im Sonderfall einer einteiligen MIME-Nachricht wird der Inhalt durch eine untergeordnete Baumstruktur mit dem Stammknoten 'Data' (Daten) dargestellt.
  • Jeder Teil einer mehrteiligen MIME-Nachricht wird durch ein Element mit dem Namen 'Part' mit einem untergeordneten Element für jeden MIME-Header und einem letzten untergeordneten Element mit dem Namen 'Data' dargestellt.
  • Das Element 'Data' stellt den Inhalt eines MIME-Teils dar. Dadurch kann mit Hilfe eines ESQL-Codes einfacher getestet werden, ob ein Nachrichteninhalt vorhanden ist, weil das Element 'Data' immer das letzte untergeordnete Element des ihm übergeordneten Elements ist.

MIME-Nachrichten schreiben

Beim Schreiben einer Nachricht erstellt der MIME-Parser einen Nachrichtenbitstrom auf Basis der logischen Nachrichtenbaumstruktur. Die MIME-Domäne erzwingt nicht alle von der MIME-Spezifikation geforderten Vorgaben, so dass auch MIME-Nachrichten generiert werden können, die nicht der MIME-Spezifikation entsprechen. Der MIME-Parser erwartet, dass folgende Vorgaben erfüllt werden:
  • Die Baumstruktur muss ein Stammverzeichnis mit dem Namen 'MIME' sowie die Basiselemente 'Parts', 'Part' und 'Data' enthalten, so wie unter Elemente der logischen Baumstruktur beschrieben.
  • Auf der höchsten Ebene der Baumstruktur muss sich genau ein Content-Type-Header befinden oder über die Eigenschaft 'ContentType' verfügbar sein. Mediensubtypen werden nicht geprüft.
  • Wenn es sich bei dem Medientyp um multipart handelt, muss auch ein gültiger Begrenzer angegeben sein.
  • Alle MIME-Basisbestandteile können genau einen Content-Type-Header enthalten. Wenn der Wert dieses Headers mit multipart beginnt, muss er auch einen gültigen Begrenzer enthalten. Der Wert für diesen Begrenzer darf mit keinem der anderen Parameterwerte für Begrenzer in der Definition übereinstimmen.
  • Der MIME-Inhaltstyp "Nachricht" wird nicht unterstützt und führt während der Ausführung zu einem Fehler.
  • Alle Name-Wert-Elemente in der Baumstruktur werden in der Form Name: Wert gefolgt von der ASCII-Folge <CR><LF> geschrieben.
Wenn die Baumstruktur weitere Elemente enthält, verhält sich der Parser genauso wie der Parser für HTTP-Header:
  • Ein Element, das nur aus einem Namen besteht, oder ein Element 'NameValue' mit einem Wert NULL ergibt Name: NULL .
  • Alle untergeordneten Werte eines Name-Wert-Elements werden ignoriert.
Der Nachrichtenfluss muss untergeordnete Baumstrukturen, falls vorhanden, serialisieren. Dies kann mit dem ESQL-Befehl ASBITSTREAM erfolgen.
Zugehörige Konzepte
MIME-Parser und -Domäne
MIME-Nachrichten
Logische Baumstruktur
Begriffe der Nachrichtenmodellierung
Zugehörige Tasks
Inhalt des Hauptteils einer Nachricht bearbeiten
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Rückmeldung
Copyright IBM Corporation 1999, 2006 Letzte Aktualisierung: 23. Aug. 2006
ac30090_