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. 启动Hive报错

    Exception in thread "main" java.lang.RuntimeException: Hive metastore database is not init ...

  2. oracle 判断字符串是否日期格式

    select case when to_char(TO_DATE(NVL('2015- 8', 'a'), 'yyyy-mm'),'yyyy-mm')='2015- 8' then 1 else 0 ...

  3. ios数据库常用sql语句

    SQlite常用语句 由于sql语句在程序代码中以字符串的形式存在,没有代码提示,不细心很容易出错,而且不容易被查出来.sql语句字符串是单引号. 写sql语句的时候一定要细心呀.如果写不好可以找公司 ...

  4. TCP三次握手四次挥手详解

    转载 http://www.cnblogs.com/zmlctt/p/3690998.html 相对于SOCKET开发者,TCP创建过程和链接折除过程是由TCP/IP协议栈自动创建的.因此开发者并不需 ...

  5. MacOS10.11的/usr/bin目录不可写后class-dump的处理办法

    许多升级了OSX 10.11的朋友在配置class-dump的时候,会发现书上推荐的class-dump存放目录/usr/bin不再可写,如下所示: 192:~ snakeninny$ touch c ...

  6. ionic获取焦点

    功能需求:点击按钮后获取input输入框的焦点 获取焦点用jq focus()不成功,因为angular也不推荐,所以网上找了一个在focus封装成指令的方法 指令写法: .directive('my ...

  7. JSTL定制标签 - 递归标签显示属性结构

  8. Java提高篇——equals()方法和“==”运算符

    equals() 超类Object中有这个equals()方法,该方法主要用于比较两个对象是否相等.该方法的源码如下: public boolean equals(Object obj) { retu ...

  9. storm kafka整合

    public class KafkaTopo { public static void main(String[] args) { String zkRoot = "/kafka-storm ...

  10. echarts入门基础,画一个饼状图

    注意:一定要自己引入echarts库 <!DOCTYPE html> <html> <head> <meta charset="utf-8" ...