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.