DTD及XML介绍

简介: DTD及XML介绍

一.什么是xml

XML是一种可扩展标记语言(eXtensible Markup Language),用于存储和传输数据。XML文档由标签和文本组成,标签用于描述数据的结构和意义。XML的语法类似于HTML,但是XML更加严格和具体,可以根据应用的需要定义自己的标签和属性。XML被广泛用于Web服务、应用程序配置文件、数据交换和存储等领域。

二.为什么要学习xml

XML作为一种数据交换和存储格式,被广泛应用于计算机领域的各个方面,例如Web服务、应用程序配置文件、数据交换等。因此,学习XML能让人更好地理解如何在不同的应用程序之间传递和共享数据,理解Web服务的基本原理和工作方式。此外,XML还是许多其他技术和工具的基础,例如XML Schema、XSLT、XPath、SOAP等,了解XML的基础知识能帮助人更好地学习这些相关技术。因此,学习XML对于软件开发人员、Web开发人员、数据管理人员、IT专业人员等都非常有用。

三.xml的作用

  1. 数据存储和传输

XML可以作为一种通用的数据存储和传输格式,利用标签和属性描述数据的结构和意义,方便不同的应用程序之间进行数据交换和共享。

文档标记和表示

XML文档可以像HTML文档一样被浏览器解析和显示,但它比HTML更加灵活和可扩展,可以根据具体的应用需要定义自定义标签和属性。

数据验证和规范化

XML Schema是一种用于定义XML文档结构和约束条件的语言,它可以确保XML文档符合特定的数据格式和规范,有助于提高数据的质量和可靠性。

四.标准的xml格式

1.XML文件的第一行应该包含XML声明,用于指明XML版本和编码方式

2.有且只有一个根元素

3.xml标签大小写正确区分

4.正确使用结束标签

5.使用了合法的标签名

6.定义有效的属性

7.正确嵌套标签

五.元素的定义

1.在xml加入dtd声明

<!DOCTYPE []>

2.元素的分类

a.<ELEMENT element-name EMPTY>//空元素

b.<ELEMENT element-name(#PCDATA)>//文本元素

c.<ELEMENT element-name(e1,e2)>//混合元素

3.元素的限制

a.和(,)        或者(|)          例如:和(a,b)  或者(a|b)

b.次数:

      0或1:?

      0~N:*

      1~N:+

六.属性定义

1.语法

<!ATTLIST element-name att_name type desc>

2.属性类型

   

  1. CDATA:表示字符数据,可以包含任意字符,包括XML保留字符。
  2. ID:表示唯一的元素标识符,属性值必须是在文档中唯一的,不能出现相同的ID值。
  3. IDREF:表示元素标识符引用,该属性值必须是在文档中唯一的ID值。
  4. IDREFS:表示元素标识符引用列表,属性值由一个或多个IDREF值组成,使用空格分隔。
  5. ENTITY:表示一个已定义的内部或外部实体,该实体的名称为属性的值。
  6. ENTITIES:表示一个已定义的内部或外部实体列表,属性值由一个或多个ENTITY值组成,使用空格分隔。
  7. NMTOKEN:表示一个不包含空格和保留字符的名称,可由字母、数字、下划线、连字符和句点组成。
  8. NMTOKENS:表示一个不包含空格和保留字符的名称列表,属性值由一个或多个NMTOKEN值组成,使用空格分隔。
  9. NOTATION:表示一个已定义的标记标识符。
  10. ENUM:表示一个枚举值列表,属性值由某个特定集合中的一个值组成。它可以看作是一种特殊的NMTOKENS类型。

3.属性描述

1.#REQUIRED

表示该属性是必须的,即在该元素中必须定义该属性,并且不能省略。

<!ATTLIST book
    id     ID      #REQUIRED
    title  CDATA   #REQUIRED
    author CDATA   #REQUIRED
    pages  CDATA   #REQUIRED>

2.#IMPLIED

表示该属性是可选的,即在该元素中可以定义该属性,也可以不定义。如果没有定义该属性,则使用DTD中规定的默认值。

<!ATTLIST book
    id     ID      #REQUIRED
    title  CDATA   #IMPLIED
    author CDATA   #REQUIRED>

3.#FIXED

表示该属性的值是固定的,就算在元素中也不能改变。

<!ATTLIST book
    id     ID      #REQUIRED
    title  CDATA   #IMPLIED
    author CDATA   "John Doe"
    pages  CDATA   #FIXED "100">

4.枚举值

对于枚举类型的属性,可以指定属性的值必须在固定的枚举列表中。

<!ATTLIST book
    id     ID      #REQUIRED
    type   (hardcover, paperback)   #IMPLIED
    author CDATA   #REQUIRED>

5.数据类型

可以指定属性的数据类型,包括预定义的数据类型和用户自定义的数据类型。

注:大家在使用类型时要注意约束与类型的使用

以下是我的一篇范例,仅供参考

<?xml version="1.0" encoding="UTF-8"?>
<!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 (男|女) "女"
  qq CDATA #IMPLIED
  parent IDREF #IMPLIED
  >
]>
<persons>
  <person pid="p1" sex="男" qq="aaa" parent="p2">
    <name>张小明</name>
    <age>10</age>
    <contact>
      <phone>1234567</phone>
    </contact>
    <br/>
  </person>
  <person pid="p2">
    <name>张大明</name>
    <age>35</age>
    <contact>
      <email>123@qq.com</email>
    </contact>
  </person>
</persons>

码农不易,多多支持

相关文章
|
12月前
|
XML 开发框架 JSON
J2EE基础XML(dtd)
J2EE基础XML(dtd)
59 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
|
6月前
|
XML 设计模式 数据格式
XML中的DTD
XML中的DTD
38 0
|
11月前
|
XML 存储 设计模式
XML以及DTD详解
XML以及DTD详解
158 0
|
12月前
|
XML 存储 数据格式
XML之DTD
XML之DTD
85 0
|
12月前
|
XML 存储 NoSQL
XML中DTD的基本使用
XML中DTD的基本使用
95 0
|
XML 数据格式
XML基础入门:关于DTD知识点
XML基础入门:关于DTD知识点
63 0
|
XML 存储 消息中间件
XML DTD介绍以及应用
DTD介绍 文档类型定义(DTD)可定义合法的XML文档构建模块。它使用一系列合法的元素来定义文档的结构。 DTD 可被成行地声明于 XML 文档中,也可作为一个外部引用。
55 0
|
24天前
|
XML 前端开发 Java
讲解SSM的xml文件
本文详细介绍了SSM框架中的xml配置文件,包括springMVC.xml和applicationContext.xml,涉及组件扫描、数据源配置、事务管理、MyBatis集成以及Spring MVC的视图解析器配置。
48 1