XML规范化(DTD)

无意义的XML

之前说过因为xml没有预设的标签,所以说你怎麽写他一般都不会报错。

所以需要对xml的书写格式进行一些限制,这就引入了DTD

下面的这个xml你可以给book添加各种属性还不会报错,但是有时属性是固定的,所以就需要对xml进行一定的约束。

 DTD的引入(有意义的XML)

文档类型定义(DTD)可定义合法的XML文档构建模块。它使用一系列合法的元素来定义文档的结构。

DTD 可被成行地声明于 XML 文档中,也可作为一个外部引用

内部dtd(还是以上面的例子进行书写)

id只能在001、002、003中选,默认是001

 id可有可无

 

 

 解释一下book的"+"号

 因为books可以存在多个book所以用来'+',还有'*'、'?'

books(book)声明了:books 子元素必须在 "book" 元素内出现一次

books(book+)声明了:books 子元素必须在 "book" 元素内出现至少一次

books(book*)声明了:books 子元素必须在 "book" 元素内出现零次或者多次

books(book?)声明了:books 子元素必须在 "book" 元素内出现零次或者一次

 外部dtd

外部dtd的书写

注意:写完一定要crtl+S,不然无法导入,以及类似于books(book+)中间一定要加空格,books  (book+)

 

PCDATA和CDATA

猜你喜欢

转载自www.cnblogs.com/cstdio1/p/11627428.html