`
and4walker
  • 浏览: 565068 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

XML与DTD

    博客分类:
  • XML
阅读更多
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段的结束定界符的任意字符串.
如果想输入这些字符串可以用引用:
字符 字符引用(十进制) 字符引用(十六进制)  预定义实体引用
<       &#60;            &#x3c;              &lt;
>       &#62;            &#x3e;              &gt;
"       &#34;            &#x22;              &quot;
'       &#39;            &#x27;              &apos;
&       &#38;            &#x26;              &amp;
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 "&#169;2005, 程序员之家, All Rights Reserved">
]>

<website>
   <name>&name;</name>
   <copyright>&copyright;</copyright>
</website>


然后在浏览器中可以看一下实际效果:用实体内容来替换实体引用
参数实体声明格式:<!ENTITY % 实体名 "实体内容">只能在DTD中声明
<?xml version="1.0" encoding="gb2312"?>

<!DOCTYPE website SYSTEM "website.dtd">

<website>
   <name>&name;</name>
   <copyright>&copyright;</copyright>
</website>


website.dtd
<?xml version="1.0" encoding="gb2312"?>

<!ELEMENT website (name,copyright)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT copyright (#PCDATA)>
<!ENTITY % name "程序员之家">
<!ENTITY copyright "&#169;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">

分享到:
评论

相关推荐

    xml与DTD,xml与DTD

    ##### 内部DTD与外部DTD: - **内部DTD**:DTD的内容直接嵌入到XML文档中。适用于简单的文档或者测试文档。 - **外部DTD**:DTD作为单独的文件存在,并通过XML文档中的DOCTYPE声明来引用。适用于大型项目或多个文档...

    xml与dtd调用相关实例

    在本实例中,我们将深入探讨XML与DTD之间的关系,包括内部DTD和外部DTD的使用。 首先,我们来理解什么是内部DTD。内部DTD是直接嵌入到XML文档中的DTD定义,通常放在文档的`&lt;!DOCTYPE&gt;`声明中。例如: ```xml &lt;?xml...

    第1章 XML与DTD

    【XML与DTD】是Web开发领域中的核心技术,用于结构化数据的存储和交换。XML,全称为可扩展标记语言(Extensible Markup Language),是标准通用标记语言(SGML)的一个子集,由W3C(万维网联盟)在1998年2月正式发布...

    XML与DTD介绍

    XML的设计目的是传输和存储数据,而不是显示数据,因此它通常与CSS和XSLT等技术配合使用来进行数据的呈现。 DTD(Document Type Definition)是XML文档的一种验证工具,它定义了XML文档的结构和规则。通过DTD,我们...

    DTD验证XML详解

    - 链接XML与DTD:在XML文档的`&lt;!DOCTYPE&gt;`声明中指定DTD文件。 - 验证:使用XML解析器或在线工具进行验证,检查XML文档是否符合DTD。 6. **替代技术**: - **XML Schema (XSD)**:提供了更复杂的数据类型和更强...

    XML的DTD教程

    ### XML的DTD教程 #### 一、文档类型定义(DTD)概述 文档类型定义(Document Type Definition,简称DTD)是一种用于定义XML文档结构的语言。它主要用于描述XML文档中元素、属性以及实体等组成部分的规则,确保XML...

    DTD的CHM帮助文档

    7. **XML与DTD的应用场景**:可能涵盖XML在Web服务、数据交换、配置文件等方面的应用,以及使用DTD来确保数据一致性的例子。 8. **实例分析**:提供XML文档和对应的DTD示例,帮助读者理解和应用所学知识。 9. **...

    XML、DTD、Schema

    DTD(文档类型定义,Document Type Definition)是XML的一种验证机制,它定义了XML文档的结构和合法元素。DTD包含元素声明、属性声明、实体声明和notations声明。例如,一个简单的DTD声明可能如下: ```xml &lt;!...

    XML与DTD史上最经典自学PPT

    本PPT为院内内部资料,请大家不要转载本PPT,从最基本讲起,面面到位,希望能对大家有所帮助

    XML2DTD.jar

    xml转换dtd工具jar

    XML-DTD实例讲解

    XML入门精解之DTD 文件格式定义(XML DTD)  DTD实际上可以看作一个或多个XML文件的模板,这些XML文件中的元素、元素的属性、元素的排列方式/顺序、元素能够包含的内容等,都必须符合DTD中的定义。XML文件中的元素,...

    使用DTD规范XML文档

    学习XML语言的DTD如何去写,如何更好的写出XML语言的DTD文档,对进一步深入学习XML有很大帮助。

    使用DTD验证XML文档

    使用DTD验证XML文档 一、 DTD的定义: a) DTD是Document Type Defintion的缩写,即文档类型定义。DTD用来描述XML文档的结构。 二、 DTD可能包含的内容: a) 元素的定义规则。 b) 元素之间的关系规则。 c) 属性的定义...

    《XML》实验(1) -- XML Basics & DTD

    [实验目的] 1、安装并学习如何使用XMLSPY集成开发环境完成XML相关的开发工作。 2、熟悉和掌握XML规范的基本内容,包括XML声明、...使用内部/外部DTD规则,对XML数据文档的有效性进行约束。 某软件学院XML课程实验答案

    mybatis配置xml最新dtd文件

    标题中的"mybatis配置xml最新dtd文件"指的是MyBatis框架中使用的最新的XML配置文件所依赖的DTD文件。这些文件定义了MyBatis配置文件(mybatis-3-config.xml)和映射文件(mapper.xml)的元素、属性和它们的顺序。 ...

    XML Schema 与 XML DTD的技术比较与分析

    此外,XML Schema的合法性验证机制与XML相同,提供了内置的验证机制,而XML DTD在这方面较为欠缺。 其次,XML Schema的一个关键优势在于其强大的数据类型系统。XML DTD仅提供有限的内置数据类型,如CDATA、...

    xml+xsl+css+dtd书写的个人网页

    与HTML不同,HTML主要用于显示数据,而XML关注数据本身。在本项目中,XML文件被用来结构化地组织信息,比如文章内容、个人资料等。XML文档的结构严格,每个元素都有对应的开始和结束标签,使得数据的解析和处理更加...

    XML使用示列4(dtd等)

    在这个“XML使用示例4(dtd等)”中,我们将重点探讨XML与DTD(Document Type Definition)的关系及其应用。 首先,DTD是XML的一个重要组成部分,它定义了XML文档的结构和元素规则。DTD通过声明元素、属性、实体...

    XML DTD XSL XLD DOM

    "DTD练习.rar"和"SCHEMA练习.rar"可能包含了一些实践性的练习题,帮助你深入理解如何使用DTD和XML Schema来定义和验证XML文档。 总的来说,这些文件涵盖了XML的基础知识,如XML结构、DTD的使用、XSLT转换以及DOM...

Global site tag (gtag.js) - Google Analytics