xml、dtd、xsd

xml、dtd、xsd

  1. xml:
    XML 指可扩展标记语言(EXtensible Markup Language)
    XML 是一种标记语言,很类似 HTML
    XML 被设计用来传输和存储数据。
    XML 的设计宗旨是传输数据,而非显示数据
    XML 标签没有被预定义。您需要自行定义标签。
    XML 文档形成一种树结构

  2. xml的语法规则
    所有 XML 元素都须有关闭标签
    XML 标签对大小写敏感
    XML 元素使用 XML 标签进行定义。
    XML 标签对大小写敏感。在 XML 中,标签 与标签 是不同的。
    必须使用相同的大小写来编写打开标签和关闭标签
    XML 必须正确地嵌套
    XML 文档必须有根元素
    XML 的属性值须加引号
    实体引用: 在 XML 中,一些字符拥有特殊的意义。如果你把字符 “<” 放在 XML 元素中,会发生错误,这是因为解析器会把它当作新元素的开始。
    在 XML 中,空格会被保留

  3. dtd: (Document Type Definition)
    可定义合法的XML文档构建模块。它使用一系列合法的元素来定义文档的结构。主要用来限制xml的元素格式的
    DTD 可被成行地声明于 XML 文档中(),也可作为一个外部引用()

  4. xsd:
    XML Schema 是基于 XML 的 DTD 替代者。XML Schema 是 DTD 的继任者
    XML Schema 描述 XML 文档的结构。
    XML Schema 语言也称作 XML Schema 定义(XML Schema Definition,XSD)。
    理由如下:
    XML Schema 可针对未来的需求进行扩展
    XML Schema 更完善,功能更强大
    XML Schema 基于 XML 编写
    XML Schema 支持数据类型
    XML Schema 支持命名空间

dtd例子:
xml、dtd、xsd

// 外部dtd  students.dtd
<?xml version="1.0" encoding="UTF-8"?>

<!ELEMENT students (student+)> 
<!ELEMENT student (name, age, score)>
<!ELEMENT name (#PCDATA) >
<!ELEMENT age (#PCDATA) >
<!ELEMENT score (#PCDATA) >
<!ATTLIST student id ID #REQUIRED>
// students_inner_dtd.xml
<?xml version="1.0" encoding="UTF-8"?>

<!-- +(最少出现一次) *(出现零次或多次) ?(出现零次或一次) (|)(非.../既...)-->
<!DOCTYPE students [
	<!ELEMENT students (student+)> 
	<!ELEMENT student (name, age, score)>
	<!ELEMENT name (#PCDATA) >
	<!ELEMENT age (#PCDATA) >
	<!ELEMENT score (#PCDATA) >
	<!ATTLIST student id ID #REQUIRED>
]>

<students>
	<student id="zhangsans">
		<name>zhangsan</name>
		<age>20</age>
		<score>99</score>
	</student>
	<student id="lisi">
		<name>zhangsan</name>
		<age>20</age>
		<score>99</score>
	</student>
</students>
// students_outer_dtd.xml
<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE students SYSTEM "http://students/dtd/students.dtd">

<students>
	<student id="zhangsan">
		<name>zhangsan</name>
		<age>20</age>
		<score>99</score>
	</student>
</students>

如何将外部的dtd通过eclipse引入到项目中
xml、dtd、xsd
xml、dtd、xsd
xml、dtd、xsd