DTD介绍

hibernate中xml文件的dtd约束介绍 Hibernate DTD约束的查找在hibernate中的映射文件和核心配置文件中,开头是需要引入DTD约束。例:上面显示的DTD约束不需要去记,只需找到几个文件便可以获得DTD约束,然后复制到你的文件上即可1、映射文件(*.hbm.xml)的DTD约束查找打开Java Resources/Libraries/hibernate-core-5.3.1.Final.jar/org.hibernat... 阅读详情

转自:http://baike.baidu.com/view/147436.htm

 

目录
1、DTD 简介
2、DTD - XML 构建模块
3、DTD - 元素
4、DTD - 属性
DTD的优势和缺陷
  DTD
  文档类型定义
  (Document Type Definition)
  DTD 是一套关于标记符的语法规则。它是XML1.0版规格得一部分,是XML文件的验证机制,属于XML文件组成的一部分。
  DTD 是一种保证XML文档格式正确的有效方法,可以通过比较XML文档和DTD文件来看文档是否符合规范,元素和标签使用是否正确。一个DTD文档包含:元素的定义规则,元素间关系的定义规则,元素可使用的属性,可使用的实体或符号规则。
  XML文件提供应用程序一个数据交换的格式,DTD正是让XML文件能够成为数据交换的标准,因为不同的公司只需定义好标准的DTD,各公司都能够依照DTD建立XML文件,并且进行验证,如此就可以轻易的建立标准和交换数据,这样满足了网络共享和数据交互。
  DTD文件是一个ASCII的文本文件,后缀名为.dtd。
  =============================================================

1、DTD 简介

  文档类型定义(DTD)可定义合法的XML文档构建模块。它使用一系列合法的元素来定义文档的结构。
  DTD 可被成行地声明于 XML 文档中,也可作为一个外部引用。
   内部的 DOCTYPE 声明
  假如 DTD 被包含在您的 XML 源文件中,它应当通过下面的语法包装在一个 DOCTYPE 声明中:
  *****************************************************************************
  <!DOCTYPE 根元素 [元素声明]>
  *****************************************************************************
  带有 DTD 的 XML 文档实例
  *****************************************************************************
  <?xml version="1.0"?>
  <!DOCTYPE note [
  <!ELEMENT note (to,from,heading,body)>
  <!ELEMENT to (#PCDATA)>
  <!ELEMENT from (#PCDATA)>
  <!ELEMENT heading (#PCDATA)>
  <!ELEMENT body (#PCDATA)>
  ]>
  <note>
  <to>Tove</to>
  <from>Jani</from>
  <heading>Reminder</heading>
  <body>Don't forget me this weekend</body>
  </note>
  *****************************************************************************
   以上 DTD 解释如下:
  !DOCTYPE note (第二行)定义此文档是 note 类型的文档。
  !ELEMENT note (第三行)定义 note 元素有四个元素:"to、from、heading,、body"
  !ELEMENT to (第四行)定义 to 元素为 "#PCDATA" 类型
  !ELEMENT from (第五行)定义 from 元素为 "#PCDATA" 类型
  !ELEMENT heading (第六行)定义 heading 元素为 "#PCDATA" 类型
  !ELEMENT body (第七行)定义 body 元素为 "#PCDATA" 类型
   外部文档声明
  假如 DTD 位于 XML 源文件的外部,那么它应通过下面的语法被封装在一个 DOCTYPE 定义中:
  <!DOCTYPE 根元素 SYSTEM "文件名">
  这个 XML 文档和上面的 XML 文档相同,但是拥有一个外部的 DTD:
  *****************************************************************************
  <?xml version="1.0"?>
  <!DOCTYPE note SYSTEM "note.dtd">
  <note>
  <to>Tove</to>
  <from>Jani</from>
  <heading>Reminder</heading>
  <body>Don't forget me this weekend!</body>
  </note> 这是包含 DTD 的 "note.dtd" 文件:
  <!ELEMENT note (to,from,heading,body)>
  <!ELEMENT to (#PCDATA)>
  <!ELEMENT from (#PCDATA)>
  <!ELEMENT heading (#PCDATA)>
  <!ELEMENT body (#PCDATA)>
  *****************************************************************************
   为什么使用 DTD?
  通过 DTD,您的每一个 XML 文件均可携带一个有关其自身格式的描述。
  通过 DTD,独立的团体可一致地使用某个标准的 DTD 来交换数据。
  而您的应用程序也可使用某个标准的 DTD 来验证从外部接收到的数据。
  您还可以使用 DTD 来验证您自身的数据。

2、DTD - XML 构建模块

  XML 以及 HTML 文档的主要构建模块是类似 <body>....</body> 这样的标签。
   XML 文档构建模块
  所有的 XML 文档(以及 HTML 文档)均由以下简单的构建模块构成:
  元素
  属性
  实体
  PCDATA
  CDATA
  下面是每个构建模块的简要描述。
   元素
  元素是 XML 以及 HTML 文档的主要构建模块。
  HTML 元素的例子是 "body" 和 "table"。XML 元素的例子是 "note" 和 "message" 。元素可包含文本、其他元素或者是空的。空的 HTML 元素的例子是 "hr"、"br" 以及 "img"。
  实例:
  *********************************************************
  <body>body text in between</body>
  <message>some message in between</message>
  *********************************************************
   属性
  属性可提供有关元素的额外信息。
  属性总是被置于某元素的开始标签中。属性总是以名称/值的形式成对出现的。下面的 "img" 元素拥有关于源文件的额外信息:
  *********************************************************
  <img src="computer.gif" />
  *********************************************************
  元素的名称是 "img"。属性的名称是 "src"。属性的值是 "computer.gif"并且可以用样式来控制大小等显示效果。由于元素本身为空,它被一个 " /" 关闭。
   实体
  实体是用来定义普通文本的变量。实体引用是对实体的引用。
  大多数同学都了解这个 HTML 实体引用:" "。这个“无折行空格”实体在 HTML 中被用于在某个文档中插入一个额外的空格。
  当文档被 XML 解析器解析时,实体就会被展开。
   PCDATA
  PCDATA 的意思是被解析的字符数据(parsed character data)。
  可把字符数据想象为 XML 元素的开始标签与结束标签之间的文本。
   PDATA 是会被解析器解析的文本。这些文本将被解析器检查实体以及标记。
  文本中的标签会被当作标记来处理,而实体会被展开。
  不过,被解析的字符数据不应当包含任何 &、< 或者 > 字符;需要使用 &、&lt; 以及 &gt; 实体来分别替换它们。
   CDATA
  CDATA 的意思是字符数据(character data)。
  CDATA 是不会被解析器解析的文本。在这些文本中的标签不会被当作标记来对待,其中的实体也不会被展开。

3、DTD - 元素

  在一个 DTD 中,元素通过元素声明来进行声明。
   声明一个元素
  在 DTD 中,XML 元素通过元素声明来进行声明。元素声明使用下面的语法:
  <!ELEMENT 元素名称 类别>
  或者
  <!ELEMENT 元素名称 (元素内容)>
   空元素
  空元素通过类别关键词EMPTY进行声明:
  <!ELEMENT 元素名称 EMPTY>
   只有 PCDATA 的元素
  只有 PCDATA 的元素通过圆括号中的 #PCDATA 进行声明:
  <!ELEMENT 元素名称 (#PCDATA)>
   带有任何内容的元素
  通过类别关键词 ANY 声明的元素,可包含任何可解析数据的组合:
  <!ELEMENT 元素名称 ANY>
   带有子元素(序列)的元素
  带有一个或多个子元素的元素通过圆括号中的子元素名进行声明:
  <!ELEMENT 元素名称 (子元素名称 1)>
  或者
  <!ELEMENT 元素名称 (子元素名称 1,子元素名称 2,.....)>
  

相同的元素至少出现一次的声明


  语法格式为:
  <!ELEMENT element-name (child-name+)> 
  例:
  <!ELEMENT note (message+)>
  例中的+是指子元素message必须在被包含的note元素里出现一次或者多次。
  

相同的元素不出现或者多次出现的声明


  语法格式为:
  <!ELEMENT element-name (child-name*)>
  例:
  <!ELEMENT note (message*)>
  例中的*是指子元素message能够在被包含的note元素里不出现或者出现多次。

4、DTD - 属性

  在 DTD 中,属性通过 ATTLIST 声明来进行声明。
   声明属性
  属性声明拥使用下列语法:
  <!ATTLIST 元素名称 属性名称 属性类型 默认值>
  以下是属性类型的选项:
   类型 描述
  CDATA 值为字符数据 (character data)
  (en1|en2|..) 此值是枚举列表中的一个值
  ID 值为唯一的 id
  IDREF 值为另外一个元素的 id
  IDREFS 值为其他 id 的列表
  NMTOKEN 值为合法的 XML 名称
  NMTOKENS 值为合法的 XML 名称的列表
  ENTITY 值是一个实体
  ENTITIES 值是一个实体列表
  NOTATION 此值是符号的名称
  xml: 值是一个预定义的 XML 值
  默认值参数可使用下列值:
   值 解释
  值 属性的默认值
  #REQUIRED 属性值是必需的
  #IMPLIED 属性不是必需的
  #FIXED value 属性值是固定的
   规定一个默认的属性值
  DTD:
  <!ELEMENT square EMPTY>
  <!ATTLIST square width CDATA "0">
  合法的 XML:
  <square width="100" />
  在上面的例子中,"square" 被定义为带有 CDATA 类型的 "width" 属性的空元素。如果宽度没有被设定,其默认值为0 。

DTD的优势和缺陷

  DTD的优势
  每一个XML文档都可携带一个DTD,用来对该文档格式进行描述,测试该文档是否为有效的XML文档。既然DTD有外部和内部之分,当然就可以为某个独立的团体定义一个公用的外部DTD,那么多个XML文档就都可以共享使用该DTD,使得数据交换更为有效。甚至在某些文档中还可以使内部DTD和外部DTD相结合。在应用程序中也可以用某个DTD来检测接收到的数据是否符合某个标准。
  对于XML文档而言,虽然DTD不是必须的,但它为文档的编制带来了方便。加强了文档标记内参数的一致性,使XML语法分析器能够确认文档。如果不使用DTD来对XML文档进行定义,那么XML语法分析器将无法对该文档进行确认。
  元素的定义
  根元素的声明
  每个XML文档都只有一个根元素,其它的子元素都包含在该根元素中。因此在DTD中对根元素的声明是必不可少的。根元素声明的一般形式如下:
  <!DOCTYPE root[
  <!-- 子元素 --> ]>
  <!-- 文件体 -->
  DOCTYPE是“document type”(文档类型)的简写,DOCTYPE声明必须放在文档最顶部,在所有代码和标识之上,DOCTYPE声明是必不可少的关键组成部分。DTD语法要求DOCTYPE必须要大写,而且DOCTYPE和元素之间必须要有空格隔开。如在以上代码中DOCTYPE和根元素root之间要有空格隔开。
  DTD的缺陷
  利用DTD验证有效性的解析器,就能够立即对文档的完整性进行可靠的检查。DTD虽然比较实用,但DTD也有不少的缺陷。

如果文章对你用,请支持万事如意网址导航。

解析DTD文件 解析DTD文件解析DTD文件 立即下载

相关推荐

dtd-file:DTD文件解析器,专门用于解析Firefox本地化文件

只需解析DTD文件,尤其是为Firefox本地化DTD文件创建的DTD文件 安装 npm i dtd-file 用法 解析dtd内容 var parser = require ( "dtd-file" ) ; var res = parser . parse ( dtdContents ) ; // if in dtdContents you have: // <!entity key1 "value1"> // <!entity key2 "value2"> // in res you will get an object: // { // "key1": "value1", //

XML定义和使用DTD

如果加入了DTD那么在写xml的时候就会有提示、有模板了,非常的友好! 一、实验目的: 1.定义内部DTD 2.定义外部DTD 三、实验内容: 分别使用内部和外部DTD完成如图表格的xml 使用xml描述表中学生的成绩信息。 1、内部DTD 完整代码:格式良好,有效的xml <?xml version="1.0" encoding="UTF-8" ?> <!--声明内部DTD--> <!DOCTYPE scores[ <!ELEMENT scores (

qq_44769557的博客 1171

从BIN文件到可烧录程序:深入理解ADI DSP程序读取背后的原理与安全边界

本文深入探讨了ADI DSP程序从BIN文件到可烧录程序的转换原理与安全边界,详细解析了JTAG接口、仿真器工作流程及Flash存储结构。通过Visual DSP++工具,开发者可以理解程序读取的底层机制,同时强调了知识产权保护的重要性,为嵌入式开发提供了实用建议。

weixin_27956639的博客 262

DTD详解

DTD详解 基本概述     文档类型定义(Document Type Definition)是一套为了进行程序间的数据交换而建立的关于标记符的语法规则。它是标准通用标记语言(SGML)和可扩展标记语言(XML)1.0版规格的一部分,文档可根据某种DTD语法规则验证格式是否符合此规则。文档类型定义也可用做保证标准通用标记语言、可扩展标记语言文档格式的合法性,可通过比较文档和文档类型定义

Switch的博客 1万+

PLSQL Developer新手必看:如何避免安装过程中的常见坑

本文为PL/SQL Developer新手提供了详尽的安装与配置避坑指南。从版本选择、注册码使用、汉化包安装到Oracle客户端连接配置,逐一解析常见问题并提供解决方案,帮助开发者快速搭建稳定的PL/SQL开发环境,顺利开启Oracle数据库编程工作。

g9h0i1的博客 649

阻抗匹配与史密斯(Smith)圆图

在找到点B和B'后,我们就能够测量A'到B和B'到D的弧长,前者就是C的归一化电纳值,后者为L的归一化电抗值。当然,表面上看新的点好像是一个不同的阻抗,实际上Z和1/Y表示的是同一个元件(这个新值在圆图上呈现为一个不同的点,而且反射系数也不相同,依次类推)。出现这种情况的原因是我们的图形本身是一个阻抗图,而新的点代表的是一个导纳。这个方程是在复平面(Γr, Γi)上、圆的参数方程(x - a)² + (y - b)² = R²,它以[r/(r + 1), 0]为圆心,半径为1/(1 + r)。

qq_55759599的博客 3961

XML配置文件(DTD详细讲解)

Extensible Markup Language(可扩展标记语言),简称XML,类似于HTML,用来传输和存储数据。可扩展标记语言是什么?有一个根元素(根元素就像HTML中的标签一样,所有的其他标签都是写在该标签中的,所有该标签只能有一个) 在XML中加入DTD声明 ,root---->根元素例如:该代码中的根元素为,那么我们语句改为。然后我们定义规范时的代码都是写...

m0_65725031的博客 6269

【100%通过率】2023华为od机试C卷【电脑病毒感染】C语言 实现

一个局域网内有很多台电脑,分别标注为 0 ~ N-1 的数字。相连接的电脑距离不一样,所以感染时间不一样,感染时间用t 表示。其中网络内一台电脑被病毒感染,求其感染网络内所有的电脑最少需要多长时间。如果最后有电脑不会感染,则返回-1.

MISAYAONE的博客 1042

dtd介绍

XML(eXtensible Markup Language,可扩展标记语言)是一种用于创建自定义标记的文本格式,它可以用于描述和存储各种数据和文档类型。它的主要标志是语法简洁,同时具备可扩展性,可读性好,易于处理和转换等特点。XML的设计目标是为了能够在不同计算机系统之间进行数据交换,特别是互联网上的数据交换。元素(Element):用于描述数据项或数据集合。属性(Attribute):用于为元素提供附加的信息。文本(Text):用于存储元素包含的数据内容。

2201_75869073的博客 3418

Arduino开发实例-EMG 肌肉信号传感器

在医学研究中,测量肌肉的活动、收缩和扩张非常重要。 EMG 肌肉传感器测量肌肉活动并产生信号以显示扩张和收缩量。 因此,输出取决于所选肌肉的活动量。 3 绿色、红色和黄色电极连接到模块,用于传输来自肌肉运动的电信号。

视觉与物联智能 1695

【GameFramework框架】一、框架介绍

这是GameFramework框架教程的第一篇,但是博主不准备直接就讲GameFramework框架。【GameFramework框架】二、GameFramework框架介绍了。框架(Framework)通常被理解为一种基础要素的集合,它们用于承载系统的必要功能。约束性:框架定义了解决特定问题的边界,并将相关的软件组件约束在这个范围内,以保持框架的内聚性和解决问题的专注性。支撑性:框架本身不直接解决问题,而是提供一个基础的支撑结构,使得在其上构建的解决方案更为灵活和高效。

优快云博客专家,Unity3D高级软件工程师,《Unity 3D从入门到实战》作者。 1万+

XML文档类型定义(DTD)

在XML中可以创建新的标记语言,这些新的标记语言(也叫标记集)要通过文档类型定义(Document Type Definitions,DTD)来定义。如果XML文档的语法符合DTD的定义和规定,那么就称为一个合法的XML文档,否则就是非法的XML文档。要声明常规实体,请在DTD中使用此一般形式的声明 -<!让我们了解以下各项及其语法如下: 内部实体:如果在DTD中声明实体,则称为内部实体。字符实体用于命名一些作为信息的符号表示的实体,即难以或不可能键入的字符可以由字符实体代替。四.DTD的实体定义。

qq_66202613的博客 306

EtherCAT主站SOEM -- 15 -- CIA402伺服驱动器子协议

以上就是EtherCAT主站SOEM – 15 – CIA402伺服驱动器子协议的内容。有不明白的地方欢迎留言;有建议欢迎留言,我后面编写文档好改进。创作不容,如果文档对您有帮助,记得给个赞。

常驻客栈的博客--嵌入式EtherCAT 2732

DTD简单介绍

1、DTD 作用: 验证XML 声明方式: DTD可以声明在XML内部,也可以声明在XML外部 1.声明在内部,通过如下语法包含一个内部校验的DTD <!DOCTYPE 根节点 [节点的声明]> 2.引入外部DTD <!DOCTYPE 根节点 SYSTEM "外部DTD地址"> 为何使用DTD: 通过 DTD,可以为每一个 XML 文件均可携带一个有关其自身格式的描述...

Li_Nn_偏头痛 538

【ESP32使用MAX98357播放音频】

在物联网和智能家居领域,音频播放功能越来越受到重视。ESP32作为一款功能强大的微控制器,结合MAX98357音频放大器模块,可以实现高品质的音频播放。本文将详细介绍如何使用ESP32的I2S接口通过MAX98357进行音频播放。

vor234的博客 7524

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

DTD指南(1)-DTD的介绍[原创]

针对经典论坛中小奀的XML指南内一些没有翻译的链接教程,进行一些补充,自己也是初学者,水平有限,恳请朋友们多多指教!英文站点在http://www.w3schools.com/dtd/default.aspDTD的介绍DTD的意图在于定义XML文档的合法构建模块,它通过一系列合法元素来决定了XMl文档的内部结构。DTD能够在你自己的XML文档内部声明,也可以作为外部来参照1.内部声明如果DTD

1183

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

DTD的介绍与使用

DTD(文本类型定义),定义XML文档的合法构建模块。它使用一系列的合法元素定义文档结构。2.什么是XMLXML值指可扩展标记语言(extensible Markup Language)。可扩展标记语言(英语:Extensible Markup Language,简称:XML)是一种标记语言,是从标准通用标记语言(SGML)中简化修改出来的。它主要用到的有可扩展标记语言、可扩展演示语言(XSL)、XBRL和XPath等3.XML与HTML的主差异XML被设计为传输和存储数据,其焦点是数据的内容。

2301_81912959的博客 1482

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

DTD语法详细介绍

因为ID类型属性的每一个取值都是用来标识一个特定的元素,所以,为ID类型的属性提供默认值,特别是固定的默认值是毫无意义的。在上面的示例中,DTD中定义了两个元素,分别是“个人信息”和“客户信息”,这两个元素的定义中都包含了“姓名| EMAIL|电话|地址”这一相同的部分,因此,可以将相同的部分定义为一个TAG_NAMES的参数实体,然后将“个人信息”和“客户信息”这两个元素的定义规则中的“姓名 | EMAIL | 电话 | 地址”部分替换成对TAG_NAMES这个参数实体的引用即可。

Blue92120的博客 3573

XML--DTD的介绍

前言 内容 DTD的内容 DTD中的元素 元素声明 空元素EMPTY 任何内容的元素 DTD的属性 前言 学习XML,就一定不能错过DTD,虽然有XML不一定需要DTD,但是有DTD的XML要比没有DTD的XML更加的标准化,,所以现在来让我们一起了解一下DTD。 内容 DTD是XML中的一种语法规则,全称为Document Type Definition(文档类...

罗俊 439

DTD 介绍

A Document Type Definition defines the legal building blocks of an XML document. It defines the document structure with a list of legal elements.DTD(文本类型定义)定义了XML文件的合法组建群。它定义了带有合法元素列表的文件结构。A DTD can

专栏 776

XML中DTD的介绍及使用

DTD介绍: DTD英文为(Document Type Definition),中文意思为“文档类型定义”。 每个XML文件可以携带一个自身格式的描述,所谓格式描述就是我的XML文档里面可以写哪些东西,比如元素、属性。所以利用DTD可以对XML文档的各个节点进行约束定义,让他人不能随便在XML中写入内容,使XML文档成为有效的XML文档。 1,XML介绍: XML即可扩展标记语言,XML作用:用于数据的存储和传输还有文件配置。 标准的XML格式: 1.有且只有一个根元素 2.XML标签大小..

m0_58525944的博客 1389

DTD介绍1

DTD(Document Type Definition,文档类型定义),有了DTD就可以检测XML文档的结构是否正确。通过在XML文档中包含文档类型声明,来建立当前文档和DTD的关联。当进行有效性验证的XML处理器读到该指令时,它获取DTD,并根据其中定义的规则对文档进行检验。文档类型声明必须位于XML声明之后,且在根元素(文档元素)之前。1.内部DTD     ]>文档

机器学习与神经网络 1344

XML中DTD介绍及使用

什么是DTD,为什么需要DTD?  DTD为英文Document Type Definition,中文意思为“文档类型定义”。DTD肩负着两重任务:一方面它帮助你编写合法的代码,另一方面它让浏览器正确地显示器代码。   如是你是一个个网页制作者,你会很清楚地知道一个HTML文档的基本结构可分为两个主要部分;<html> <head> 头部信息 </head>

Yeoman92的博客 7932

XML —— DTD介绍

一、DTD介绍   Document Type Definition;         DTD是一种XML的约束方式,除了此种约束方式外,还有XSchema,XSchema比DTD的约束能力还要强,因此DTD正在逐渐淘汰;         DTD的目的就是约束XML标签的写法;比如在我们struts2开发当中,编写struts.xml时,需要遵循的规则,就是通过DTD进行约束的,因此我们在

猫山王的专栏 843
上一篇: 这个网站不错,根据引用jar包路径查找原JAR包
下一篇: 使用native2ascii实现国际化及不同平台的移植
冯立彬
冯立彬 优质创作者: 编程框架技术领域 优质创作者: 编程框架技术领域
博客等级 码龄21年 5458粉丝 593原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值