• XML文档的分类
• 格式不良好(malformed)的xml文档:完全没有遵守xml文的基本规范的xml文档。
• 格式良好(well-formed)的但无效的xml文档: 遵守xml文的基本规范,但没有使用dtd或schema定义语义约束的xml文档。
• 有效(valid)的xml文档:遵守xml文的基本规范,并使用dtd或schema定义语义约束,而且也完全遵守了dtd或schema定义语义约束的xml文档。
• 什么是XML约束
• 在XML技术里,可以编写一个文档来约束一个XML文档的书写规范,这称之为XML约束。
• 为什么需要XML约束
• 常用的约束技术
• XML DTD (Document Type Definition),全称为文档类型定义
• XML Schema
l 在DTD文档中使用ELEMENT声明一个XML元素,语法格式如下所示:
<!ELEMENT 元素名称 元素类型>
l 元素类型可以是元素内容、或类型
• 如为元素内容:则需要使用()括起来,如
<!ELEMENT 书 (书名,作者,售价)>
<!ELEMENT 书名 (#PCDATA)>
• 如为元素类型,则直接书写,DTD规范定义了如下几种类型:
• EMPTY:用于定义空元素,例如<br/> <hr/>
• ANY:表示元素内容为任意类型。
l 元素内容中可以使用如下方式,描述内容的组成关系
• 用逗号分隔,表示内容的出现顺序必须与声明时一致。<!ELEMENT MYFILE (TITLE,AUTHOR,EMAIL)>
• 用|分隔,表示任选其一,即多个只能出现一个
<!ELEMENTMYFILE (TITLE|AUTHOR|EMAIL)>
l 在元素内容中也可以使用+、*、?等符号表示元素出现的次数:
+:一次或多次 (书+)
?: 0次或一次 (书?)
*: 0次或多次 (书*)
l 也可使用圆括号( )批量设置,例
<!ELEMENTMYFILE ((TITLE*, AUTHOR?, EMAIL)* | COMMENT)>