xml学习3

简介: DTD(Document Type Definition)文档类型定义  和 文档类型声明是不一样的 。文档类型声明是在xml文件中引入DTD 。   当我们在使用外部DTD的时候     standalone一定要设置为no  文档类型声明可以包含或者引用一个 文档类型定义  ,也就是 我们所说的内部DTD和外部DTD  格式良好的 xml文件需要遵循xml语法规范 。

DTD(Document Type Definition)文档类型定义  和 文档类型声明是不一样的 。文档类型声明是在xml文件中引入DTD 。  

当我们在使用外部DTD的时候  <?xml version="1.0" encoding="gb2312" standalone="no"?>   standalone一定要设置为no 

文档类型声明可以包含或者引用一个 文档类型定义  ,也就是 我们所说的内部DTD和外部DTD

 格式良好的 xml文件需要遵循xml语法规范 。而有效的xml文件就需要遵循 DTD 文档类型定义 。 

这个DTD文件规定了  xml中各个节点之间的关系 。 

我们可以使用<!DOCTYPE greeting[<!ELEMENT  greeting(#PCDATA)>]> 引入内部DTD,这样做不需要验证,但是也有缺点  ,就是多个xml需要引用同一个DTD的时候就需要书写多份DTD。为了解决这个问题 我们可以吧DTD放在后缀 .dtd的文件中 通过外部引用来实现。

 两种引入外部DTD的方法

1、

<!DOCTYPE  根元素名字    SYSTEM      DTD的URL>     //可以是Internet 也可以是  一个本地文件相对路径  表示是私有的DTD

例如:

<!DOCTYPE  greeting   SYSTEM http://www.my.com/xml.dtd>

我们可以直接使用相对URI

2、

<!DOCTYPE  根元素的名称  PUBLIC     DTD名称   DTD的URL>     //引入外部的DTD  必须是Internet上的一个绝对URL DTD 名称只能出现在 PUBLIC 引用中  

PUBLIC 用来声明公共DTD      DTD名称也称为公共标识符 ,这个DTD 存放在摸个地方 XML解析器 按照某种规则   根据DTD名称检索DTD如果找不到 那么就会按照

DTD的外部URL(也就是系统标示符)来 检索。  如果一个DTD是 ISO标准 那么 DTD名字以  ISO开始  如果是一个非ISO批准的那么以-开始 

标准DTD那么以 +开始

例如下面:

"-//xiaowei//xml//EN"      第一个- 表示非标准DTD  ,//后表示DTD所有者     第二个//后是描述信息     第三个 //后是语种 

<!DOCTYPE root  PUBLIC  "-//xiaowei//xm//EN" http://www.xiaowei.com//xml.dtd >   这就是一个公共DTD的引用 。

 

 xml文件的组成单元 :
1、xml的声明语句

2、DOCTYPE语句dtd声明

3、注释

4、CDATA区 

5、自定义元素

 

 

 

 

目录
相关文章
|
XML SQL 数据处理
学习 XQuery:XML数据查询的关键
XQuery是用于查询XML数据的语言,类似SQL对数据库的操作。它基于XPath构建,用于从XML文档中提取和排序元素。FLWOR表达式(For, Let, Where, Order by, Return)是其核心,用于处理和过滤数据。例如,示例代码展示了如何选取&quot;books.xml&quot;中价格大于30的书籍并按标题排序。XQuery还可用于Web服务、生成报告、XML到XHTML转换及搜索文档等场景。了解XPath能帮助更好地掌握XQuery,两者有相似的数据模型和函数。
285 0
|
XML 存储 JSON
Python学习 -- 常用数据交换格式(CSV、XML、JSON)
Python学习 -- 常用数据交换格式(CSV、XML、JSON)
234 0
|
XML 存储 JSON
Python学习 -- 常用数据交换格式(CSV、XML、JSON)
Python学习 -- 常用数据交换格式(CSV、XML、JSON)
227 0
|
XML Java Maven
第1次Spring源码学习之@Bean、@Configuration、xml、分析
第1次Spring源码学习之@Bean、@Configuration、xml、分析
137 0
|
XML 存储 JSON
Twaver-HTML5基础学习(19)数据容器(2)_数据序列化_XML、Json
本文介绍了Twaver HTML5中的数据序列化,包括XML和JSON格式的序列化与反序列化方法。文章通过示例代码展示了如何将DataBox中的数据序列化为XML和JSON字符串,以及如何从这些字符串中反序列化数据,重建DataBox中的对象。此外,还提到了用户自定义属性的序列化注册方法。
192 1
|
XML Java 数据格式
Spring5系列学习文章分享---第一篇(概述+特点+IOC原理+IOC并操作之bean的XML管理操作)
Spring5系列学习文章分享---第一篇(概述+特点+IOC原理+IOC并操作之bean的XML管理操作)
114 1
|
XML 前端开发 Java
XML基本概念入门学习指南
XML(eXtensible Markup Language)是一种可扩展的标记语言,和HTML语言语法类似,同属于标记语言。
436 14
|
XML Java 应用服务中间件
tomcat学习一:tomcat 目录及配置文件学习 server.xml 等
这篇文章是关于Apache Tomcat服务器的目录结构、配置文件(特别是server.xml)的详细介绍和学习指南。
673 0
tomcat学习一:tomcat 目录及配置文件学习 server.xml 等
|
XML 存储 JavaScript
深入学习 XML 解析器及 DOM 操作技术
所有主要的浏览器都内置了一个XML解析器,用于访问和操作XML XML 解析器 在访问XML文档之前,必须将其加载到XML DOM对象中 所有现代浏览器都有一个内置的XML解析器,可以将文本转换为XML DOM对象
262 0
|
XML 存储 数据库
XML学习基础知识归纳(一)
XML是可扩展的标记语言,xml文档的后缀名为 .xml
203 1

相关课程

更多