首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 互联网 >

DTD-小结

2012-11-22 
DTD-总结?DTD(文档类型定义)? ? ? ? 每一个 XML 文件均可携带一个有关其自身格式的描述。? ? ? ? 可一致地

DTD-总结

?

DTD(文档类型定义)

? ? ? ? 每一个 XML 文件均可携带一个有关其自身格式的描述。

? ? ? ? 可一致地使用某个标准的 DTD 来交换数据。

? ? ? ? struts.xml,hibernate.xml,ibatis.xml等apache组织下的用DTD描述限制xml文件

文档构建模块

? ? ? ? 所有的 XML,HTML 文档均由以下简单的构建模块构成:

? ? ? ? ? ? ? ? 元素?

? ? ? ? ? ? ? ? 属性?

? ? ? ? ? ? ? ? 实体 :专业字符

? ? ? ? ? ? ? ? PCDATA :被解析的字符数据(parsed character data)。

? ? ? ? ? ? ? ? CDATA ? ? ? ? :不被解析的字符数据(character data)。像文本值一样,不会被解析<![CDATA["..."]]>。

?

DTD - 元素

? ? ? ? 声明元素的语法:

? ? ? ? ? ? ? ? <!ELEMENT 元素名称 类别> ? ? ? ?或 ? ? ? ?<!ELEMENT 元素名称 (元素内容)>

? ? ? ? <!ELEMENT note (to,from,heading,body)> ? ? ? ?//带有子元素(序列)的元素<!ELEMENT 元素名称 (子元素名称 1,子元素名称 2,.....)>

? ? ? ? <!ELEMENT to ? ? ?(#PCDATA)> ? ? ? ?//只有 PCDATA 的元素

? ? ? ? <!ELEMENT from ? ?(#PCDATA)>

? ? ? ? <!ELEMENT heading (#PCDATA)>

? ? ? ? <!ELEMENT body ? ?(#PCDATA)> ? ? ? ? ? ? ? ?

?

DTD - 属性

? ? ? ? 声明属性使用下列语法:

? ? ? ? ? ? ? ? <!ATTLIST 元素名称 属性名称 属性类型 默认值> ? ? ? ?

? ? ? ? DTD:

? ? ? ? ? ? ? ? <!ELEMENT square EMPTY>

? ? ? ? ? ? ? ? <!ATTLIST square width CDATA "0">

? ? ? ? 合法的 XML:

? ? ? ? ? ? ? ? <square width="100" />

? ? ? ? ? ? ? ? //"square" 被定义为带有 CDATA 类型的 "width" 属性的空元素。如果宽度没有被设定,其默认值为0 。

?

DTD - 实体---(类似静态变量,可以直接用的固定值)

? ? ? ? 声明实体的语法:

? ? ? ? ? ? ? ? <!ENTITY 实体名称 "实体的值">

? ? ? ? DTD :

? ? ? ? ? ? ? ? <!ENTITY writer "Bill Gates">

? ? ? ? ? ? ? ? <!ENTITY copyright "Copyright W3School.com.cn">

? ? ? ? XML 例子:

? ? ? ? <author>&writer;&copyright;</author>

? ? ? ? 注释: 一个实体由三部分构成: 一个和号 (&), 一个实体名称, 以及一个分号 (;)。

?

?

DTD例子:struts2的http://struts.apache.org/dtds/struts-2.0.dtd

? ? ? ? <!ELEMENT struts (package|include|bean|constant)*> ? ? ? ?//声明可以出现*次子元素的元素

? ? ? ? <!ELEMENT bean (#PCDATA)> ? ? ? ?//声明只有 PCDATA 的元素

? ? ? ? <!ATTLIST bean

? ? ? ? ? ? type CDATA #IMPLIED ? ? ? ?//CDATA 值为字符数据 (character data) ? ? ? ? #IMPLIED可选的

? ? ? ? ? ? name CDATA #IMPLIED

? ? ? ? ? ? class CDATA #REQUIRED

? ? ? ? ? ? scope CDATA #IMPLIED

? ? ? ? ? ? static CDATA #IMPLIED

? ? ? ? ? ? optional CDATA #IMPLIED

? ? ? ? >

?

DOCTYPE 声明

? ? ? ? 内部的 DOCTYPE 声明

? ? ? ? ? ? ? ? <!DOCTYPE 根元素 [元素声明]>

? ? ? ? XML例子:

? ? ? ? ? ? ? ? <?xml version="1.0"?>

? ? ? ? ? ? ? ? <!DOCTYPE note [

? ? ? ? ? ? ? ? ? ? ? ? <!ELEMENT note (to,from,heading,body)>

? ? ? ? ? ? ? ? ? ? ? ? <!ELEMENT to ? ? ?(#PCDATA)>

? ? ? ? ? ? ? ? ? ? ? ? <!ELEMENT from ? ?(#PCDATA)>

? ? ? ? ? ? ? ? ? ? ? ? <!ELEMENT heading (#PCDATA)>

? ? ? ? ? ? ? ? ? ? ? ? <!ELEMENT body ? ?(#PCDATA)>

? ? ? ? ? ? ? ? ]>

? ? ? ? ? ? ? ? <note>

? ? ? ? ? ? ? ? ? ? ? ? <to>George</to>

? ? ? ? ? ? ? ? ? ? ? ? <from>John</from>

? ? ? ? ? ? ? ? ? ? ? ? <heading>Reminder</heading>

? ? ? ? ? ? ? ? ? ? ? ? <body>Don't forget the meeting!</body>

? ? ? ? ? ? ? ? </note>

?

? ? ? ? 外部文档声明

? ? ? ? ? ? ? ? <!DOCTYPE 根元素 SYSTEM "文件名"> ? ? ? ?//SYSTEM ? ? ? ?PUBLIC

? ? ? ? XML例子:

? ? ? ? ? ? ? ? <?xml version="1.0"?>

? ? ? ? ? ? ? ? <!DOCTYPE note SYSTEM "note.dtd"> ? ? ? ?

? ? ? ? ? ? ? ? <note>

? ? ? ? ? ? ? ? ? ? ? ? <to>George</to>

? ? ? ? ? ? ? ? ? ? ? ? <from>John</from>

? ? ? ? ? ? ? ? ? ? ? ? <heading>Reminder</heading>

? ? ? ? ? ? ? ? ? ? ? ? <body>Don't forget the meeting!</body>

? ? ? ? ? ? ? ? </note>?

? ? ? ? <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd">

热点排行