XML规范化(DTD)

Posted cstdio1

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

技术图片

 

以上是关于XML规范化(DTD)的主要内容,如果未能解决你的问题,请参考以下文章

XML约束

dtd与xsd去区别

简述命名xml元素应遵循的规范

XML DTD

DTD与XML Schema

XML学习之路