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)的主要内容,如果未能解决你的问题,请参考以下文章