XML 笔记

XML(eXtensible Markup Language,可扩展标记语言),是一个基于文本格式表示的 结构化信息 , 提供一套跨平台、跨网络、跨程序语言的数据描述方式

关键词: 可扩展标记语言、数据描述方式、跨平台、跨网络、跨程序语言

标记语言(Markup Language)指用一系列约定好的标记对电子文档进行标记,以实现对电子文档的语义、结构及格式的定义

XML发展史

XML文档组成、语法、DTD和Schema

XML的文档组成

正确理解 标记、元素和属性

  • 标记: 标记是一对尖括号和两者之间的内容,包括元素名和所有属性;如 <tag color="white"></tag><tag/>分别是开始标记、结束标记和单标记
  • 元素: 元素通常由开始标记、结束标记以及标记的内容构成,是文件的基本对象,是通过标记进行定义的。指开始标记、结束标记以及两者之间的一切内容,包括属性、文本、注释以及子元素
  • 属性: 属性是元素的附加信息,总是以"属性名"="属性值"的形式给出,总是在元素的开始标记中进行定义

XML语法

格式不良好的XML文档

没有完全遵守XML文档语法规则的文档;例如文档中某个开始标记没有对应的结束标记。

格式良好的XML

有效的XML文档

DTD文档类型定义

W3C推荐的验证XML文档的正式规范

当一个XML单独存在时,其中的元素可以由用户随意定义。但实际应用中往往需要XML文档编写者和提供者遵循共同的原则,比如约定文档可以有哪些元素,哪些元素是必须的等等。DTD就是一种有效约定。

DTD内部包含下列语句:

DTD可以是独立的文档,扩展名为.dtd,也可以存在于XML文档内部(但要放置于<!DOCTYPE[...]>之中

内部DTD

<!DOCTYPE 根元素名称 [
  <!ELEMENT 根元素名称 (子元素1,子元素2)>
  <!ELEMENT 子元素1 (#PCDATA)
  <!ELEMENT 子元素2 (#PCDATA)
  <!ATTLIST 子元素1 属性1 CDATA #REQUIRED>
]>

外部DTD:

在XML文档中按以下语法格式添加

<!DOCTYPE (根元素名称) SYSTEM "外部DTD的URI地址">

SYSTEM关键字表示文档使用的是私有DTD文件; 外部DTD URI可以是相对URI也可以是绝对URI,也被称为系统标识符(system identifier)

公用DTD

<!DOCTYPE (根元素名称) PUBLIC "DTD的标识名" "公用DTD的URL地址"

公共DTD名称的一些约定

Schema

命名空间

jungle