[XML学习笔记][2.1]XML验证

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

为了使得我们定义的XML文档有意义,我们通常必须为它定义一组语法,如:这个文档应该包含那种类型的数据,这种数据的层次结构又是怎样的,等等。这样我们的XML文档就可以通过专门的工具来验证其合法性。

有两种方式:I- DTD (document type definition); II- XSD (XML Schema definition),我们分别来看一下。

DTD比较简单和直截了当,它可以很容易的定义元素和元素之间的隶属关系,如:

<!ELEMENT customer-repository (customer+)>

<!ELEMENT customer (name, register-date, visits)>

<!ATTLIST customer

index ID #REQUIRED

>

<!ELEMENT name (#PCDATA)>

<!ATTLIST name

first-name CDATA #REQUIRED

last-name CDATA #REQUIRED

>

<!ELEMENT register-date (#CDATA)>

<!ELEMENT visits (#CDATA)>

<!ELEMENT>用于定义元素,同时可以定义该元素是否包含其他元素,<!ATTLIST>用于定义元素的属性,具体的语法可以参考http://www.w3c.org/xml/ 上的文档。为了把我们的XML文档和上面定义的语法联系到一起,我们需要在XML中加入这样一行代码:

<!DOCTYPE customer-repository SYSTEM "customer-repository.dtd">

与DTD类似,XSD也是通过一些规则来定义一类XML的语法,它比DTD更加灵活,也更加强大,是目前W3C主推的XML验证标准。它通过一些命名空间已经定义好的元素类型来定义我们的XML语法,如:

<xsd:element name="visits" type="xsd:decimal" />

这里的xsd就是我们要用到的名字空间。由于目前大部分的XML还都是使用DTD的方式,对XSD的了解就到这里吧。有兴趣的可以去W3C的网站了解具体语法。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航