xml约束

简述

  xml通过xml约束文档来实现对自定义的xml的文档的约束,一般有DTD约束文档和schema两种约束方式。

  DTD较为简单,schema较为复杂。

DTD约束文档

引入

若约束文档在本地,我们使用:

  <!DOCTYPE 根标签名 SYSTEM "dtd文件的位置">

若约束文档在网络,我们使用:

  <!DOCTYPE 根标签名 PUBLIC "dtd文件的名字" "dtd文件的位置URL">

格式

  像这样定义了一个xml文档中的约束

<!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,必须出现 -->

  其中*代表有若干个子标签,可以有0个或若干个

  若为+则必须至少含有一个

schema约束文档  

  若为DTD约束文档,约束编写者很难约束属性内容

  XML Schema 可针对未来的需求进行扩展 

  XML Schema 更完善,功能更强大 

  XML Schema 基于 XML 编写 (schema本质上就是一个 xml文件)  

  XML Schema 支持数据类型(提供的更加丰富的数据类型)

引入  

  <>里面分别填写:

  xmlns是web.xml文件用到的命名空间

  1.xml文档的根元素

  2.引入xsi前缀,xsi是xml schema instance的缩写,指具体用到的schema资源,一般来说是个URL

  3.引入xsd文件命名空间

  4.为每一个xsd约束声明一个前缀作为标识

  若有多个前缀,则用xmlns加冒号加前缀名形式声明

  

一点一点积累,一点一点蜕变!
原文地址:https://www.cnblogs.com/qq2210446939/p/14806508.html