XML DTD介绍以及应用

简介: DTD介绍文档类型定义(DTD)可定义合法的XML文档构建模块。它使用一系列合法的元素来定义文档的结构。DTD 可被成行地声明于 XML 文档中,也可作为一个外部引用。

DTD介绍

文档类型定义(DTD)可定义合法的XML文档构建模块。它使用一系列合法的元素来定义文档的结构。

DTD 可被成行地声明于 XML 文档中,也可作为一个外部引用。


XML 简介


XML 被设计用来传输和存储数据。


HTML 被设计用来显示数据。


XML 指可扩展标记语言(eXtensible Markup Language)。


可扩展标记语言(英语:Extensible Markup Language,简称:XML)是一种标记语言,是从标准通用标记语言(SGML)中简化修改出来的。它主要用到的有可扩展标记语言、可扩展样式语言(XSL)、XBRL和XPath等。

什么是 XML?


  • XML 指可扩展标记语言(EXtensible Markup Language)。
  • XML 是一种很像HTML的标记语言。
  • XML 的设计宗旨是传输数据,而不是显示数据。
  • XML 标签没有被预定义。您需要自行定义标签。
  • XML 被设计为具有自我描述性。
  • XML 是 W3C 的推荐标准。


XML的能干什么?


数据交换:XML 可以作为一种中立的、通用的数据交换格式,用于各种系统之间的数据传输和数据交换,如 Web 服务、数据集成、数据接口和 ETL 工具等。


流程编排:XML 可以将复杂的业务流程进行描述和编排,包含流程的节点、条件、分支和合并等,与 BPM(Business Process Management)相关的工具和标准都使用了 XML,如 BPEL、BPMN、XPDL 等。


配置文件:XML 可以用于系统的配置文件,包括 Web 应用程序中的 web.xml、Hibernate 中的 hibernate.cfg.xml、Spring 中的 applicationContext.xml 等,XML 能够在系统运行时对配置进行解析和动态更新。


消息传递:XML 可以作为一种消息传递格式,如 SOAP 协议中用于消息传递的 XML、消息队列中使用的 XML 消息格式等。


数据存储:XML 可以作为一种本地数据存储格式,如 Eclipse 可以使用 XML 作为本地存储格式,也可以用于序列化和反序列化数据。


Web 标准:XML 作为 Web 发展的重要组成部分,产生了一系列标准和技术,如 XML、DTD、XML Schema、XSLT、XPath、XQuery、RSS、Atom 等,这些标准和技术对现代 Web 技术的发展有着深远的影响。


       总之,XML 能够描述和处理各种形式的数据和信息,具有广泛的应用领域和重要的价值。

一.标准的xml格式

1.有且只有一个根元素
2.xml标签大小写正确区分
3.正确使用结束标签
4.正确嵌套标签
5.使用合法的标签名
6.定义有效的属性


XML 声明

XML 声明文件的可选部分,如果存在需要放在文档的第一行,如下所示:

<?xml version="1.0" encoding="utf-8"?>


二.元素的定义

2.1 什么是 XML 元素?


XML 元素指的是从(且包括)开始标签直到(且包括)结束标签的部分。

一个元素可以包含:

  • 其他元素
  • 文本
  • 属性
  • 或混合以上所有...


2.2 XML 命名规则


XML 元素必须遵循以下命名规则:

  • 名称可以包含字母、数字以及其他的字符
  • 名称不能以数字或者标点符号开始
  • 名称不能以字母 xml(或者 XML、Xml 等等)开始
  • 名称不能包含空格

可使用任何名称,没有保留的字词。


2.3 元素的分类

<!ELEMENT element-name EMPTY>//空元素
<!ELEMENT element-name(#PCDATA)>//文本元素
<!ELEMENT element-name(e1,e2)>//混合元素


2.4元素的限制

如果混合标签内有多个子标签用“ ,”隔开。

存在是非标签用“ | ”隔开(两个标签的情况下)。

允许标签出现零次或者一次用 “ ?”。

允许标签出现零次或者N次用 “ * ”。

允许标签出现一次或者N次用 “ + ”。


2.5元素注意事项

 一个XML元素可以包含字母、数字以及其它一些可见字符,但必须遵守下面的一些规范:

  1. 区分大小写,例如,<P>和<p>是两个不同的标记。
  2. 不能以数字或"_" (下划线)开头。
  3. 不能以xml(或XML、或Xml 等)开头。
  4. 不能包含空格。
  5. 名称中间不能包含冒号(:)

三.属性的定义

3.1属性语法:

<!ATTLIST element-name att_name type desc>


3.2属性类型type

ID : 它是用来指定唯一元素.


IDREF : 它是用来引用已命名为另一种元素的ID.


IDREFS : 这是用来表示一个元件的所有ID.


ENTITY : 表示该属性将代表文件中的外部实体.


ENTITIES : 它表示该属性表示文档中的外部实体.


NMTOKEN : 它类似于CDATA对哪些数据可以是属性的一部分的限制.


NMTOKENS : 它类似于CDATA对哪些数据可以是属性的一部分的限制.

3.3属性描述


#REQUIRED:表示该属性是必须的,即在该元素中必须定义该属性,并且不能省略。

#IMPLIED:表示该属性是可选的,即在该元素中可以定义该属性,也可以不定义。如果没有定义该属性,则使用DTD中规定的默认值。

3.4 避免 XML 属性的注意事项


因使用属性而引起的一些问题:

  • 属性不能包含多个值(元素可以)
  • 属性不能包含树结构(元素可以)
  • 属性不容易扩展(为未来的变化)

属性难以阅读和维护。请尽量使用元素来描述数据。而仅仅使用属性来提供与数据无关的信息。

目录
相关文章
|
5月前
|
XML 开发框架 JSON
J2EE基础XML(dtd)
J2EE基础XML(dtd)
42 0
|
6月前
|
XML 存储 Java
XML之dtd
XML之dtd
70 0
|
6月前
|
XML 存储 开发框架
J2EE之XML(dtd篇超详细)
J2EE之XML(dtd篇超详细)
33 0
|
5天前
|
XML JSON JavaScript
Java中XML和JSON的比较与应用指南
本文对比了Java中XML和JSON的使用,XML以自我描述性和可扩展性著称,适合结构复杂、需验证的场景,但语法冗长。JSON结构简洁,适用于轻量级数据交换,但不支持命名空间。在Java中,处理XML可使用DOM、SAX解析器或XPath,而JSON可借助GSON、Jackson库。根据需求选择合适格式,注意安全、性能和可读性。
21 0
|
11天前
|
XML JSON JavaScript
使用JSON和XML:数据交换格式在Java Web开发中的应用
【4月更文挑战第3天】本文比较了JSON和XML在Java Web开发中的应用。JSON是一种轻量级、易读的数据交换格式,适合快速解析和节省空间,常用于API和Web服务。XML则提供更强的灵活性和数据描述能力,适合复杂数据结构。Java有Jackson和Gson等库处理JSON,JAXB和DOM/SAX处理XML。选择格式需根据应用场景和需求。
|
4月前
|
XML 设计模式 数据格式
XML中的DTD
XML中的DTD
22 0
|
4月前
|
XML 存储 设计模式
XML以及DTD详解
XML以及DTD详解
55 0
|
5月前
|
XML 存储 数据格式
XML之DTD
XML之DTD
49 0
|
5月前
|
XML 存储 NoSQL
XML中DTD的基本使用
XML中DTD的基本使用
60 0
|
6月前
|
XML 数据格式
XML基础入门:关于DTD知识点
XML基础入门:关于DTD知识点
34 0