xml全称Extensible Markup Language(可扩展标记语言),它是Standard Generalized Markup Language(标准通用标记语言)的一个子集.
SGML:80年代IBM提出==>GML(各文档之间共用属性)==>SGML(ISO提出)==>XML(W3C认为SGML不适合WEB,所以提出XML)
SGML,HTML和XML:
SGML是在WEB发明之前描述文档资料的通用语言,定义标记语言的元语言.HTML跟XML都是从SGML发展而来的标记语言.HTML是在SGML顶一下的一个描述性语言.只是SGML的一个应用.其DTD作为标准被固定下来.而XML是SGML的一个简化版本.
XML文档:都有一个逻辑结构和一个物理结构.
物理:文档由entities(实体)的存储单元组成.文档开始于root或document entity.entity可以分为parsed跟unparsed数据.
良好的XML文档形成一种层次树结构.这个树的树根就是document entity.
XML文档的根元素称为Document element
逻辑上主要分5个部分:1.XML声明 2.文档类型声明 3.元素 4.注释 5.处理指令
XML元素:分四种
1.空元素: <student/>
2.带属性的空元素: <student name="张三" age="14" />
3.待内容的元素:
<student>
学生信息
<name>张三</name>
<age>14</age>
</student>
4.带内容跟属性的元素:
<student name="张三">
<age>14</age>
</student>
XML元素内容中字符数据不能有"&","<","]]>",在CDATA段中,数据可以是不包括CDATA段的结束定界符的任意字符串.
如果想输入这些字符串可以用引用:
字符 字符引用(十进制) 字符引用(十六进制) 预定义实体引用
< < < <
> > > >
" " " "
' ' ' '
& & & &
CDATA段eg
<?xml version="1.0" ?>
<java>
<![CDATA[
if(a>b && c<b)
max = a;
]]>
</java>
这段代码就可以完全显示出来
XML注释跟HTML一样: <!-- 这是注释 -->
XML处理指令(PIs):允许文档中包含由应用程序来处理的指令。
格式:<? 这是处理指令 ?> eg:<?xml-stylesheet href="hello.css" type="text/css"?>
DTD:关键字全部得大写
外部DTD文件语法格式:<!DOCTYPE 根元素的名字 SYSTEM "外部DTD文件的URI">
其中SYSTEM代表文档使用的是私有的DTD文件.
PUBLIC为公共的格式:<!DOCTYPE 根元素的名字 PUBLIC "DTD的名称" "外部DTD文件的URI">
注:当我们使用外部DTD文件的时候用<?xml version="1.0" encoding="gbk" standalong="no">其中standalong="no"表示依赖外部文档
DTD结构:元素类型声明,属性表声明,实体声明,记号声明等构成.
元素类型声明:<!ELEMENT 元素名称 元素内容说明>
eg:
<?xml version="1.0" encoding="gbk"?>
<!DOCTYPE company [
<!ELEMENT company (employee)>
<!ELEMENT employee (name.age)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT age (#PCDATA)>
]>
<company>
<employee>
<name>张三</name>
<age>14</age>
</employee>
</company>
其中DTD文件定义元素说明必须先写NAME再写AGE
实体:一般实体(general entity)和参数实体(parameter entity)
一般实体是在文档内容中使用的实体,而参数实体则是在DTD中使用的已分析实体
一般实体声明格式:<!ENTITY 实体名 "实体内容"> 引用实体方式:"&实体名"
eg.
<?xml version="1.0" encoding="gb2312"?>
<!DOCTYPE website[
<!ELEMENT website (name,copyright)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT copyright (#PCDATA)>
<!ENTITY name "程序员之家">
<!ENTITY copyright "©2005, 程序员之家, All Rights Reserved">
]>
<website>
<name>&name;</name>
<copyright>©right;</copyright>
</website>
然后在浏览器中可以看一下实际效果:用实体内容来替换实体引用
参数实体声明格式:<!ENTITY % 实体名 "实体内容">只能在DTD中声明
<?xml version="1.0" encoding="gb2312"?>
<!DOCTYPE website SYSTEM "website.dtd">
<website>
<name>&name;</name>
<copyright>©right;</copyright>
</website>
website.dtd
<?xml version="1.0" encoding="gb2312"?>
<!ELEMENT website (name,copyright)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT copyright (#PCDATA)>
<!ENTITY % name "程序员之家">
<!ENTITY copyright "©2005, %name;, All Rights Reserved">
其中"%name"代表"程序员之家"
属性表声明:<!ATTLIST 元素名 属性名 属性类型 缺省声明>
eg.
<?xml version="1.0" encoding="gb2312"?>
<!DOCTYPE bbs[
<!ELEMENT bbs (article*)>
<!ELEMENT article (title,author)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT author (#PCDATA)>
<!ATTLIST author ip CDATA #REQUIRED>
]>
<bbs>
<article>
<title>关于属性表声明的问题</title>
<author ip="192.168.0.111">张三</author>
</article>
<article>
<title>关于XML应用的问题</title>
<author ip="192.168.0.123">李四</author>
</article>
</bbs>
#REQUIRED:代表必须包含IP属性
#IMPLIED:可有可无IP属性
记号声明:
一种是使用MIME类型:<!NOTATION gif SYSTEM "image/gif">
另一种是使用URI路径,指外部处理程序的位置:<!NOTATION gif SYSTEM "iexplore.exe">
分享到:
相关推荐
##### 内部DTD与外部DTD: - **内部DTD**:DTD的内容直接嵌入到XML文档中。适用于简单的文档或者测试文档。 - **外部DTD**:DTD作为单独的文件存在,并通过XML文档中的DOCTYPE声明来引用。适用于大型项目或多个文档...
在本实例中,我们将深入探讨XML与DTD之间的关系,包括内部DTD和外部DTD的使用。 首先,我们来理解什么是内部DTD。内部DTD是直接嵌入到XML文档中的DTD定义,通常放在文档的`<!DOCTYPE>`声明中。例如: ```xml <?xml...
【XML与DTD】是Web开发领域中的核心技术,用于结构化数据的存储和交换。XML,全称为可扩展标记语言(Extensible Markup Language),是标准通用标记语言(SGML)的一个子集,由W3C(万维网联盟)在1998年2月正式发布...
XML的设计目的是传输和存储数据,而不是显示数据,因此它通常与CSS和XSLT等技术配合使用来进行数据的呈现。 DTD(Document Type Definition)是XML文档的一种验证工具,它定义了XML文档的结构和规则。通过DTD,我们...
- 链接XML与DTD:在XML文档的`<!DOCTYPE>`声明中指定DTD文件。 - 验证:使用XML解析器或在线工具进行验证,检查XML文档是否符合DTD。 6. **替代技术**: - **XML Schema (XSD)**:提供了更复杂的数据类型和更强...
### XML的DTD教程 #### 一、文档类型定义(DTD)概述 文档类型定义(Document Type Definition,简称DTD)是一种用于定义XML文档结构的语言。它主要用于描述XML文档中元素、属性以及实体等组成部分的规则,确保XML...
7. **XML与DTD的应用场景**:可能涵盖XML在Web服务、数据交换、配置文件等方面的应用,以及使用DTD来确保数据一致性的例子。 8. **实例分析**:提供XML文档和对应的DTD示例,帮助读者理解和应用所学知识。 9. **...
DTD(文档类型定义,Document Type Definition)是XML的一种验证机制,它定义了XML文档的结构和合法元素。DTD包含元素声明、属性声明、实体声明和notations声明。例如,一个简单的DTD声明可能如下: ```xml <!...
本PPT为院内内部资料,请大家不要转载本PPT,从最基本讲起,面面到位,希望能对大家有所帮助
xml转换dtd工具jar
XML入门精解之DTD 文件格式定义(XML DTD) DTD实际上可以看作一个或多个XML文件的模板,这些XML文件中的元素、元素的属性、元素的排列方式/顺序、元素能够包含的内容等,都必须符合DTD中的定义。XML文件中的元素,...
学习XML语言的DTD如何去写,如何更好的写出XML语言的DTD文档,对进一步深入学习XML有很大帮助。
使用DTD验证XML文档 一、 DTD的定义: a) DTD是Document Type Defintion的缩写,即文档类型定义。DTD用来描述XML文档的结构。 二、 DTD可能包含的内容: a) 元素的定义规则。 b) 元素之间的关系规则。 c) 属性的定义...
[实验目的] 1、安装并学习如何使用XMLSPY集成开发环境完成XML相关的开发工作。 2、熟悉和掌握XML规范的基本内容,包括XML声明、...使用内部/外部DTD规则,对XML数据文档的有效性进行约束。 某软件学院XML课程实验答案
标题中的"mybatis配置xml最新dtd文件"指的是MyBatis框架中使用的最新的XML配置文件所依赖的DTD文件。这些文件定义了MyBatis配置文件(mybatis-3-config.xml)和映射文件(mapper.xml)的元素、属性和它们的顺序。 ...
此外,XML Schema的合法性验证机制与XML相同,提供了内置的验证机制,而XML DTD在这方面较为欠缺。 其次,XML Schema的一个关键优势在于其强大的数据类型系统。XML DTD仅提供有限的内置数据类型,如CDATA、...
与HTML不同,HTML主要用于显示数据,而XML关注数据本身。在本项目中,XML文件被用来结构化地组织信息,比如文章内容、个人资料等。XML文档的结构严格,每个元素都有对应的开始和结束标签,使得数据的解析和处理更加...
在这个“XML使用示例4(dtd等)”中,我们将重点探讨XML与DTD(Document Type Definition)的关系及其应用。 首先,DTD是XML的一个重要组成部分,它定义了XML文档的结构和元素规则。DTD通过声明元素、属性、实体...
"DTD练习.rar"和"SCHEMA练习.rar"可能包含了一些实践性的练习题,帮助你深入理解如何使用DTD和XML Schema来定义和验证XML文档。 总的来说,这些文件涵盖了XML的基础知识,如XML结构、DTD的使用、XSLT转换以及DOM...