XML之约束

DTD约束

             DTD约束既可以作为一个单独的文件编写、也可以在XML文件内编写

               XML文件使用DOCTYPE声明语句来指明它所遵循的DTD文件

(xml与dtd区分大小写)

关联方式:(使用内部DTD、使用外部DTD、使用公共DTD)

内部DTD:将约束文档书写在XML内部

<!DOCTYPE  根元素  【。。。具体规范内容。。。】 >

在xml文件第二行开始如下写:

<! DOCTYPE books [

<!ELEMENT books (book+)>

<!ELEMENT book (#PCDATA)>

]>

 

 

外部关联形式:

格式:<!DOCTYPE 文档根节点 SYSTEM "DTD文件的URL">

例如:<DOCTYPE books SYSTEM "book.dtd">

 

 

公共DTD:

引用的文件是一个公共的问价

格式:<!DOCTYPE 文档根节点 PUBLIC "DTD名称" "DTD文件的URL">

例如:<!DOCTYPE web-app PUBLIC "-//Sun Microsystems,inc.//DTD Web Application 2.3//EN"

"http://java.sun.com/dtd/web-app_2_3.dtd">

 

DTD约束语法细节

元素(ELEMENT)

          元素定义

在DTD中出现的第一个元素为根元素

         <!ELEMENT 元素名称 元素内容声明>

         要点:包含符号和数据类型两部分

 

      XML之约束    

XML之约束

 

 

属性(ATTLIST)

ATT是attribute的缩写

LIST  是集合的意思

          格式:<! ATTLIST 元素名称

                                     属性名   属性类型   约束

                                     属性名   属性类型   约束

                               。。。。等等一些其他属性

                       >

            举例:

                    <! ATTLIST 商品

                                 类别  CDATA  #REQUIRED

                                 颜色    CDATA    #IMPLIED

                                ...............

                      >

XML之约束

约束: ( 非空 )    (可以为空)   (确定值“不可改变”)(默认值“可以更改”)

XML之约束

 

 

 

 

实体(ENTITY)

实体是变量  

     是自定义的转义字符,用于引用普通文本或特殊符号的快捷方式的变量

实体:内部实体和外部实体

内部实体:引用实体和参数实体

引用实体主要在xml文档中被应用

语法格式:<!ENTITY 实体名称 "实体内容"  >

引用方式:

              &实体名称;

举例:<!ENTITY copyright "I am a programmer">

           &copyright; 

参数实体被DTD文件自身使用

语法格式:<!ENTITY % 实体名称  "实体内容" >

引用方式:   

                    %实体名称;

举例:

<!ENTITY % TAG_NAMES "姓名 | EMAIL | 电话 | 地址">

<!ELEMENT 个人信息  (%TAG_NAMES; |  生日)>

<!ELEMENT 客户信息  (%TAG_NAMES; |  公司名)>

 

外部实体:

语法格式:<!ENTITY 实体名称 SYSTEM "URI/URL">

引用方式:&实体名称;        (封号不能少)

举例:

          <!ENTITY info SYSTEM "part.xml">

          &info;