1、DTD的作用

DTD是XML的型,列出了XML中的元素有哪些、元素间的关系、元素可以有哪些内容,元素的属性也有哪些。DTD实质说明的是元素间的关系,也就是类之间的关系。是一棵树状结构的说明,与XML相似。

DTD的职责只负责对文档的结构进行规范,真正的验证工作由应用程序执行。所以XML不是一门处理语言,而是一门描述数据的语言。

DTD的关键字是面向对象中的Attribute属性,是对各种类型的一个说明。

DTD是对要描述的XML所有的关键字的一个定义,相当于自定义了关键字(XML的元素的标签结构)

2、DTD的内容:

(1)DTD的引用

DTD可以在XML的内部,必须要有DOCTYPE关键字进行引导。在外部则要进行相关的引用,分为系统标识符和公共标识符。采用多种方式来参照DTD。

<!DOCTYPE XXX根元素 SYSTEM “路径” [内部定义]>

<!DOCTYPE XXX根元素 PUBLIC “FPI的定义”“文件名称”>

(2)元素的声明

元素的内容模型 元素内容、混合内容、空内容、任意内容。

元素内容:子元素、顺序、选择。(,,)(|)

混合内容与元素内容形似。(PCDATA|元素)

空 <!ELEMENT 元素 EMPTY>
任意<!ELEMENT 元素 ANY>

(3)属性声明

<!ATTLIST 元素名 属性名 属性类型 属性值声明>

属性类型:对属性能够取的值进行限制。特别强调,在定义的时候是对属性的类型限制,但在使用的时候却不一样。

ID类型,则属性在使用的时候必须保证唯一性。

定义一个属性为IDREF类型,则此属性在用的时候要参考元素属性类型为ID的属性名称。

标识作用NMTOKEN

枚举类型的属性

实体(配合实体的定义使用,实体在属性中存在的时候)

属性值的取值方式:可以是默认、固定,必须、隐含。是对属性是否存在的进行限制。可以理解为属性的值是多少。

(4)实体引用(在XML中使用这些在DTD中定义的实体)

内置实体(5个标准的)字符实体(字符直接引用&)普通实体(一段内容的替换通常XML引用DTD--DTD引用文本文件无符号 &)参数实体(DTD的定义中进行替换%)

DTD指定了游戏规则。的更多相关文章

  1. python小练习:使用循环和函数实现一个摇骰子小游戏。游戏规则如下:游戏开始,首先玩家选择Big or Small(押大小),选择完成后开始摇三个骰子,计算总值,11<=总值<=18为“大”,3<=总值<=10为“小”。然后告诉玩家猜对或者是猜错的结果。

    python小练习:使用循环和函数实现一个摇骰子小游戏.游戏规则如下:游戏开始,首先玩家选择Big or Small(押大小),选择完成后开始摇三个骰子,计算总值,11<=总值<=18为“ ...

  2. 在WebGL场景中建立游戏规则

    在前三篇文章的基础上,为基于Babylon.js的WebGL场景添加了类似战棋游戏的基本操作流程,包括从手中选择单位放入棋盘.显示单位具有的技能.选择技能.不同单位通过技能进行交互.处理交互结果以及进 ...

  3. md5增加指定的加密规则,进行加密

    import java.io.UnsupportedEncodingException; import java.security.MessageDigest; import java.securit ...

  4. 游戏流程&游戏规则

  5. 开源 RISC-V 架构正在改变 IoT 处理器的游戏规则

    by Paddy McWilliams, Director of Product Marketing, CEVA   在过去的十年里,开源软件已经成为了科技世界最大的催化剂.现在开源的力量带来了自由发 ...

  6. 转载请注明出处: https://github.com/qiu-deqing/FE-interview

    转载请注明出处: https://github.com/qiu-deqing/FE-interview Table of Contents generated with DocToc FE-inter ...

  7. web面试题大全

    $HTML, HTTP,web综合问题 常见排序算法的时间复杂度,空间复杂度 前端需要注意哪些SEO web开发中会话跟踪的方法有哪些 <img>的title和alt有什么区别 docty ...

  8. 前端面试题集锦及答案解析--HTML、 HTTP、web综合问题

    前端需要注意哪些SEO 合理的title.description.keywords:搜索对着三项的权重逐个减小,title值强调重点即可,重要关键词出现不要超过2次,而且要靠前,不同页面title要有 ...

  9. DOCTYPE的作用以及标准模式和兼容模式的区别

    <!doctype>声明必须处于HTML文档的头部,在<html>标签之前,告知浏览器的解析器用什么文档标准解析这个文档.DOCTYPE不存在或格式不正确会导致文档以兼容模式呈 ...

随机推荐

  1. block,inline和inlinke-block细节对比

    block,inline和inlinke-block细节对比 display:block block元素会独占一行,多个block元素会各自新起一行.默认情况下,block元素宽度自动填满其父元素宽度 ...

  2. SPSS数据分析—两阶段最小二乘法

    传统线性模型的假设之一是因变量之间相互独立,并且如果自变量之间不独立,会产生共线性,对于模型的精度也是会有影响的.虽然完全独立的两个变量是不存在的,但是我们在分析中也可以使用一些手段尽量减小这些问题产 ...

  3. T4模板批量生成代码

    大家通过比对下,就应该知道怎么玩. T4代码 <#@ template debug="false" hostspecific="true" languag ...

  4. ASP.NETMVC自定义错误页面真的简单吗?

    Note:文章前半部分翻译自 http://benfoster.io/blog/aspnet-mvc-custom-error-pages ,着急的可直接看总结~ 如果你在设置asp.net mvc自 ...

  5. asp.net c#过滤html代码,净化DIV SPAN等

    public static string GetSafeHtml(string val) { if (string.IsNullOrEmpty(val)) { return string.Empty; ...

  6. react验证码倒计时

    <!DOCTYPE html> <html> <head> <script src="../build/react.js">< ...

  7. keep the bar green to keep the code clean——Junit详解(一)

    测试用例 单元测试时每个开发人员必需掌握的,是保证开发过程中代码的准确性,无误性,保证代码质量.敏捷开发模式是先根据用户需求写测试用例,考虑基本所有用户所需要的情况,再写实现方法.单元测试有很多种,当 ...

  8. c++学习笔记1

    1.explicit 防止隐式类型转换 2.cbegin() cend()等价于返回 const_iterator 类型 3.it->mem 等价于 (*it).mem 4.不允许使用一个数组初 ...

  9. Cannot open the disk 'D:\Program Files\VMOS\Centos.vmdk' or one of the snapshot disks it depends on

    启动vmware时出现以下错误: Cannot open the disk 'D:\Program Files\VMOS\Centos.vmdk' or one of the snapshot dis ...

  10. 【初级】linux mkdir 命令详解及使用方法实战

    mkdir命令详解及使用方法实战 名称 MKDIR 是 make directories 的缩写 使用方法 mkdir [选项(如-p)] ...目录名称(及子目录注意用分隔符隔开)...    如使 ...