xml、dtd、xsd
xml、dtd、xsd
-
xml:
XML 指可扩展标记语言(EXtensible Markup Language)
XML 是一种标记语言,很类似 HTML
XML 被设计用来传输和存储数据。
XML 的设计宗旨是传输数据,而非显示数据
XML 标签没有被预定义。您需要自行定义标签。
XML 文档形成一种树结构 -
xml的语法规则
所有 XML 元素都须有关闭标签
XML 标签对大小写敏感
XML 元素使用 XML 标签进行定义。
XML 标签对大小写敏感。在 XML 中,标签 与标签 是不同的。
必须使用相同的大小写来编写打开标签和关闭标签
XML 必须正确地嵌套
XML 文档必须有根元素
XML 的属性值须加引号
实体引用: 在 XML 中,一些字符拥有特殊的意义。如果你把字符 “<” 放在 XML 元素中,会发生错误,这是因为解析器会把它当作新元素的开始。
在 XML 中,空格会被保留 -
dtd: (Document Type Definition)
可定义合法的XML文档构建模块。它使用一系列合法的元素来定义文档的结构。主要用来限制xml的元素格式的
DTD 可被成行地声明于 XML 文档中(),也可作为一个外部引用() -
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例子:
// 外部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引入到项目中