XML DTD介绍和用法

本文概述


什么是DTD

DTD代表文档类型定义。它定义了XML文档的合法构造块。它用于定义具有法律元素和属性列表的文档结构。

DTD的目的

它的主要目的是定义XML文档的结构。它包含一个法律元素列表, 并在它们的帮助下定义结构。


检查验证

在继续进行XML DTD之前, 必须检查验证。如果XML文档包含正确的语法, 则称为”格式正确”。

格式正确且有效的XML文档已针对DTD进行了验证。

访问http://www.xmlvalidation.com验证XML文件。


具有DTD的有效且格式正确的XML文档

让我们以格式正确且有效的XML文档为例。它遵循DTD的所有规则。

employee.xml

<?xml version="1.0"?>
<!DOCTYPE employee SYSTEM "employee.dtd">
<employee>
  <firstname>vimal</firstname>
  <lastname>jaiswal</lastname>
  <email>vimal@srcmini02.com</email>
</employee>

在上面的示例中, DOCTYPE声明引用了外部DTD文件。该文件的内容显示在下面的段落中。

员工

<!ELEMENT employee (firstname, lastname, email)>
<!ELEMENT firstname (#PCDATA)>
<!ELEMENT lastname (#PCDATA)>
<!ELEMENT email (#PCDATA)>

立即测试


DTD的描述

<!DOCTYPE employee:它定义文档的根元素是employee。

<!ELEMENT employee:它定义employee元素包含3个元素” firstname, lastname和email”。

<!ELEMENT firstname:它定义firstname元素为#PCDATA类型。 (可解析的数据类型)。

<!ELEMENT lastname:它定义了lastname元素是#PCDATA类型的。 (可解析的数据类型)。

<!ELEMENT email:定义电子邮件元素为#PCDATA类型。 (可解析的数据类型)。


具有实体声明的XML DTD

doctype声明也可以定义可以在XML文件中使用的特殊字符串。

实体包含三个部分:

  1. 连字号(&)
  2. 实体名称
  3. 分号(;)

声明实体的语法:

<!ENTITY entity-name "entity-value">

让我们看一下在doctype声明中定义ENTITY的代码。

author.xml

<?xml version="1.0" standalone="yes" ?>
<!DOCTYPE author [
  <!ELEMENT author (#PCDATA)>
  <!ENTITY sj "Sonoo Jaiswal">
]>
<author>&sj;</author>

立即测试

在上面的示例中, sj是在author元素内使用的实体。在这种情况下, 它将打印” Sonoo Jaiswal”的sj实体的值。

注意:单个DTD可以在许多XML文件中使用。

微信公众号
手机浏览(小程序)
0
分享到:
没有账号? 忘记密码?