解码 XML 和 DTD

Flowable高级篇 -6.8.0 最全表结构说明-主要表结构字段注释 flowable 28张表 详细 阅读详情

解码 XML 和 DTD

编写格式正确和定义明确的 XML 的初学者指南



级别: 初级

Jane Fung, VisualAge for Java 支持, IBM 加拿大

2001 年 7 月 01 日

这 篇介绍性文章说明了如何创建 XML“文档类型定义(DTD)”和格式正确定义明确的 XML 文件,这些文件能够由您选择的 XML 语法分析器进行确认。虽然不必在产生的每个 XML 文件中都包含 DTD,但这样做将会使您的生活大为轻松。DTD 不仅强制使用为 XML 文件建立的语法,它还将允许文件由确认 XML 语法分析器进行语法分析。代码样本包括 DTD 和 XML 文档示例。

“可扩展标记语言”已经存在了十分长的一段时间,因此现在大多数人都熟悉其最基本的需求:所有 XML 文档都必须既格式正确又有效。但如何确定您的 XML 文档是否满足这些需求呢?简短的回答就是您不用确定。或者至少是不必。大多数时候,您会依赖于 XML 语法分析器来为您管理这些苦活。

在经过一些小调查(请参阅 参考资料)后您就会发现市场上到处充斥着 XML 语法分析器,其中大多数都可以从 Web 上免费获得。一个基本的 XML 语法分析器既强调 XML 语法规则(即,确保文件格式正确),又建立文件的有效性。XML 语法分析器可用于几乎每种相关的计算机语言,包括 C、C++、Perl、Python、Tcl 和 Java。

谈到确保 XML 格式正确时,您可以或多或少地指向一个语法分析器然后执行。然而为了确保文档有效,需要为语法分析器提供文档类型定义或 DTD。


本文回顾了 XML 文档格式正确究竟意味着什么,然后会谈到较少讨论的话题确认 - 更具体地说,是 DTD。我将讨论为什么您需要将 DTD 包含在 XML 文件中、介绍一些最常用的 DTD 语法,并使用几个简单的样本来教您开始编写自己的 DTD。

为什么要格式正确?

当 XML 开发人员谈到格式正确和格式不正确的 XML 时,我们并不是参加美学讨论。当然,格式正确的 XML 文档是满足以下三个基本结构需求的文档:

  • 有一个包含所有其它元素的父(或根)元素
  • 每个开始标记都有结束标记
  • 所有元素都正确嵌套的

清单 1 是一个格式正确的 XML 示例。请注意:该文档的父元素是 <person> ,每个开始标记都有一个结束标记,并且每个结束标记都有与其开始标记完全相同的定义。通常,开始标记和结束标记之间包括的是信息或文本。不过,在某些情况下,标记之间没有包括信息或文本。空标记必须用一个右斜杠来结束。 <nothing/> 就是一个空标记。


清单 1. 格式正确的 XML
<person>
<firstname>Jane</firstname>
<lastname>Fung</lastname>
<nothing/>
</person>


清单 2 是一个格式不正确的 XML 示例。它举例说明了三种常见错误。首先,开始和结束 <firstname> 标记没有完全匹配。其次, <lastname> 标记没有结束标记。最后,空标记没有用一个右斜杠结束。


清单 2. 格式不正确的 XML
<person>
<Firstname>Jane</firstname>
<lastname>Fung
<nothing>
</person>







DTD 中有什么内容?

XML 的优点在于它允许您定义自己的有意义的标记,因此您可以最大程度地定制文档。但 XML 就是 XML(可扩展),而人就是人(疯狂的人),这可能很快就会无法控制。解决方案是 DTD,它指定了 XML 文档的标记。简而言之,DTD 指定:可以在文档中存在的元素、那些元素可以具有的属性、在元素内部元素的层次结构以及元素在整个文档中出现的顺序。

虽然 DTD 不是必需的,但它们确实带来方便。DTD 适合三个基本用途。它能:

  • 对标记编制文档
  • 加强标记参数内部的一致性
  • 使 XML 语法分析器能够确认文档

如果不对 XML 文档进行 DTD 定义,文档就无法由 XML 语法分析器进行确认。使用 XML Schema 实例来代替 DTD 如何?(请参阅侧栏 模式如何?)清单 3 是清单 1 中显示的 XML 文档的 DTD。


清单 3. 精简 person.xml 的 DTD
<!ELEMENT person (firstname, lastname)>
<!ELEMENT firstname (#PCDATA)>
<!ELEMENT lastname (#PCDATA)>
<!ELEMENT nothing EMPTY>

关于示例的几点说明

清单 3 中 DTD 的第一行定义了 XML 文档的父元素: person 。person 元素有两个子元素: firstname 和 lastname 。

第二和第三行包含了元素属性 #PCDATA ,它表明 firstname 和 lastname 元素可能包含经过语法分析的字符数据(在这种情况下是文本)。DTD 文件的最后一行描述了一个空标记: nothing 。

从清单 3 中的 DTD 可以看出,任何阅读我们的 XML 文档的人(以及对它进行语法分析的语法分析器)都知道 person 元素仅包含两个文本元素: firstname 和 lastname 。此外,DTD 规定,在整个文档中, firstname 元素必须在 lastname 元素之前出现。

在转到更复杂的示例之前,让我们回顾一下一些最常用的 DTD 语法元素。可以在 W3C 主页上找到完整的 DTD 规范(请参阅 参考资料)。







DTD 语法快速指南

A、B、C 和 D 是在下例中代表元素的变量。

元素必须有正好一个 A 、至少一个 B (由加号表示)、零个或多个 C (由星号表示)以及零个或一个 D (由问号表示):

<!ELEMENT element (A, B+, C*, D?)>

元素可能有 A 或 B 或 C 之一:

<!ELEMENT element (A | B | C)>

元素不包含任何内容:

<!ELEMENT element EMPTY>

元素可以包含在 DTD 中列出的任何元素:

<!ELEMENT element ANY>

元素可能包含经过语法分析的字符数据或另一个元素( element2 )。星号(*)表示混合内容模型 — 其中元素可以包含不同类型的属性。

<!ELEMENT element (#PCDATA|element2)*>

下例将文本 "entity reference" 插到文档中它出现的任何地方:

<!ENTITY element "entity reference">

可以看到在 XML 文档中该实体引用元素如下:

&element;

下例表明其元素是一个包含三个属性的空标记:属性 1( att1 )是一个可选属性,属性 2( att2 )是带有固定值 "A" 的属性,属性 3( att3 )是必需的文本属性。

   <!ELEMENT element EMPTY>


<!ATTLIST element
att1 ID #IMPLIED
att2 CDATA #FIXED "A"
att3 CDATA #REQUIRED>



可以看到在 XML 文档中使用的这个元素如下:

<element att2="A" att3="MustHave"/>

属性 CDATA 表示包括的信息应该是文本。 ID 属性表明必须填入唯一的标识。每个元素只能有一个 ID 属性。另外, CDATA 表示 att2 和 att3 可能包含任何字符串。

如果您对该语法还未完全熟悉,请继续阅读。下一部分中的工作示例应该能帮助您消除疑虑。







工作示例

可以使用 Microsoft Internet Explorer 5 或更高版本查看清单 4 中显示的 XML 文档 ― 前面示例中使用的 people.xml 文件的扩展版本。如果在 IE5 中打开 people.xml,应该看到一个树结构。这是因为 IE5 带有能够将 XML 文档语法分析成元素树的 XML 语法分析器。

还可以在 参考资料中找到这个文件及其 DTD。


清单 4. people.xml 的完整清单
<?xml version="1.0"?>
<!DOCTYPE people SYSTEM "people.dtd">
<people>
<person>
<name>
<firstname>Jane</firstname>
<lastname>Fung</lastname>
</name>
<look>good-looking</look>
<possession>
<car>
<model>Civic</model>
</car>
<job>&IBM;</job>
</possession>
</person>
<person>
<name>
<firstname>G.I.</firstname>
<lastname>Jane</lastname>
</name>
<look>tough</look>
<possession>
<house country="CANADA" city="Toronto">
<townhouse townhouse_type="good" />
</house>
<bankaccount bankaccount_number="sg-123">

<![CDATA[<greeting>5000</greeting>]]>
</bankaccount>
</possession>
<other>
<car>she has a car</car>
<house country="CANADA" city="Toronto">
<townhouse townhouse_type="good" />
</house>
</other>
</person>
</people>

关于 XML 的几点说明

对 XML 的深入探讨主要考虑的是文档头中的几个元素,从以下开始:

<?xml version="1.0"?>

每个 XML 文档都必须包含这样的一个头,向 XML 语法分析器表示它是一个 XML 文档。头中的下一行告诉 XML 语法分析器该文档是使用什么字符编码来创建的:

<!DOCTYPE people SYSTEM "people.dtd">

在 Unix 系统上创建的 XML 文档和在 Windows 系统上创建的 XML 文档可能有不同的编码。

还可以为第一行设置可选的 standalone 属性。standalone 的缺省值是 no。 no 值表示该 DTD 定义是在另一个文件中描述的。 yes 值表明该 DTD 应该在 XML 文档内部定义。我没有为示例设置这个属性;如果想设置,它应该看起来如下:

   <?xml version="1.0" standalone='yes'?>
<!DOCTYPE people [
<!ELEMENT people (person+)>
<!ELEMENT person (#PCDATA)>
]>


还应该注意使这个文档格式正确的方法。例如,所有空标记都用一个右斜杠结束,如下所示:

<townhouse townhouse_type="good" />

还请注意 CDATA 用于对所有若不进行转义就会以 XML 语言解释的任何数据进行转义,例如:

<![CDATA[<greeting>5000</greeting>]]>

如果适当的格式化,这一行将以文本内容显示:

<greeting> 5000 </greeting>

可以从 XML 文件的进一步研究中获益,甚至可能从对您自己的文件运行 XML 语法分析器获益(请参阅 参考资料)。但是现在,让我们看一下 people.xml 文件的 DTD。


清单 5. people.dtd 的完整清单
<!ELEMENT people (person+)>
<!ELEMENT person (name, look*, possession?, other?)>
<!ELEMENT name (firstname, lastname)>
<!ELEMENT firstname (#PCDATA)>
<!ELEMENT lastname (#PCDATA)>
<!ELEMENT look (#PCDATA)>
<!ELEMENT possession (car?, house?, bankaccount?, job?)>
<!ELEMENT car (#PCDATA|model)*>
<!ELEMENT model (#PCDATA)>
<!ELEMENT house (apartment|standalone|townhouse)>
<!ATTLIST house house_area ID #IMPLIED country CDATA #FIXED
"CANADA" city CDATA #IMPLIED>
<!ELEMENT apartment EMPTY>
<!ELEMENT standalone EMPTY>
<!ELEMENT townhouse EMPTY>
<!ATTLIST townhouse townhouse_type ID #IMPLIED>
<!ELEMENT bankaccount (#PCDATA)>
<!ATTLIST bankaccount bankaccount_number ID #REQUIRED>
<!ELEMENT job (#PCDATA)>
<!ELEMENT other ANY>

<!ENTITY IBM "Proud to work for IBM">

关于 DTD 的几点说明

使用 快速指南作为参考,通过比较 XML 文件及其 DTD,您应该能够方便地定义 DTD 和 XML 文件中各元素之间的关系。不过,还有两个剩下的元素,您可能感兴趣。

清单 4 包含了对实体的引用。

<job>&IBM;</job>

实体引用用于代替在 DTD 文档中定义的特定字符或字符串。进行了语法分析后,该实体引用将读作:

<job> Proud to work for IBM </job>

还应该注意, <other> 标记的内容类型是 ANY 。这表示 <other> 可能包含所有以前已在 DTD 中声明过的元素。因此, other 元素可能包含 car 和 house 元素,如下:

   <other>
<car>she has a car</car>
<house country="CANADA" city="Toronto">
<townhouse townhouse_type="good" />
</house>
</other>







结束语

这就结束了对创建格式和定义均正确的 XML 文件的基本介绍。您可能想要继续自己研究 people.xml 和 people.dtd 文件。如果想要尝试使用 XML 语法分析器对这些文件进行语法分析,请参阅“参考资料”来查找可供下载的语法分析器的列表。







参考资料

  • 您可以参阅本文在 developerWorks 全球站点上的 英文原文.

  • 如果希望了解有关 XML 和 DTD 语法的更多信息, XML 1.0 W3C Recommendation应该是您的第一站。

  • Tim Bray 是 XML 1.0 规范的原始编辑之一。他维护着 Textuality.com,可以在上面找到他关于 XML、DTD 等内容思想。还可以找到 Lark 和 Larval,Bray 自己的 XML 语法分析器。

  • Doug Tidwell 的 教程:XML 简介展示了对“可扩展标记语言”近乎完整的探讨。

  • 您可能还想要仔细查看 Mark Johnson 在 JavaWorld 上发表的 XML for the absolute beginner一文。

  • 请下载本文示例中使用的 people.xml 和 people.dtd文件,以进一步研究和分析。
XML 语法分析器:简表
  • IBM 的 XML Parser for Java (XML4J),目前是版本 3.1.1,是以 100% 纯 Java 编写的确认 XML 语法分析器。包(com.ibm.xml.parser)包含了对 XML 文档进行语法分析、生成、操纵和确认的类和方法。

  • IBM 的 XML for C++ parser (XML4C) 基于 Apache 的 Xerces-C XML 语法分析器,它是用 C++ 的可移植子集编写的确认 XML 语法分析器。

  • XML::Parser 是 Perl 扩展模块,充当与 expat的接口。

  • TclXML 是全 Tcl 的 XML 语法分析器。

  • Xerces 是来自 Apache Software Foundation 的 Java 语法分析器,目前是版本 1.4.0。

  • Lars Marius Goshol 负责维护作为公众服务的这个详尽的 XML 语法分析器列表和其它 XML 工具。
相关链接
  • 在 XML 专区页面上查看最新信息。

  • 如同 DTD,在创建 XML 文件时,样式表不是必需的,但如果希望控制浏览器中文档显示,它们就非常重要。Alan Knox 的 developerWorks 文章, Style sheets can write style sheets, too,向您介绍如何使用 XSL 来将 XML 数据转换成用于浏览器的复杂显示标记。

  • 阅读完上述文章后,可能想要查看 IBM alphaWorks 的 XSL Editor。

  • 如果希望探索 XML Schema 以及它与 DTD 的关系,请参阅 David Mertz 在其 developerWorks 专栏“XML 问题 7”中的 DTD 和 XML Schema 比较,以及 Kevin Williams 的 developerWorks 临时讲台 赞同使用 XMLSchema 的文章来了解用于数据的 XML 文档的结构化定义。有关使用 XML Schema 会怎样的简短说明,请参阅介绍性文章 Basics of using XML Schema to define elements。






关于作者

author

Jane Fung 目前在 IBM VisualAge for Java 技术支持小组工作,该小组为使用 VisualAge for Java 的企业开发人员提供支持。Jane 获得了加拿大安大略省的沃特卢大学电子工程应用科学学士学位,并且是一名 Sun Java 2 认证程序员。可以通过 jcyfung@ca.ibm.com 与 Jane 联系。


ESP32学习笔记06-UART 的485 通讯模式 通信方式选择UART 控制器支持多种通信模式,使用函数 uart_set_mode() 可以选择模式。选择特定模式后,UART 驱动程序将处理已连接 UART 设备的相应行为。例如,主机开始向 Tx FIFO 缓冲区写入数据时,UART 驱动程序会自动置位 RTS 管脚(逻辑 1);最后一位数据传输完成后,驱动程序就会取消置位 RTS 管脚(逻辑 0)。要使用此模式,软件。 阅读详情

相关推荐

糖尿病预测(深度学习pytorch实现-最新)

本次做的项目是糖尿病的预测,也是来自kaggle上面的一个小项目。根据一个人的怀孕次数、血糖、血压、皮肤厚度、胰岛素指标、身体质量指数、糖尿病谱系指数、年龄等身体参数来预测一个人是否患有糖尿病。

NangoGreen的博客 5358

XML编码解码

结构体类型数据转xml字符串 type Plant struct { XMLName xml.Name `xml:"plant"` ID int `xml:"id,attr"` Name string `xml:"name"` Origin []string `xml:"origin"` } coffee := &Plant{ ID: 27, Name: "Coffee", } coffee.Origin = []string{"Ethiopia",

钻石星辰的专栏 1204

CloudCompare实战:5分钟搞定点云数据预处理(含常见格式转换技巧)

本文提供了一套基于CloudCompare的5分钟点云数据预处理实战指南。文章详细讲解了如何利用这款开源工具,快速完成点云数据的格式转换(如LAS转PLY)、统计离群值降噪、体素网格下采样以及交互式裁剪等核心操作,帮助用户高效清理和规整杂乱数据,为后续分析建模奠定基础。

weixin_29207533的博客 476

XML字符串Base64解码并获取XML中的数据

XML字符串Base64解码并获取XML中的数据

qq_54571327的博客 2157

基于卷积神经网络的人脸识别算法

摘要:近年来,随着科学技术的不断发展,人脸识别技术日渐成熟,使得人脸识别技术的使用率不断增大。例如:门禁、ATM机、公安系统以及新兴起的人机交互等领域,都应用到了人脸识别系统。在人脸识别研究领域中,深度学习扮演着重要的角色。由于深度学习的人脸识别技术凭借其识别率高、识别快等特点,逐渐成为整个领域的主流技术。在众多深度学习算法中,以卷积神经网络为代表的人脸识别系统得到了广泛应用,主要研究内容如下:首先,通过对经典损失函数进行研究,对比每种损失函数的特点,然后根据A-Softmax函数进行改进,借助Margin

yyq2263511327的博客 1万+

【AI落地】AI生成测试用例,claude or gpt?(提效至少 50%)

gpt生成测试用例?当然好使啦,用好了提效50%+,用不好就让他变好!

青禾tester 1969

netty系列之:netty中常用的xml编码解码器

文章目录简介XmlFrameDecoderXmlDecoder总结 简介 在json之前,xml是最常用的数据传输格式,虽然xml的冗余数据有点多,但是xml的结构简单清晰,至今仍然运用在程序中的不同地方,对于netty来说自然也提供了对于xml数据的支持。 netty对xml的支持表现在两个方面,第一个方面是将编码过后的多个xml数据进行frame拆分,每个frame包含一个完整的xml。另一方面是将分割好的frame进行xml的语义解析。 进行frame拆分可以使用XmlFrameDecoder,进行x

程序那些事 1043

工业质检封神!YOLOv8实战金属表面缺陷检测,自建数据集mAP突破95%

本文详细介绍了基于YOLOv8的金属表面缺陷检测实战方案。针对工业质检中的光照不均、纹理复杂、小样本等挑战,作者构建了12000张图像的数据集,提出针对性数据增强策略和两阶段训练方法。通过优化损失函数、调整超参数等技术手段,最终在测试集上达到95.1%的mAP@0.5,检测速度32FPS。相比传统方法,该方案在精度和鲁棒性上均有显著提升,为工业视觉质检提供了可复现的落地解决方案。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 428

XML之解析(知识详解即基本使用)

总之,XML解析在现代软件开发中扮演着非常重要的角色,能够帮助程序员轻松处理和操作基于XML的数据结构。无论在何种应用场景下,简单且易于理解的XML格式仍然是开发人员最喜欢的数据格式之一。

weixin_74352229的博客 8866

我的PCB设计经验总结及最容易犯错的100例之二B07

本文总结了PCB设计中的常见错误及解决方法。作者通过记录自身及他人的设计失误,系统归纳了高频、隐蔽且致命的问题,如电容中间穿线、高速信号跨分割、锐角布线等。重点提出从错误中提炼规律,建立分类案例库,并开发自动化检查工具的方法。案例涵盖高速信号处理、电源设计、EMC防护等关键领域,强调通过原理理解和实践验证提升设计质量。文章建议工程师建立个人错误数据库,从被动纠错升级为主动预防,最终形成系统化的设计方法论,提高PCB一次成功率。

启芯硬件的博客 82

HQChart实战教程49-点击修改K线颜色及背景色

HQChart实战教程49-点击修改K线颜色及背景色需求效果图步骤1. 注册点击监听事件2. 修改K颜色添加一个自定义颜色的K线klineoption清空所有自定义颜色的K线option交流QQ群: 950092318HQChart代码地址完整例子 需求 对点击的K线修改颜色。 效果图 步骤 1. 注册点击监听事件 事件ID JSCHART_EVENT_ID.ON_CLICK_CHART_PAINT, 注册监听事件见教程 HQChart使用教程5- K线图控件操作函数说明 this.Create=func

小银 2911

Xml-解析

XPath 是一门用于选择 XML 文档中节点的语言,在 XML 技术中扮演着重要的角色,常用于访问和处理 XML 数据,从而实现数据的分析、转换以及显示等操作。它是 W3C 组织定义的标准,为开发人员提供了一种统一的语法和方法来访问和操作 XML 数据。XPath 的作用是选取 XML 数据中的一部分或多部分数据,其基本的选择方法和 SQL 相似。在 XPath 中,使用路径表达式来选取元素或者元素集合,可以通过属性、文本、位置和逻辑表达式等多种方式来精确地选取需要的节点。

SAME_LOVE的博客 2773

把 ABAP writable CDS view entity 讲透:从只读建模到可写模型的 ABAP CDS 新能力

摘要:SAP引入的writable CDS view entity突破了传统CDS视图只读的限制,允许通过ABAP SQL直接进行数据修改。该特性通过WRITABLE关键字定义,使CDS视图成为与数据库表同等级别的可写对象。其核心价值在于为数据集成、中间层同步等场景提供结构化写入入口,但需注意不应绕过业务规则。最佳实践建议保持底层表结构简单映射,避免复杂变形。这一特性标志着CDS从单纯消费模型向双向数据交互能力的演进,为ABAP开发提供了新的数据边界设计思路。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1313

温故知新之 解码XML和DTD

 DTD(Document Type Definition),用来定义XML文档的中标签的使用规则。XML解析器可以根据DTD来验证XML文档的有效性。    DTD的基本语法格式:(1)DTD对XML文档内容约束时的格式: (2)XML的元素定义:(3)XML子元素定义:    子元素定义的几种常用方式:(1)        A中要包含B,C,D(2)        A中包含B,C,D中的任意一

小猪的理想 658

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

解码 XML 和 DTD编写格式正确和定义明确的 XML

为什么要格式正确?当 XML 开发人员谈到格式正确和格式不正确的 XML 时,我们并不是参加美学讨论。当然,格式正确的 XML 文档是满足以下三个基本结构需求的文档: 有一个包含所有其它元素的父(或根)元素 每个开始标记都有结束标记 所有元素都正确嵌套的 清单 1 是一个格式正确的 XML 示例。请注意:该文档的父元素是 ,每个开始标记都有一个结

wwwphp的学习笔记 2112

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

解码 XML 和 DTD(资料)

级别: 初级Jane Fung, VisualAge for Java 支持, IBM 加拿大2001 年 7 月 01 日    这篇介绍性文章说明了如何创建 XML“文档类型定义(DTD)”和格式正确定义明确的 XML 文件,这些文件能够由您选择的 XML 语法分析器进行确认。虽然不必在产生的每个 XML 文件中都包含 DTD,但这样做将会使您的生活大为轻松。DTD 不仅强制使用为 XML 文

714

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

(Step 4)解码 XML 和 DTD

 这篇介绍性文章说明了如何创建 XML“文档类型定义(DTD)”和格式正确定义明确的 XML 文件,这些文件能够由您选择的 XML 语法分析器进行确认。虽然不必在产生的每个 XML 文件中都包含 DTD,但这样做将会使您的生活大为轻松。DTD 不仅强制使用为 XML 文件建立的语法,它还将允许文件由确认 XML 语法分析器进行语法分析。代码样本包括 DTD 和 XML 文档示例。“可扩展标

dengxingbo的专栏 608

解码 XML 和 DTD——编写格式正确和定义明确的 XML 的初学者指南

级别: 初级 Jane Fung (jcyfung@ca.ibm.com), VisualAge for Java 支持, IBM 加拿大 2001 年 7 月 01 日 这 篇介绍性文章说明了如何创建 XML“文档类型定义(DTD)”和格式正确定义明确的 XML 文件,这些文件能够由您选择的 XML 语法分析器进行确认。虽然不必在产生的每个 XML 文件中都包含 DTD,但这样做将...

weixin_34166847的博客 149

XML相关资料

XML相关资料的收集 XML 及相关技术认证系列 DOM 文档操作和 XML 文件互相转换的 Java 实现 解码 XML 和 DTD 技巧: 带参数实体的灵活的 DTD 验证 XML 学习 10 种

技术的学习与积累是个技术活 749

Java 进阶day14XML Dom4j 工厂模式 Base64

Schema约束文件扩展名(XML Schema Definition)XML模式定义:xsdSchema 功能更强大,数据类型约束更完善Schema文件本身也是XML文件,所以也有根元素,根元素的名字叫:schema一个XML中可以引用多个Schema约束文件<根标签xmlns=“命名空间”xsi:schemaLocation=“命名空间 schema约束文件名”>-- 编写XML元素 --></根标签>

m0_74823452的博客 1235
上一篇: Asp.Net 2.0的默认提交按钮
下一篇: XML Schema 与 XML DTD的技术比较与分析
linqingfeng
博客等级 码龄21年 69粉丝 140原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值