XML约束

来源:互联网 发布:崂山道士 知乎 编辑:程序博客网 时间:2024/04/21 00:14

1.什么是XML约束?

 XML约束就是利用另外的文档来约束XML文档的书写规范

2.约束技术

 约束技术一般有两种,一种是XML DTD,一种是XML Schema

3.DTD是什么?

 Document Type Definition 文档类型定义

4.引入DTD文件

 一般引入DTD文件有两种方式,本地和公共

 <1>.本地:<!DOCTYPE 文档根节点 SYSYTEM "dtd文件名">

 <2>.公共:<!DOCTYPE 文档根节点 PUBLIC "dtd文件名" "DTD文件URL">

 

 今天我就用本地DTD的方式简单讲一下

1.DTD语法

 (1).元素ELEMENT

   <1>.格式:<!ELEMENT 元素名称 元素类型>

   <2>.元素类型:①EMPTY:表示定义空元素

                          ②ANY:表示元素内容为任意类型

                          ③也可以写元素内容

   <3>.①用逗号隔开:表示内容的出现顺序必须与声明一致

          ②用"|"隔开:表示任选其一,即多个只能出现一个

          ③出现次数:   +:一次或多次

                                ?:0次或1次

                                 *:0次或多次

(2).属性ATTLIST

   <1>.格式:<!ATTLIST 元素名 属性名 属性值类型 设置说明>

   <2>.属性值类型:①CDATA 普通文本字符串

                             ②ENUMERATED 枚举

                             ③ID 唯一(不能以数字开头)

                             ④ENTITY

   <3>.设置说明:

          ①#REQUIRED 必须

          ②IMPLIED 可选

          ③FIXED 该属性的值是固定的,不能在XML中进行修改,但是必须设置这个属性


接下来将一下简单的应用:

XML文件:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE persons SYSTEM "persons.dtd"> 
<persons>
       <person psex="女">
          <pid>1</pid>
          <pname>张三</pname>
          <page>10</page>
       <person>
       <person psex="男">
          <pid>2</pid>
          <pname>李四</pname>
          <page>15</page>
       <person>
</persons> 


DTD文件:
<!ELEMENT persons (person+)> //这是在根节点中设置子标签person出现的次数
   <!ELEMENT person (pid,pname,page)> //给标签person设置子标签pid、pname、page
   <!ELEMENT pid (#PCDATA)> //这是子标签的值类型
   <!ELEMENT pname (#PCDATA)>
   <!ELEMENT page (#PCDATA)>

<!ATTLIST person psex CDATA #REQUIRED> //这是给person标签这是属性,以及属性值类型,还有设置说明,#REQUIRED就是必须出现


注意:在写DTD文件时,写完第一行报错了,是因为我们设置了person,一环套一环,所以我们需要一直写下去,写完了才不会报错!

原创粉丝点击