XML约束

2 XML约束

                         2.1引入

                         XML语法:规范的xml文件的基本编写规则。(由w3c组织制定的)

                         XML约束:规范XML文件数据内容格式的编写规则。(由开发者自行定义)

                         2.2XML约束技术

                         DTD约束:语法相对简单,功能也相对简单。学习成本也低。

                         Schema约束:语法相对复杂,功能也相对强大。学习成本相对高!!!(名称空间)

                         2.3DTD约束

                                  1)导入dtd方式

                                          内部导入

                                                          

<!DOCTYPE note [

  <!ELEMENT note (to,from,heading,body)>

  <!ELEMENT to      (#PCDATA)>

  <!ELEMENT from    (#PCDATA)>

  <!ELEMENT heading (#PCDATA)>

  <!ELEMENT body    (#PCDATA)>

]>

 

                                          外部导入

                         本地文件系统:                    

                                                 

<!DOCTYPE note SYSTEM "note.dtd">

 

                         公共的外部导入:

                                         

<!DOCTYPE 根元素 PUBLIC "http://gz.itcast.cn/itcast.dtd">

       

                         2)DTD语法

                                  约束标签

                                          <!ELEMENT元素名称 类别>  或 <!ELEMENT 元素名称 (元素内容)>

 

                                  类别:

                                                  空标签: EMPTY。 表示元素一定是空元素。

                                                  普通字符串:(#PCDATA)。表示元素的内容一定是普通字符串(不能含有子标签)。

                                                  任何内容: ANY。表示元素的内容可以是任意内容(包括子标签)

 

                                  (元素内容):

                                                  顺序问题:

                                                           <!ELEMENT元素名称 (子元素名称 1,子元素名称 2,.....)>:按顺序出现子标签

 

                                                  次数问题:

                                                                   标签   :  必须且只出现1次。

                                                                   标签+  :至少出现1次

                                                               标签*   : 0或n次。

                                                                   标签?  : 0 或1次。

                                  约束属性

                                                  <!ATTLIST元素名称 属性名称 属性类型 默认值>

 

                                          默认值:

                                                           #REQUIRED属性值是必需的

                                                           #IMPLIED   属性不是必需的

                                                           #FIXEDvalue 属性不是必须的,但属性值是固定的

 

                                          属性类型:控制属性值的

                                                  CDATA:表示普通字符串

                                                  (en1|en2|..):表示一定是任选其中的一个值

                                                  ID:表示在一个xml文档中该属性值必须唯一。值不能以数字开头

 

                         2.4Schema约束

                         名称空间:告诉xml文档的哪个元素被哪个schema文档约束在一个xml文档中,不同的标签可以受到不同的schema文档的约束。

 

                          1)一个名称空间受到schema文档约束的情况

                          2)多个名称空间受到多个schema文档约束的情况

                          3)默认名称空间的情况

                          4)没有名称空间的情况

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值