XML(可扩展编辑语言) —— DTD

简介: XML(可扩展编辑语言) —— DTD

一、XML简介

1.1 什么是XML?

  1. XML 指可扩展标记语言(EXtensible Markup Language)。
  2. XML 的设计宗旨是传输数据,而不是显示数据。
  3. XML 标签没有被预定义。您需要自行定义标签。
  4. XML 是 W3C 的推荐标准。

       

1.2 XML的作用

1. 数据交互

       XML可以用于将数据从一个应用程序传输到另一个应用程序。由于XML具有与平台无关的特性,因此它非常适合在不同的系统之间进行数据交换。

2. 配置

       XML是一种常用于表示数据结构的标记语言,因此它也可以被用作建模(设计模式+反射) 和配置文件。

1.3 标准的XML格式

  • 有且只有一个根元素
  • XML标签严格区分大小写
  • 正确使用结束标签
  • 正确嵌套标签
  • XML 属性值必须加双引号
  • 使用合法的标签名
  • 定义有效属性
  • 在XML中 空格会被保留

实例:

<?xml version="1.0" encoding="UTF-8"?><!-- XML声明 -->
<!-- 根元素 -->
<persons> 
  <person pid="p1" sex="男" nickname="小黑子" parent="p2">
    <name>绿师函</name>
    <age>21</age>
    <contact>
      <phone>12345678</phone>
    </contact>
    <br/>
  </person>
  <person pid="p2">
    <name>ikun</name>
    <age>35</age>
    <contact>
      <email>123@qq.com</email>
    </contact>
  </person>
</persons><!-- 结束标签 -->

这就是一个'形式良好'的标准XML格式👍

二、 DTD(XML文档类型定义)

2.1 XML DTD介绍

       XML DTD 代表“XML文档类型定义”。它用于通过指定可以出现的元素和属性,是用来定义XML文档的结构的。

       DTD可以是内部或外部的。内部DTD在XML文档中定义,而外部DTD存储在单独的文件中,并使用DOCTYPE声明在XML文档中引用。

外部DTD引入示例:

<!DOCTYPE 根标签名 SYSTEM "dtd文件的位置">

以下是一个内部DTD的声明示例:

<!DOCTYPE persons [
  <!ELEMENT persons (person+)>
  <!ELEMENT person (name, age, contact,br?)>
  <!ELEMENT name (#PCDATA)>
  <!ELEMENT age (#PCDATA)>
  <!ELEMENT contact (phone|email)>
]>

2.2 元素定义

       2.2.1 元素命名规范

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

       2.2.2 元素分类

1. 空元素

<ELEMENT element-name EMPTY >

<br/>

2. 文本元素

<ELEMENT element-name (#PCDATA)>

<name>绿师函</name>

<age>21</age>

3. 混合元素

<ELEMENT element-name (元素1 , 元素2) >

<person pid="p2">

       <name>ikun</name>

       <age>35</age>

       <contact>

           <email>123@qq.com</email>

       </contact>

   </person>

2.2.3 元素的限制

 1.( , )与( | )非

    ( , )表示必须存在, ( | )表示可以存在也可不存在

 2. 次数

  •      0 ~ 1 表示 : ?
  •      0 ~ N 表示 :*
  •      1 ~ N 表示 :+

2.3 属性定义

       2.3.1 语法

<! ATTLIST element-name

                     arr_name type(类型)  #REQUIRED (属性描述)

                       ······

>                                          

       2.3.2 属性类型

  •  ID  (表示元素的唯一标识符)
  • ( 男 | 女 )  '默认值'
  • CDATA  (表示文本数据)
  • IDREF  (表示对元素的引用)

      2.3.3 属性描述

  • #REQUIRED 必填
  • #IMPLIED 非必填
  • ' 默认值 ' (只有type为(男|女)类型时,desc才可以用默认方式)

2.4 一个良好标准格式的实例

<?xml version="1.0" encoding="UTF-8"?><!-- XML声明 -->
<!DOCTYPE persons [
  <!ELEMENT persons (person*)>
  <!ELEMENT person (name, age, contact, br?)>
  <!ELEMENT name (#PCDATA)>
  <!ELEMENT age (#PCDATA)>
  <!ELEMENT contact (phone|email)>
  <!ELEMENT phone (#PCDATA)>
  <!ELEMENT email (#PCDATA)>
  <!ELEMENT br EMPTY>
  <!ATTLIST person
      pid ID #REQUIRED
      sex (男|女|未知) '未知'
      nickname CDATA #IMPLIED
      parent IDREF #IMPLIED 
  >
]>
<!-- 根元素 -->
<persons>
  <person pid="p1" sex="男" nickname="小黑子" parent="p2">
    <name>绿师函</name>
    <age>21</age>
    <contact>
      <phone>12345678</phone>
    </contact>
    <br />
  </person>
  <person pid="p2">
    <name>ikun</name>
    <age>35</age>
    <contact>
      <email>123@qq.com</email>
    </contact>
  </person>
</persons><!-- 结束标签 -->

到这里就本章内容就结束了,后续会持续更新内容,有待完善的欢迎大佬们留言🥰!

相关文章
|
XML 存储 数据可视化
XML DTD原理及使用
是一种可扩展的标记语言,用于存储和交换数据,它被设计成具有简单、易于理解的格式,并能够方便地在不同的系统和应用程序之间共享数据。XML的语法规则类似于HTML,但XML的目的不仅仅是用于显示数据,更是用于描述数据的结构和关系。与HTML相比,XML更加严格和规范,它需要通过或RELAX NG等方式定义文档的结构,同时还可以使用命名空间和XSLT等技术来处理和转换XML文档。独立于任何特定的操作系统、平台或开发环境。可以与许多不同的编程语言和应用程序进行交互。
|
12月前
|
XML 开发框架 JSON
J2EE基础XML(dtd)
J2EE基础XML(dtd)
59 0
|
XML 存储 Java
XML之dtd
XML之dtd
109 0
|
XML 存储 开发框架
J2EE之XML(dtd篇超详细)
J2EE之XML(dtd篇超详细)
56 0
|
XML JSON 数据格式
XML之DTD
XML之DTD
58 0
|
4月前
|
XML Ubuntu Linux
部署08---扩展-Win10配置WSL(Ubuntu)环境,WSL系统是什么意思,是Windows系统上的一个子系统, xml的一大特点是直链系统,直接链接你的CPU,硬盘和内存,如何用 WSL部署
部署08---扩展-Win10配置WSL(Ubuntu)环境,WSL系统是什么意思,是Windows系统上的一个子系统, xml的一大特点是直链系统,直接链接你的CPU,硬盘和内存,如何用 WSL部署
|
5月前
|
XML JSON druid
xml 可扩展标记语言
xml 可扩展标记语言
25 0
|
3月前
|
XML 数据格式
DTD和XML Schema之间的区别?
【8月更文挑战第22天】
57 0
|
6月前
|
XML 存储 数据格式
探索 DTD 在 XML 中的作用及解析:深入理解文档类型定义
DTD(文档类型定义)用于定义XML文档的结构和合法元素、属性。它允许不同团体就数据交换标准达成一致,并用于验证XML数据的有效性。DTD可通过内部声明(在XML文档内)或外部声明(在单独文件中)来定义。内部声明示例显示了如何定义`note`元素及其子元素的结构,而外部声明则引用外部DTD文件。元素、属性、实体和PCDATA/CDATA是XML构建模块。DTD中,元素通过ELEMENT声明定义,属性通过ATTLIST声明定义,实体声明提供特殊字符或外部资源的快捷方式。
109 0
|
XML 数据管理 数据处理
XML入门,之dtd属性与元素详解
XML入门,之dtd属性与元素详解
54 1