dtd约束的定义
将dtd文件引入到xml文档中
内部dtd
外部dtd
我们自定义一个dtd约束文件
<!ELEMENT Programmers (Programmer*) > <!-- 定义Programmers标签下有Programmer标签,*是正则规则,代表0次或多次 --> <!ELEMENT Programmer (name,age,code)> <!-- 定义Programmers标签下有name,age,code标签,一次,按照顺序 --> <!ELEMENT name (#PCDATA)> <!-- 定义name标签,字符串 --> <!ELEMENT age (#PCDATA)> <!-- 定义age标签,字符串 --> <!ELEMENT code (#PCDATA)> <!-- 定义cod标签e,字符串 --> <!ATTLIST Programmer id ID #REQUIRED> <!-- 定义Programmer属性ID为di,必须出现 -->
加了约束后,名称不能以数字开头,所以把id该了
我们的约束是要有name,age,code,而第二个Programmer没有code,所以要加code标签
并且加入约束后,我们写标签也有提示了,说明没有在约束里的标签不能输入
这里我们演示本地的,不添加任何约束,加一个s标签没问题
添加了外部本地约束后,s标签出错了,因为我们定义的约束没有s标签