`
and4walker
  • 浏览: 557359 次
  • 性别: 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

    xml与DTD,xml与DTD,xml与DTD,xml与DTD

    第1章 XML与DTD

    第1章 XML与DTD

    xml与dtd调用相关实例

    与xml相关内部dtd与外部dtd实例,内部dtd调用与外部dtd调用实例!

    XML与DTD介绍

    结合XML的特性介绍其使用规范,并详细介绍了DTD在XML中的应用,尤其是阐述了DTD的元素类型,属性等

    XML的DTD教程

    关于XML的DTD教程,关于XML的DTD教程,关于XML的DTD教程

    XML、DTD、Schema

    XML、DTD、Schema笔记、使用方法、注意事项,尤其是对XML和DTD比较详细

    XML与DTD史上最经典自学PPT

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

    xml的基本实现,dtd, schema实验

    三个关于xml的实验,分别是xml基本实现,dtd,schema的三个实验,希望对朋友有帮助,自己刚开始学的时候也会混乱...

    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课程实验答案

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

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

    《XML》实验任务书 XML Basics & DTD 答案和解答

    3、为第二步中得到的SpyBase1.xml、SpyBase2.xml分别编写相应的外部DTD文档,建立模式与数据之间的关联,并进行文档有效性验证。在编写的DTD文档中,要求在DTD文档中使用参数实体来替换所有的#PCDATA和CDATA。 ...

    XML DTD XSL XLD DOM

    XML例子 DTD例子 XSL例子 XLD例子 DOM解析

    DTD规范XML文档编写

    DTD规范XML文档编写级XML文档的一般书写格式

    mybatis配置xml最新dtd文件

    最新版的mybatis配置xml文件所需的dtd文件

    jdom解析xml、dtd约束xml文件

    这是一个jdom解析xml的小例子、里面还有dtd文件的编写以及dtd文件约束xml文件。这是一个jdom解析xml的小例子、里面还有dtd文件的编写以及dtd文件约束xml文件。这是一个jdom解析xml的小例子、里面还有dtd文件的编写...

    Java Web开发详解:XML+DTD+XML Schema+XSLT+Servlet3.0+JSP2.2深入剖析与实例应用/孙鑫编著

    鑫编写的《Java Web开发详解——XML+DTD+XML Schema+XSLT+Servlet3.0+JSP2.2深入剖析与实例应用》共分4篇,从XML、XML Schema、XSLT、Servlet、JSP和应用的角度向读者展示了Java Web开发中各种技术的应用,循序渐进...

Global site tag (gtag.js) - Google Analytics