文件解析器使用SOPutBreak函数将文档__,即页眉,页脚,脚注和注释__添加到文档。文件解析器必须使用SO_SUBDOCBEGINBREAK值来调用SOPutBreak以启动子文档,并使用SO_SUBDOCENDBREAK值结束。
在结束子文档之后,文件解析器必须在子文档启动之前将字符和段落属性恢复到其状态。文件解析器可以使用SUUserPushData和SUUserPopData函数来保存和恢复嵌套的子文档信息。解析器可以无限制地嵌套子文档。以下示例显示何时保存并恢复此信息。
这是一个<大胆> 测试
//此时,过滤器应保存其内部
//反映大胆的事实的信息。
SOPutBreak(SO_SUBDOCBEGINBREAK);
SoPutSubdocInfo(...);
< Subdoc Begin > 这是一个 < Bold Off >子文档< Subdoc End >
//此时,过滤器应该还原其内部
//反映大胆的事实的信息。
SOPutBreak(SO_SUBDOCENDBREAK);
我的文件 <粗体>.
当子文档中的常规段落(SO_PARABREAK值)运行时,文件解析器不会正确退出子文档。显示引擎允许文件解析器运行到子文档的结束中断(也就是SO_SUBDOCENDBREAK值),并返回SO_STOP值。