DTD(Document Type Definition),文档类型定义,DTD文件应使用UTF-8或Unicode
 
1.XML中有多少个元素,就在dtd文件中写几个 <!ELEMENT>
 
2.判断元素是简单元素还是复杂元素
  简单元素:没有子元素
    <!ELEMENT 元素名称 (#PCDATA)>
  复杂元素:有子元素
    <!ELEMENT 元素名称 (子元素名称,用英文逗号隔开)>
 
3.在XML文件中引入dtd文件
  (1)引入外部的dtd文件
    <!DOCTYPE 根元素名称 SYSTEM "dtd路径">
  (2)使用内部的dtd文件
    <!DOCTYPE 根元素名称 [dtd内容]>
  (3)使用外部的dtd文件
    <!DOCTYPE 根元素名称 PUBLIC "dtd名称" "dtd路径">
 
4.使用dtd定义元素
  语法:<!ELEMENT 元素名 约束>
  简单元素:没有子元素的元素
    <!ELEMENT name (#PCDATA)>
      (#PCDATA):约束name是字符串类型
      EMPTY:元素为空(不能有内容)
      ANY:任意类型
  复杂元素;有子元素的元素
    <!ELEMENT name (子元素1,子元素2,...)>
    子元素只能出现一次
    表示子元素出现的次数
      +:表示一次或多次
      ?:表示零次或一次
      *:表示任意次
    子元素使用逗号(,)隔开
      表示子元素出现的顺序
    子元素使用竖线(|)隔开
      表示只能出现任意一个子元素(枚举)
 
5.使用dtd定义属性
  语法:<!ATTLIST 元素名称 属性名称 属性类型 属性约束>
  属性类型:
    CDATA:表示属性的取值为普通的文本字符串
    ENUMERATED(DTD没有此关键字):表示枚举,只能从枚举列表中任选其一(a|b|c)
      枚举:表示只能在一定的范围内出现值,但是每次只能出现其中的一个
    ID:表示属性的取值不能重复,属性的值只能由字母、下划线开始,不能出现空白字符
  属性约束:
    #REQUIRED:表示该属性必须出现
    #IMPLIED:表示该属性可有可无
    #FIXED :表示属性的值为一个固定值,#FIXED "固定值"
    直接值:表示属性的取值为该默认值
 
6.定义实体
  语法:<!ENTITY 实体名称 "实体内容">
  用法:在XML文件中使用 &实体名称; 引用
    <!ENTITY linyi "林祎">
    &linyi;
    注意:定义实体需要写在内部dtd中,如果写在外部的dtd里面,在某些浏览器下得不到实体内容
 
示例下载:person-xml.zip

XML的约束(dtd)的更多相关文章

  1. xml语法、DTD约束xml、Schema约束xml、DOM解析xml

    今日大纲 1.什么是xml.xml的作用 2.xml的语法 3.DTD约束xml 4.Schema约束xml 5.DOM解析xml 1.什么是xml.xml的作用 1.1.xml介绍 在前面学习的ht ...

  2. XML(二)之DTD——XML文件约束

    前面介绍了XML的作用和基本的格式,今天我给大家分享的是关于XML的约束.废话不多说,我们直接来正题! 一.DTD简介 1.1.DTD概述 DTD(Document Type Definition,文 ...

  3. 16.XML语法、CDATA、约束(DTD、Schema)讲解

    xml主要用来描述数据,比如配置文件,网络之间传输数据等,并且在android中也经常用xml来布局,,接下来便来学习xml常用的东西 1.XML语法 xml语法分为: 1.1 文档声明 必须位于文档 ...

  4. XML约束DTD

    <元素1> <元素2> <元素3>描述1</元素3> <元素4>描述2</元素4> </元素2> </元素1& ...

  5. XML中的DTD语法

    DTD(Document Type Definition),全称为文档类型定义. 文件清单:book.xml <?xml version="1.0" ?> <!D ...

  6. XML文件定义约束

    今天在做Android项目的时候,用到了XML解析,服务端返回的不是JSON,而是XML,这时候就需要我们解析XML了,当然在解析XML的时候,需要了XML文件的定义结构,任何一个文件的定义都是要遵循 ...

  7. xml的约束

    一.DTD约束xml 1.约束介绍 由于xml的标签由用户自己定义,因此在开发的时候,每个人都可以根据自己的需求来定义xml标签,这样导致项目中的xml难以维护,因此需要使用一定的规范机制来约束xml ...

  8. XML约束——DTD约束

    参考: 方立勋老师的讲课视频.   什么是XML约束 •在XML技术里,可以编写一个文档来约束一个XML文档的书写规范,这称之为XML约束. 为什么需要XML约束 常用的约束技术 •XML DTD • ...

  9. javaweb学习总结八(xml约束DTD)

    一:XML约束概念 xml约束:可以编写一个文档来约束xml文件的书写规范. xml语言格式比较严谨,不可能让程序员随意编写,所以必须要有约束. 二:常用的xml约束技术 1:DTD,document ...

随机推荐

  1. Redis和Memcached的区别

    From: https://www.biaodianfu.com/redis-vs-memcached.html Redis的作者Salvatore Sanfilippo曾经对这两种基于内存的数据存储 ...

  2. 非常简单实用的Python HTTP服务

    在做分布式系统应用的时候经常在测试环境上传一个包,或者干嘛的,公司的服务器比较bug,只给ldap权限,每次只能scp到自己的个人目录下,然后才能进到公共账号下去cp,比较麻烦.这时候如果你需要一个简 ...

  3. CLR via C#深解笔记六 - 泛型

    面向对象编程一个好处就是“代码重用”,极大提高了开发效率.如是,可以派生出一个类,让它继承基类的所有能力,派生类只需要重写虚方法,或添加一些新的方法,就可以定制派生类的行为,使之满足开发人员的需求. ...

  4. 让C程序更高效的10种方法(转)

    原文:http://blog.jobbole.com/1198/ 代码之美,不仅在于为一个给定问题找到解决方案,而且还在代码的简单性.有效性.紧凑性和效率(内存).代码设计比实际执行更难 .因此,每一 ...

  5. 使用unetbootin制作Debian安装U盘

    有时需要在没有光驱的裸机上安装系统,这时我们可以使用unetbootin制作一个系统安装U盘. 1.在网上下载好vmlinuz,initrd.gz,boot.img.gz. 2.然后使用unetboo ...

  6. 【翻译】VSM 和触发器

    原文:The VisualStateManager and Triggers Author:Carole Snyder Silverlight 推出了可视化状态管理器( Visual State Ma ...

  7. Maven进价:Maven构建系列文章

    Maven:基于Java平台的项目构建.依赖管理和项目信息管理. 1.构建 Maven标准化了构建过程 构建过程:编译.运行单元测试.生成文档.打包和部署 避免重复:设计.编码.文档.构建 2.依赖管 ...

  8. 15套漂亮的 PSD 格式的图标,不一样的视觉效果

    在 Web 设计领域,图标发挥非常重要的作用,因为美丽的和创造性的图标集可以很容易地使网页设计更有吸引力.网页设计设计师专注于每一个领域的设计,包括颜色选择.图标.创造力.混色等.正确的选择图标可以使 ...

  9. wamp2.5虚拟站点建立

    1. D:\wamp\bin\apache\Apache2.2.21\conf 目录下打开httpd.conf修改以下几个地方.(软件安装在D盘) (1)178行DocumentRoot " ...

  10. Cocos2d-x SpriteFrameCache的使用

    根据官方文档与其他c++属性实现的类似书中示例: 图中的小人是会动的. 首先使用texturepacker制作出一张拼图,导出plist等文件: plist类似: 3.x的cocos似乎不再鼓励使用什 ...