【0】README
0.0)本文文字描述转自 core java volume 2 , 旨在理解 XML—— 验证XML文档 的基础知识
0.1)problem+solution (干货——不推荐使用DOM 技术解析XML)
- 0.1.1)problem:如果仅仅按照DOM文档结构的树形结构来操作,会发现需要大量冗长的编程和错误检查工作。你不但需要处理元素间的空白字符,还要检查该文档包含的节点是否和你期望的一样,太麻烦了;
- 0.1.2)solution: 如果要指定文档结构,可以提供一个文档类型定义(DTD)或一个 XML Schema定义;
0.2) DTD 或 schema 包含了用于解释文档应该如何构成的规则。这些规则指定了每个元素的合法子元素和属性;
- 0.2.1)看个荔枝, 某个 DTD 可能含有一个规则: (干货——DTD包含了用于解释文档应该如何构成的规则)
< !ELEMENT font (name,size)> 这个规则表示,一个font必须有 两个子元素,分别是 name 和 size; - 0.2.2)将同样的约束表示如下(Schema): (干货——schema包含了用于解释文档应该如何构成的规则)
<xsd:element name="font">
<xsd:sequence>
<xsd:element name="name" type="xsd:string"/>
<xsd:element name="size" type="xsd:int"/>
</xsd:sequence>
</xsd:element>
- 0.2.3)与DTD相比, XML Schema 可以表达更加复杂的验证条件。与 DTD语法不同, Schema 使用XML,这为处理 Schema文件带来了方便;
- 0.2.4)XML Schema 语言是设计用来替代DTD的。然而 , 当前DTD仍然具有旺盛的生命力,XML Schema很复杂,而且还远没有得到普遍的采纳; (干货——XML Schema 语言是设计用来替代DTD的,但是……)