OFD文件本质上是个压缩包
文档结构
解压缩之后,可以发现其中的文件组织结构如下:
OFD.xml:主入口文件,有且只有一个,文件名不可修改Doc_N文件夹
Document.xml:文档根节点PublicRes.xml:文档公共资源索引DocumentRes.xml:文档自身资源索引Signs文件夹:数字签名存储目录
Signatures.xml:签名列表文件Sign_N文件夹:签名/签章
seal.esl:电子印章文件Signature.xml:签名/签章描述文件SignedValue.dat:签名值文件 Pages文件夹
Page_N文件夹
Content.xml:页内容描述PageRes.xml:页资源描述Res文件夹:页资源文件夹
Image_M.png:资源文件 CustomTag文件夹:自定义标引目录
CustomTag.xml:自定义标引描述
命名空间
OFD标准中XML文档使用的命名空间为http://www.ofdspec.org/2016,且要这个命名空间的表示要为ofd。XML文档中的元素节点应使用命名空间标识,元素属性不使用明明空间标识。下面是一个只有根元素和一个元素节点的OFD文档的示例:
xmlns:ofd="http://www.ofdspec.org/2016" DocType="OFD">
数据类型
OFD标准中有6中自定义数据类型:
ST_Loc:文件路径,区分大小写
“/“代表根节点,”/Pages/P1/Content.xml”“.“代表当前路径,”./Res/Book1.jpg”“…“代表父路径,”…/Pages/P1/Res.xml”无起始符代表当前路径,“Pages/P1/Res.xml” ST_Array:数组,以空格来分割元素。元素可以是除ST_Loc、ST_Array外的数据类型,不可嵌套;“1 2.0 5.0”ST_ID:标识,无符号整数,在文档内必须唯一。0表示无标识;“1000”ST_RefID:标识引用,无符号整数,此标识应为文档内以定义的标识;”1000“ST_Pos:点坐标,以空格分隔,前者为x值,后置位y值,可以是整数或者浮点数;“0 0”ST_Box:矩形区域,以空格分隔,前两个值代表了该举行的左上角的坐标,后两个值依次表示该举行的宽和高,可以是整数或者浮点数,后两个值应该大于0;“10 10 50 50”