一般来说我们对DTD的语法并不怎么清晰,有点朦胧的感觉,今天我聊一下它的用法吧…
什么是DTD呢? 可能有些人现在还不清楚,那么往下看:
DTD是一门XML约束技术,用来约束XML的写法。
## DTD的用法 ##
在XML中引用一个DTD有两种方法:
- 外部引入
DTD约束文件存在一个外部文件中,我们在xml中引用该约束。
(1)本地文件引入
若该dtd文件存在在本计算机中已经建立,调用方法如下
**<!DOCTYPE 根元素的名称 SYSTEM "文件所在的路径">**
(2)公共位置引入:例如dtd约束文件存在一个公共网络上,我们在xml引入该约束调用方法如下
“`
小例子:
book.xml
<?xlm version="1.0" encoding="utf-8" ?>
<!DOCTYPE 书架 SYSTEM "book.dtd">
<书架>
<书>
<书名>GXS讲义</书名>
<作者>gxs</作者>
<售价>99.00</售价>
</书>
<书>
<书名>格林童话</书名>
<作者>gxs</作者>
<售价>100.00</售价>
</书>
</书架>
book.dtd
<!ELEMENT 书架 (书+)>
<!ELEMENT 书 (书名,作者,售价)>
<!ELEMENT 书名 (#PCDATA)>
<!ELEMENT 作者 (#PCDATA)>
<!ELEMENT 售价 (#PCDATA)>
2.在XML内部写dtd约束
方法如下:
<!DOCTYPE 根元素的名称 [约束的内容]>
小例子:
<?xlm version="1.0" encoding="utf-8" ?>
<!DOCTYPE 书架 [
<!ELEMENT 书架 (书+)>
<!ELEMENT 书 (书名,作者,售价)>
<!ELEMENT 书名 (#PCDATA)>
<!ELEMENT 作者 (#PCDATA)>
<!ELEMENT 售价 (#PCDATA)>
]>
<书架>
<书>
<书名>GXS讲义</书名>
<作者>gxs</作者>
<售价>99.00</售价>
</书>
<书>
<书名>格林童话</书名>
<作者>gxs</作者>
<售价>100.00</售价>
</书>
</书架>