XML语法详解与应用示例

需积分: 7 0 下载量 97 浏览量 更新于2024-09-13 收藏 4KB TXT 举报
"XML学习笔记" XML(eXtensible Markup Language)是一种标记语言,用于存储和传输结构化数据。在XML中,数据被组织成元素的形式,每个元素都有其特定的名称和类型。元素可以是简单类型,如只包含文本数据,也可以是复合类型,包含其他元素或属性。 在描述中,我们看到一个简单的XML示例,表示了一本书的信息。`<书本>`是顶级元素,包含了两个子元素`<名称>`和`<作者>`。每个子元素都用`<!ELEMENT>`声明来定义其在DTD(Document Type Definition)中的类型,其中`#PCDATA`表示纯字符数据。 DTD是XML文档的早期验证方式,它通过定义元素和属性的规则来约束文档结构。例如,`<!ELEMENT 书本(名称,作者)>`声明`<书本>`元素包含一个`<名称>`元素和一个`<作者>`元素。而`<!ELEMENT 名称(#PCDATA)>`和`<!ELEMENT 作者(#PCDATA)>`分别声明`<名称>`和`<作者>`元素包含纯字符数据。 在XML Schema(XSD)中,对XML文档的验证更加复杂且功能更强大。例如,`<complexContent>`和`<complexType>`用于定义复杂的元素结构,`<element>`定义单个元素,`<sequence>`定义元素的顺序,`<restriction>`用来限制元素的值。XSD还引入了数据类型,如`boolean`、`string`、`float`、`double`等,以及`date`、`dateTime`等时间相关的类型,允许对数据进行更精确的定义。 关于XSD的其他特性: 1. ID和IDREF:ID类型用于创建唯一标识符,IDREF则用于引用这些标识符。 2. 枚举(enumeration):允许指定元素只能取预定义的一组值之一。 3. fractionDigits、length、maxExclusive、maxInclusive等:这些属性用于指定数值类型的精度、长度限制等规则。 4. group和attributeGroup:用于组合和重用元素或属性定义,提高代码复用性。 5. choice:允许元素在一组选项中选择一个。 6. list和union:list允许定义一个元素可包含多个值,union则允许元素值属于多种类型中的任意一种。 在XML Schema的示例中,`<xs:schema>`是XML Schema的根元素,`targetNamespace`属性定义了命名空间,`xmlns:xs`则声明了XS(XML Schema)的前缀。通过这种方式,我们可以使用XSD定义一套完整的XML文档验证规则,确保数据的准确性和一致性。