• DTD笔记


    DTD(Document Type Definition)文档类型定义:

    DTD被用于定义XML文档的结构,作为规范XML文档的一种内容模型,DTD在各领域已形
    成统一规范的文档。

    在XML文档中使用DTD:

    内部DOCTYPE声明:

    在XML文档中包好DTD:<!DOCTYPE 根元素 [元素声明]>
    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE student [
      <!ELEMENT student (name,hometown,age)>
      <!ELEMENT name (#PCDATA)>
      <!ELEMENT hometown (#PCDATA)>
      <!ELEMENT age (#PCDATA)>
    ]>
    <student>
    <name>Halen</name>
    <hometown>unknown</hometown>
    <age>ninteen</age>
    </student>

    外部文档声明:

    DTD作为单独文件存在:
    引用共有DTD文档:<!DOCTYPE 根元素 PUBLIC "文件路径及文件名">
    引用私有DTD文档:<!DOCTYPE 根元素 SYSTEM "文件路径及文件名">
    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE student SYSTEM "student.dtd">
    <student>
    <name>Halen</name>
    <hometown>unknown</hometown>
    <age>ninteen</age>
    </student>
    <!DOCTYPE student [
      <!ELEMENT student (name,hometown,age)>
      <!ELEMENT name (#PCDATA)>
      <!ELEMENT hometown (#PCDATA)>
      <!ELEMENT age (#PCDATA)>
    ]>

    声明一个元素:

    叶子元素声明:<!ELEMENT 元素名 类别>
    枝干元素声明:<!ELEMENT 元素名 (子元素1,子元素2...)>
    选择性子元素声明:<!ELEMENT 元素名 (子元素1|子元素2|...)>
     
    类别可使用下列值:
    EMPTY     空元素
    #PCDATA   字符类型数据,声明时使用#PCDATA需要用括号将其括起来
    ANY       任意内容
     
    控制子元素出现次数:
    无符号  子元素只出现1次
    +       子元素出现1次或多次
    ?       子元素出现0次或1次
    *       子元素出现任意次

    声明属性:

    语法规则:<!ATTLIST 元素名称 属性名称 属性类型 默认值>

    示例:
    <!ATTLIST student name CDATA "unknown">
    <student name="unknown">
     
    属性类型选项:
    CDATA    值为字符数据 (character data)
    (en1|en2|..)  此值是枚举列表中的一个值
    ID     值为唯一的 id
    IDREF    值为另外一个元素的 id
    IDREFS    值为其他 id 的列表
    NMTOKEN   值为合法的 XML 名称
    NMTOKENS   值为合法的 XML 名称的列表
    ENTITY    值是一个实体
    ENTITIES   值是一个实体列表
    NOTATION   此值是符号的名称
    xml:    值是一个预定义的 XML 值
     
    默认值参数也可选用下列值:
    #REQUIRED   属性值是必需的
    #IMPLIED  属性不是必需的
    #FIXED value 属性值是固定的
    默认值   在XML中若没有定义属性值,则采用默认值

    DTD实体:

    内部通用实体:在DTD中定义的一段具体数据,可在DTD或XML中引用
    语法规则:<!ENTITY 实体名称 "实体值">
    示例:
    <!ENTITY unknown "BeiJing">
    <hometown>&unknown;</hometown>
     
    外部通用实体:在文档实体(DTD、XML文档)以外定义的实体对象
    语法规则:<!ENTITY 实体名称 SYSTEM "URI/URL">
    示例:
    <!ENTITY unknown SYSTEM "hometown.txt>
    <hometown>&unknown;</hometown>
    &unknown;表示hometown.txt文件的内容
     
    内部参数实体:只能出现在DTD文档中
    语法规则:<!ENTITY % 实体名 实体内容>
    示例:
    <!ENTITY % info "(name,age)">
    <!ELEMENT student %info;>
     
    外部参数实体:在外部DTD文档中声明的参数实体
    语法规则:<!ENTITY % 实体名 SYSTEM "URI/URL">
  • 相关阅读:
    微信小程序之:获得appid
    小程序v0.10基本布局
    小程序v0.02 清理干净
    微信小程序v0.01
    让Eclipse在10秒内启动的7个优化提速技巧
    转 1 年经验 Java 求职面试题
    坑爹啊
    ES6,时间格式yyyy-MM-dd HH:MM:SS
    ln: creating hard link 问题
    boost实现串口通信(一):小试牛刀
  • 原文地址:https://www.cnblogs.com/lnlin/p/9564908.html
Copyright © 2020-2023  润新知