Al escribir un mensaje, el analizador
MIME crea una corriente de bits de mensaje utilizando el árbol lógico de mensaje. Dado que
el dominio MIME no impone todas las restricciones que requiere la especificación MIME,
es posible que genere mensajes MIME que no cumplan con la especificación
MIME. Las restricciones que el analizador MIME impone son:
- El árbol debe tener una raíz denominada MIME y los elementos constituyentes Parts, Part
y Data, como se describe en Elementos de árbol lógico.
- Tiene que existir exactamente una cabecera Content-Type en el nivel superior del árbol
o ésta debe estar disponible a través de la propiedad ContentType. Los subtipos de medio
no se validan.
- Si el tipo de medio tiene varias partes, tiene que
haber también un parámetro de límite válido.
- Las partes constituyentes de MIME pueden tener exactamente una cabecera Content-Type. Si el
valor de esta cabecera empieza con varias partes, también debe incluir
un parámetro de límite válido. El valor de este parámetro de límite no debe ser igual que otros
valores de parámetro de límite de la definición.
- El valor de Content-Type de MIME "message" no se soporta y produce un error
en la ejecución.
- Todos los elementos nombre-valor del árbol se escriben como
nombre: valor seguidos de la secuencia ASCII <CR><LF>.
Si tiene otros elementos en el árbol, el analizador se comporta del mismo modo
que el analizador de cabecera HTTP:
- Un elemento de sólo nombre o un elemento de valor de nombre con un valor NULL produce
Nombre: NULL .
- Todos los hijos de un elemento nombre-valor se ignoran.
El flujo de mensajes debe serializar subárboles si éstos existen. Esto se puede realizar
utilizando el mandato de ESQL
ASBITSTREAM.