MIME 树详细信息
逻辑树元素
MIME 消息作为具有以下元素的逻辑树在代理中显示:
树的根是名为 MIME 的节点。
不管是否符合 MIME 标准,所有格式正确的头都存储在逻辑树中。头以 name=value 的形式出现在逻辑树中,如下所示:
Content-Type=text/xml
多段式 MIME 消息通过根节点名称为 Parts 的子树表示。
与多段式 MIME 消息关联的任意前同步信号或结尾数据通过以下仅值元素表示,这些仅值元素以 Parts 的第一个子代和最后一个子代的形式出现。
在单段式 MIME 的特殊情况中,内容由根名称为 Data 的子树表示。
多段式 MIME 消息的每个部分都由名为 Part 的元素表示,每个 MIME 头都有一个子代元素和一个名为 Data 的最后一个子代。
Data 元素表示 MIME 部分的内容。这使得使用 ESQL 测试主体内容是否存在变得更容易,这是因为 Data 元素始终是其父代的最后一个子代。
写 MIME 消息
写消息时,MIME 解析器使用逻辑消息树创建消息位流。MIME 域不执行 MIME 规范要求的所有约束,因此它可能生成不符合 MIME 规范的 MIME 消息。MIME 解析器利用的约束为:
树必须有名为 MIME 的根、委托人 Parts(Part)和 Data 元素,如
逻辑树元素
描述的那样。
树的顶级必须存在一个 Content-Type 头,或通过 ContentType 属性可用。介质子类型不会被验证。
如果介质类型是
multipart
,则必须是有效的边界参数。
所有委托人 MIME 部分可能有一个 Content-Type 头。如果该头的值以
multipart
开始,则它必须包含有效的边界参数。该边界参数的值不得与定义中的其他边界参数值相同。
MIME Content-Type 值“message”不受支持,会在运行时导致错误。
树中的所有名称-值元素编写成
name: value
后跟 ASCII 序列
<CR><LF>
。
如果树中有其他元素,则解析器的行为与 HTTP 头解析器的行为相同:
具有 NULL 值的仅名称元素或 NameValue 元素生成
Name: NULL
。
任何名称-值元素的子代被忽略。
如果存在子树,消息流必须对其进行序列化。可以使用 ESQL 命令
ASBITSTREAM
完成这一操作。
相关概念
MIME 解析器和域
MIME 消息
逻辑树结构
消息建模概念
相关任务
使用消息体内容
声明
|
商标
|
下载
|
书库
|
支持
|
反馈
ac30090_