十、如何利用xml对文档内容进行分割管理
1、什么是XmlSchema
XML Schema是负责定义和描述XML文档的结构和内容模式。它可以定义XML文档中存在哪些元素和元素之间的关系,并且可以定义元素和属性的数据类型。
XML Schema本身是一个XML文档,它符合XML语法结构。可以用通用的XML解析器解析它。
如果把带有数据的xml文件看成一个二维表,那么xmlSchema就可以理解为,这个数据表的表结构。那可以为这个表的每个字段指定类型、大小、约束。只是xmlSchema比我的举例更复杂一些,它对数据类型的支持不仅仅是简单的:
string,boolean,decimal,float,double,duration,datetime,time,date,gYearMonth,gYear,gMonthDay,
dDay,gMonth,hexBinary,base64Binary,any URI
还支持一些更复杂的自定义类型:
sequence
在其定义范围之内的所有元素都必须按顺序出现,范围由minOccurs和 maxOccurs指定。
choice
其范围内有且只有一个元素必须出现。
any
定义的任何元素都必须出现。
simpleContent
这种复杂类型只包含了非嵌套元素。可以通过包含扩展元素的方式扩展先前定义的简单类型。
complexContent
这种复杂类型只能包含其他元素。可以通过包含扩展元素的方式扩展先前定义的复杂类型。
attribute
这种复杂类型只能包含命名属性。
2、如何利用xmlNode划分Word文档
(1)为Word添加schema,用以限定XmlNode内数据的类型
(2)将schema内所声明的Node类型,添加到Word中
(3)Vsto关于xml操作的限制
Vsto提供的添加xmlNode的方法均为在设计时,不能再运行时,通过代码添加。
通过ActiveDocument.XMLNodes.Add()方法添加的xmlNode,均为Microsoft.Office.Interop.Word类型。
不是Microsoft.Office.Tools.Word.XMLNode类型。
只有Microsoft.Office.Tools.Word.XMLNode类型的xmlNode才有响应事件的能力。
1、添加和移除面板
2、关闭面板
3、使用Word中的数据
Globals.ThisDocument.变量
根据章节设置的需要,插入分页符和分节符。