zoukankan      html  css  js  c++  java
  • XML的约束(dtd)

    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
  • 相关阅读:
    Java的常用API之System类简介
    Java的常用API之Date类简介
    Java的常用API之Object类简介
    数据库知识总结(全)
    学习:浏览器访问网站的总流程
    学习:TCP/UDP协议分析(TCP四次挥手)
    学习:TCP/UDP协议分析(TCP三次握手)
    学习:ICMP协议
    实现:ARP探测存活主机
    学习:ARP协议/数据包分析
  • 原文地址:https://www.cnblogs.com/linyisme/p/5865200.html
Copyright © 2011-2022 走看看