dtd:dtd介绍


dtd

  • 1.XML
    • 1.什么是XML
    • 2.为什么要学习XML
    • 3.XML的作用
    • 4.标准的XML格式
      • 1.声明
      • 2.元素
      • 3.属性
      • 4.命名空间
      • 5.注释
      • 6.CDATA块
      • 7.实体
  • 2.dtd的元素定义
    • 1.在XML加入DTD声明
    • 2.dtd元素的分类
      • 1.Empty元素
      • 2.文本元素
      • 3.混合元素
      • 4.任意元素
    • 3.dtd元素的限制
  • 3.dtd属性的定义
    • 1.dtd语法
    • 2.dtd属性的类型
      • 3.dtd属性的描述

1.XML

1.什么是XML

XML(eXtensible Markup Language,可扩展标记语言)是一种用于创建自定义标记的文本格式,它可以用于描述和存储各种数据和文档类型。它的主要标志是语法简洁,同时具备可扩展性,可读性好,易于处理和转换等特点。
XML的设计目标是为了能够在不同计算机系统之间进行数据交换,特别是互联网上的数据交换。XML的基本语法规则非常简单,通常由以下结构组成:

  • 元素(Element):用于描述数据项或数据集合。
  • 属性(Attribute):用于为元素提供附加的信息。
  • 文本(Text):用于存储元素包含的数据内容。
  • 注释(Comment):用于添加对文档内容的注释和解释。
  • 指令(Instruction):用于提供有关文档的处理指令。

XML还支持创建和使用自定义标记和命名空间,可以根据需要定义新的标记和扩展现有的标记集合。这使得XML非常灵活和可扩展,也易于处理和转换成其它格式,如HTML、JSON等。

2.为什么要学习XML

学习XML技术可以使你掌握一种通用的数据交换和存储格式,扩展你的技术栈,并为你适应新的行业标准和业务需求打下坚实的基础。

3.XML的作用

1.数据交换:XML是一种通用的数据交换格式,被广泛应用于数据传输和存储。很多应用程序和系统都可以使用XML来交换数据,包括Web服务、数据库、应用程序之间的数据传输等。

2.数据存储:XML文件可以用来存储各种类型的数据和文档,包括配置文件、日志文件、报告等。在Web开发中,很多Web应用程序都使用XML来保存数据,如RSS、Atom等Web信息源格式。

3.数据处理:XML具有灵活的结构和可扩展的特性,可以用来表示复杂的数据结构和关系。使用XML可以轻松处理和查询大量的数据,并且可以方便地转换成其它格式,如HTML、JSON等。

4.Web开发:XML是Web开发中的一个重要技术,它可以用来描述页面结构、样式信息和数据内容。例如,使用XML可以创建可扩展的标记语言,如XHTML,同时可以使用XML与CSS和JavaScript等技术结合,创建交互性和动态性的Web应用程序。

5.行业标准:许多行业都采用XML作为其数据交换和存储的标准格式,如OA、电子商务、金融等领域。因此,了解XML技术可以使你更好地理解和应用行业标准和业务需求。

4.标准的XML格式

1.声明

XML文件开头必须有XML声明,告诉解析器文件使用的XML标准版本和字符集。例如:<?xml version="1.0" encoding="UTF-8" ?>

2.元素

XML文档中的基本结构是元素(Element),元素由开始标记和结束标记组成,并包含元素内容和可能的属性。例如:30

3.属性

元素可以包含属性(Attribute),属性是元素的附加信息。属性必须包含在元素开始标记中,并使用键值对的形式表示。例如:

4.命名空间

XML还支持命名空间(Namespace)机制,用于标识XML文档中的元素和属性的唯一性。命名空间通过URI(Uniform Resource Identifier)进行命名。例如:<myns:person xmlns:myns=“http://example.com/ns”>

5.注释

XML中的注释以“”结尾。注释可以用于标注XML文档中各个部分的说明和解释。例如:

6.CDATA块

对于一些需要保留原始格式的数据,可以使用CDATA块,CDATA块中的文本被视为纯文本,而不是XML文档的一部分。例如:<![CDATA[This is a CDATA section.]]>

7.实体

对于一些需要转义的特殊字符,可以使用实体(Entity)表示。常用的实体包括:<表示<,>表示>,&表示&,‘表示’,“表示”。例如:Hello,<world>!

2.dtd的元素定义

1.在XML加入DTD声明

在XML文档中加入DTD声明可以告诉XML解析器该文档遵循哪个DTD文档类型,并对文档进行验证,以确保文档的正确性。DTD声明通常位于XML文档的开头。以下是一个加入DTD声明的XML示例:

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE rootElement SYSTEM "example.dtd"><rootElement> <childElement>Hello World!</childElement></rootElement>

2.dtd元素的分类

在DTD(Document Type Definition,文档类型定义)中,元素可以被分类为四种类型:Empty元素、文本元素、混合元素和任意元素。

1.Empty元素

Empty元素不包含任何内容,没有结束标签。例如:
,这个元素被称为“空元素”或“自包含元素”。

2.文本元素

文本元素只包含文本,没有子元素。例如:XML Tutorial,其中XML Tutorial是文本。

3.混合元素

混合元素可以包含文本和其他子元素。例如:

Some text emphasized and more text

,其中p元素包含了文本Some text ,子元素em,文本 and more text。

4.任意元素

任意元素可以包含任何元素和文本。例如,任何元素都可以包含在元素中,因此元素被定义为一个任意元素。

3.dtd元素的限制

在DTD(Document Type Definition,文档类型定义)中,可以对元素的子元素和出现次数进行限制,以确保XML文档的正确性和一致性。以下是一些常用的元素限制:

1.指定子元素类型:可以使用元素名称、类型名称或通配符指定元素的子元素类型。例如,以下声明指定了一个

元素可以包含一个元素,一个元素和一个可选的元素。

<!ELEMENT address (name, phone, email?)>

2.元素出现次数:可以使用“+”、“*”和“?”等符号指定元素的出现次数。例如,以下声明指定一个

元素可以出现一次或多次。

<!ELEMENT addresses (address+)>

3.子元素顺序:可以使用逗号或竖线分隔符定义子元素的顺序。例如,以下声明指定元素必须按照先出生日期,再出生地点的顺序包含一个元素和一个元素。

<!ELEMENT person (birthdate, birthplace)>

4.元素内容:可以使用CDATA块或实体引用限制元素内容类型。例如,以下声明指定元素只能包含任意文本。

<!ELEMENT description (#PCDATA)>

5.属性限制:可以使用<!ATTLIST>声明为元素定义属性并指定属性类型和默认值。例如,以下声明为元素定义了一个名为name的属性,它是必需的且数据类型为字符串。

<!ELEMENT person (#PCDATA)><!ATTLIST person name CDATA #REQUIRED>

3.dtd属性的定义

1.dtd语法

在DTD(Document Type Definition,文档类型定义)中,可以使用<!ATTLIST>定义元素的属性,以下是该语法的定义:

<!ATTLIST 元素名称 属性名称 属性类型 属性值>

2.dtd属性的类型

在DTD(Document Type Definition,文档类型定义)中,可以为元素属性指定不同的属性类型,以下是一些常见的DTD属性类型:

1.CDATA:表示数据可以包含任何字符,包括特殊字符。可以使用文本节点或CDATA节点设置
这种属性类型的值。

<!ATTLIST element_name attribute_name CDATA #IMPLIED>

2.ID:表示一个唯一的标识符。该属性值必须在文档中是唯一的。

<!ATTLIST element_name attribute_name ID #IMPLIED>

3.IDREF:表示对文档中的另一个元素的引用。该属性值必须是文档中另一个元素的ID值。

<!ATTLIST element_name attribute_name IDREF #IMPLIED>

4.IDREFS:表示对文档中多个元素的引用。该属性值是一个以空格分隔的ID值列表。

<!ATTLIST element_name attribute_name IDREFS

3.dtd属性的描述

在DTD(Document Type Definition,文档类型定义)中,可以使用<!ATTLIST>来为元素定义属性,并且可以附加一些描述性信息,这些描述性信息有助于更好地理解和使用这些属性。以下是一些常用的属性描述:

1.属性类型:在属性定义中,可以使用CDATA、ID、IDREF、IDREFS、ENUMERATION或其他类型来标记属性类型。这有助于开发者了解属性的类型和应用场景。

2.属性值:在属性定义中,可以使用默认值来标记属性值。这有助于开发者更好地理解和使用属性。例如,#REQUIRED指示属性必须存在,#IMPLIED指示属性是可选的。

3.属性用途:在属性定义中,可以使用BOOLEAN、INT或其他标记来描述属性的用途。例如,BOOLEAN
指示属性是布尔值,只允许true或false两个值。

4.属性限制:在属性定义中,可以使用FIXED标记来指示属性的值是固定的,不允许修改。例如,以下声明定义了一个属性type,它的值总是business:

<!ATTLIST person type CDATA FIXED "business">

相关推荐

相关文章