您当前的位置: 首页 > 学无止境 > XML与XSLT 网站首页XML与XSLT
9.DTD约束-元素约束
发布时间:2017-04-30 12:50:59编辑:雪饮阅读()
dtd约束-元素约束:
下面是一份简单的dtd约束示例:
其中:
#PCDATA:代表约束该标签只能是文本
(name,name1,name2,name3):代表该标签下只能有name,name1,name2,name3这四个直属节点节点,并且其标签顺序要和括号中一样
EMPTY:代表该标签内容只能为空
ANY:代表该标签内容随意
+:其前匹配至少出现一次
?:要么没有,要有只能有一次
*:0个或无数个
|:子标签出现的“或”关系
,:子标签出现的“和”关系
():匹配整体单元
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE students[
<!ELEMENT students (name,name1,name2,name3,name4,name5,name6,name7,name8,name9)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT name1 (#PCDATA)>
<!ELEMENT name2 EMPTY>
<!ELEMENT name3 ANY>
<!ELEMENT name4 (zname+)>
<!ELEMENT name5 (zname?)>
<!ELEMENT name6 (zname*)>
<!ELEMENT name7 (zname|zname2)>
<!ELEMENT name8 ((zname|zname2),zname3)>
<!ELEMENT name9 ((zname|zname2)+,zname3)>
<!ELEMENT zname (#PCDATA)>
<!ELEMENT zname2 (#PCDATA)>
<!ELEMENT zname3 (#PCDATA)>
]>
<students>
<name>tom</name>
<name1>22</name1>
<name2></name2>
<name3>这里可以是任何文本也可以是子标签,但该子标签并没有在dtd中声明其内容格式,所以该子标签虽然可以写,但没有生明其约束,那么该标签能写与不能写已经没有什么区别了。</name3>
<name4>
<zname>1</zname>
<zname>2</zname>
<zname>3</zname>
</name4>
<name5></name5>
<name6>
<zname>3</zname>
</name6>
<name7>
<zname2>z</zname2>
</name7>
<name8>
<zname2>zz</zname2>
<zname3>3zz</zname3>
</name8>
<name9>
<zname2>zz</zname2>
<zname3>3zz</zname3>
</name9>
</students>
关键字词:dtd,元素约束
上一篇:8.dtd校验工具制作