DTD、XML阐述、XML的两种文档类型约束和DTD的使用

03-01 1403阅读

DTD、XML阐述、XML的两种文档类型约束和DTD的使用

目录

​编辑

一、DTD

什么是DTD?

为什么要使用 DTD?

内部 DTD 声明

具有内部 DTD 的 XML 文档

外部 DTD 声明

引用外部 DTD 的 XML 文档

二、XML

什么是XML?

XML 不执行任何操作

XML 和 HTML 之间的区别

XML 不使用预定义的标记

XML 是可扩展的

三、XML的两种文档约束

四、XML格式要求

五、使用DTD

1.在XML中加入DTD申明

2.元素定义语法

3.元素的分类

4.元素的限制

5.属性定义语法


一、DTD

什么是DTD?

DTD(Document Type Definition)是一种用于定义XML文档结构和元素的规范。它可以指定文档中允许出现的元素、元素的顺序、元素的属性以及元素之间的关系等信息。

参考地址:DTD Tutorial

在XML文档中,可以通过引用DTD来验证文档的结构是否符合规范。DTD通常以一种特定的语法格式编写,包括元素声明、属性声明、实体声明等内容。

简单的DTD示例:

  
  
  
]>

这个DTD定义了一个名为note的元素,其中包含to、from、heading和body四个子元素,它们的内容类型均为文本数据(#PCDATA)。

为什么要使用 DTD?

使用 DTD,独立的人群可以就交换数据的标准 DTD 达成一致。

应用程序可以使用 DTD 来验证 XML 数据是否有效。

内部 DTD 声明

如果 DTD 是在 XML 文件中声明的,则必须将其包装在定义:

具有内部 DTD 的 XML 文档





]>

Tove
Jani
Reminder
Don't forget me this weekend

上面的 DTD 是这样解释的:

  • !DOCTYPE note 定义此文档的根元素是 note
  • !ELEMENT note 定义 note 元素必须包含四个元素:“to、from、heading、body”
  • !ELEMENT 将 to 元素定义为类型为“#PCDATA”
  • !ELEMENT from 将 from 元素定义为类型为“#PCDATA”
  • !ELEMENT heading 将标题元素定义为类型为“#PCDATA”
  • !ELEMENT body 将 body 元素定义为类型为“#PCDATA”

    外部 DTD 声明

    如果 DTD 是在外部文件中声明的,则定义必须 包含对 DTD 文件的引用:

    引用外部 DTD 的 XML 文档

    
    
      Tove
      Jani
      Reminder
      Don't forget me this weekend!
    

     这里是文件“note.dtd”,其中包含 DTD:

    
    
    
    

    二、XML

    什么是XML?

    XML(可扩展标记语言)是一种用于存储和传输数据的标记语言,它具有自我描述性并且易于阅读。XML被广泛应用于各种领域,如网页开发、数据交换和配置文件等。

    参考地址:XML Introduction

    XML的基本语法规则包括使用标签、属性和值来描述数据的结构和内容。标签用尖括号包围,属性以键值对的形式出现在标签中,值则位于标签的起始和结束之间。

    XML示例:

      
        Harry Potter
        J.K. Rowling
      
      
        Introduction to XML
        John Doe
      
    
    

    XML 不执行任何操作

    也许这有点难以理解,但XML不做任何事情。

    此注释是 Jani 给 Tove 的注释,存储为 XML:

      Tove
      Jani
      Reminder
      Don't forget me this weekend!
    

    上面的 XML 是相当自我描述的:

    • 它有发件人信息
    • 它有接收器信息
    • 它有一个标题
    • 它有一个消息正文

      但是,上面的XML仍然没有做任何事情。XML 只是包装在标签中的信息。

      必须有人编写一个软件来发送、接收、存储或显示它:

      XML 和 HTML 之间的区别

      XML 和 HTML 的设计目标不同:

      • XML 旨在承载数据 - 重点关注数据是什么
      • HTML 旨在显示数据 - 重点是数据的外观
      • XML 标记不像 HTML 标记那样是预定义的

        XML 不使用预定义的标记

        XML 语言没有预定义的标记。

        上面示例中的标记(如 和 )未在任何 XML 标准中定义。这些标记是由 XML 文档的作者“发明”的。

        HTML 适用于预定义的标签,如

        等。

        使用 XML 时,作者必须同时定义标签和文档结构。

        XML 是可扩展的

        即使添加了新数据,大多数 XML 应用程序也会按预期工作(或 已删除)。

        想象一下,一个旨在显示原始版本的应用程序note.xml ( )。

        然后想象一个更新版本的note.xml,增加了和 元素,并删除了。

        XML的构造方式,旧版本的应用程序仍然可以工作。

        三、XML的两种文档约束

        XML(可扩展标记语言)的两种主要文档约束分别是 DTD(文档类型定义)和 XML Schema。这两种文档约束用于定义 XML 文档的结构、元素、属性和约束规则,以确保文档的有效性和一致性。

        1. DTD(文档类型定义):DTD 是一种声明性约束,它使用一组语法规则定义 XML 文档的结构、元素和属性。通过 DTD,可以定义元素的顺序、数量和内容约束,以及元素和属性的数据类型。DTD 使用简单的语法规则,但在处理命名空间和数据类型等方面具有一定的局限性。

        2. XML Schema:XML Schema 是一种更加强大和灵活的文档约束方式,它使用 XML 格式本身来定义 XML 文档的结构和约束规则。XML Schema 支持更丰富的数据类型定义、命名空间管理、键值约束等功能,使得对 XML 文档的约束和验证更加灵活和强大。XML Schema 常用于替代 DTD,成为更现代化的 XML 文档约束方式。

        四、XML格式要求

        • XML 元素都必须有关闭标签

        • XML 标签对大小写敏感

        • XML 必须正确地嵌套

        • XML 文档必须有根元素,有且只有一个

        • XML 的属性值须加引号

        • XML中的特殊字符处理

        特殊字符实体引用
        >>

        3.元素的分类

        • 空元素

           
        • 文本元素

           
        • 混合元素

           
          

          4.元素的限制

          限制说明
          ,表示内容的出现顺序必须与声明一致
          |表示两者或多个时只能出现一个
          +表示元素出现1次或多次
          *表示元素出现0次或多次
          ?表示元素出现1次或1次

          5.属性定义语法

          基本语法

           
          

          属性类型

          类型描述
          CDATA值为字符数据 (character data)
          (en1|en2|..)此值是枚举列表中的一个值
          ID值为唯一的 id
          IDREF值为另外一个元素的 id
          IDREFS值为其他 id 的列表
          NMTOKEN值为合法的 XML 名称
          NMTOKENS值为合法的 XML 名称的列表
          ENTITY值是一个实体
          ENTITIES值是一个实体列表
          NOTATION此值是符号的名称
          xml:值是一个预定义的 XML 值

          设置说明

          解释
          属性的默认值
          #REQUIRED属性值是必需的
          #IMPLIED属性不是必需的
          #FIXED value属性值是固定的
VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]