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

 

为了使得我们定义的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的网站了解具体语法。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值