1.什么是DTD?

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

2.DTD有什么用?

约定文档格式,规定元素,元素属性,元素关系,标签,实体等。

3.DTD分类

DTD分为内部DTD和外部DTD,外部DTD又分为公共的(PUBLIC)和私有的(SYSTEM).

4.范例

 <!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"
>

其中,

  • "hibernate-configuration"是文档根元素的名称,
  • "PUBLIC"意为外部公共DTD,
  • "-//Hibernate/Hibernate Configuration DTD 3.0//EN"指公共DTD名称(只有公共DTD才有这个选项),格式为"注册//组织//类型 标签//语言",
  • "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"指明外部DTD的URL。

对于内部DTD,需要使用中括号[]声明,如下:

 <!DOCTYPE hibernate-configuration
[<!ELEMENT element EMPTY>]
>

5.DTD元素

  5.1 ELEMENT 声明元素

    <!ELEMENT 元素名称  类别>

    <!ELEMENT 元素名称  (元素内容)>

    .....

  5.2 ATTLIST 声明属性

    <!ATTLIST 元素名称  属性名称  属性类别  属性值或属性值声明>

    属性类型表:

    

    属性值参数表:

    

  5.3 ENTITY 实体

    <!ENTITY 实体名称 "实体的值">

    如 <!ENTITY hg "value">

    外部引用该实体: &hg; 引用体由三个部分组成 符号&和hg和分号;

<!DOCTYPE> DTD基础的更多相关文章

  1. XXE学习(二)——DTD基础

    一.DTD简介 文档类型定义(DTD)可定义合法的XML文档构建模块.它使用一系列合法的元素来定义文档的结构. 有了DTD文档后,xml就需按照DTD中的规范来书写 DTD 可被成行地声明于 XML ...

  2. myBatis配置提示xml和内部DTD

    –配置环境:macOS high Sierra 10.13.6/window10–生产环境:eclipse2018.a,myeclipse2018    首先了解xml文件的参数——<!DOCT ...

  3. WEB标准系列-HTML元素嵌套

    转:http://www.smallni.com/element-nesting/ 先来看以下这样一段代码: <ul> <li><h4><a href=&qu ...

  4. HTML教程XHTML教程:HTML标记嵌套使用技巧

    网页制作Webjx文章简介:WEB标准-HTML元素嵌套. 先来看以下这样一段代码: <ul>    <li><h4><a href="" ...

  5. 浅解XXE与Portswigger Web Sec

    XXE与Portswigger Web Sec ​ 相关链接: ​ 博客园 ​ 安全脉搏 ​ FreeBuf 简介XML XML,可扩展标记语言,标准通用标记语言的子集.XML的简单易于在任何应用程序 ...

  6. Strus2学习记录整理【持续更新】

    Strus2学习记录 以后的Strus2学习记录地址都会集合在这里,希望大家可以一起愉快学习,相互学习! Exception: 地址:http://www.cnblogs.com/gcs1995/p/ ...

  7. Hp自学整理html

    a:hover {text-decoration:underline; color:#00FF00;}/* 鼠标悬浮在链接上时.出现下划线颜色变绿色 */ display:inline.block.i ...

  8. 使用Markup解析xml文件

    1:怎么获取Markup.cpp 和 Markup.h 首先到http://www.firstobject.com/dn_markup.htm链接下,下载Release 11.5 zip (579k) ...

  9. NativeXml: A native Delphi XML parser and writer

    http://www.simdesign.nl/xml.html This software component contains a small-footprint Object Pascal (D ...

随机推荐

  1. Go 模板

    原文链接 很多语言都有很多方式将字符串从一只形式转换成另一种形式.Go 使用模板的方法通过提供一个对象作为参数来转换字符串.这个一般来讲是用来将对象插入到HTML中的,不过它同样可以用在其他的情况下. ...

  2. ReentrantLock的实现语义与使用场景

    简介 ReentrantLock(重入锁)就是支持可重进入的锁,它表示该锁能支持一个线程对资源的重复加锁.另外还支持获取锁的公平和非公平选择ReentrantLock的实现不仅可以替代隐式的synch ...

  3. 决策树Decision Tree 及实现

    Decision Tree 及实现 标签: 决策树熵信息增益分类有监督 2014-03-17 12:12 15010人阅读 评论(41) 收藏 举报  分类: Data Mining(25)  Pyt ...

  4. java mybatis 动态sql

    //-------------------------------查询-------------------------------------// <sql id="cmsGuest ...

  5. Qt之自定义信号和槽函数

    自定义信号和槽函数: 1.类的声明和实现分别放在.h和.cpp文件中: 2.类声明包含Q_OBJECT宏: 3.信号只要声明不要设计其的实现函数 4.发射信号用emit关键字 5.自定义槽的实现与普通 ...

  6. iOS界面开发

    [转载] iOS界面开发 发布于:2014-07-29 11:49阅读数:13399 iOS 8 和 OS X 10.10 中一个被强调了多次的主题就是大一统,Apple 希望通过 Hand-off ...

  7. 机器学习实战-边学边读python代码(4)

    程序2-4 分类器针对约会网站的测试代码(4) def datingClassTest():hoRatio = 0.10 //将文件读入内存矩阵datingDataMat,datingLabels = ...

  8. Centos6.5 安装 RabbitMQ3.6.1

    Centos6.5 安装 RabbitMQ3.6.1 个人安装RabbitMQ总结: 安装编译工具 yum -y install make gcc gcc-c++ kernel-devel m4 nc ...

  9. C#:绘图问题

    1.设置DPI Bitmap bitmap2 = new Bitmap((int)w, (int)h); bitmap2.SetResolution(, ); 2.设置Graphic(如:去锯齿等) ...

  10. Ubuntu 16.04 标题栏实时显示上下行网速、CPU及内存使用率--indicator-sysmonitor

    ---------------------------------------------------------------------------- 原文地址:http://blog.csdn.N ...