📄 0301-0102.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0071)http://162.105.170.55/ASPs/GetLearningArticleTemp.asp?section=0301-0102 -->
<HTML><HEAD><TITLE>XML中国论坛 - 初学进阶 - 3.1.1.2 内部DTD</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<STYLE type=text/css>TABLE {
FONT-SIZE: 9pt; COLOR: black; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋体"
}
.pt9 {
FONT-SIZE: 9pt; COLOR: black; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋体"
}
.pt10 {
FONT-WEIGHT: 700; FONT-SIZE: 10pt; LINE-HEIGHT: 18pt; FONT-FAMILY: "宋体"
}
.TempOutline {
FONT-SIZE: 9pt; MARGIN-LEFT: 15pt; COLOR: #666666; TEXT-INDENT: -28pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋体"; TEXT-DECORATION: none
}
.TempOutline1 {
FONT-SIZE: 9pt; MARGIN-LEFT: 24pt; COLOR: #666666; TEXT-INDENT: -36pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋体"; TEXT-DECORATION: none
}
.Outline {
FONT-SIZE: 9pt; MARGIN-LEFT: 15pt; TEXT-INDENT: -28pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋体"; TEXT-DECORATION: none
}
.Outline1 {
FONT-SIZE: 9pt; MARGIN-LEFT: 24pt; TEXT-INDENT: -36pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋体"; TEXT-DECORATION: none
}
.Outline11 {
FONT-SIZE: 9pt; MARGIN-LEFT: 38pt; TEXT-INDENT: -50pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋体"; TEXT-DECORATION: none
}
.passage0 {
FONT-SIZE: 9pt; MARGIN-LEFT: 15pt; TEXT-INDENT: -28pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋体"; TEXT-DECORATION: none
}
.passage1 {
FONT-SIZE: 9pt; MARGIN-LEFT: 24pt; TEXT-INDENT: -36pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋体"; TEXT-DECORATION: none
}
.passage11 {
FONT-SIZE: 9pt; MARGIN-LEFT: 38pt; TEXT-INDENT: -50pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋体"; TEXT-DECORATION: none
}
.passage111 {
FONT-SIZE: 9pt; MARGIN-LEFT: 51pt; TEXT-INDENT: -64pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋体"; TEXT-DECORATION: none
}
</STYLE>
<META content="Microsoft FrontPage 5.0" name=GENERATOR></HEAD>
<BODY vLink=#000000 aLink=#000000 link=#000000 leftMargin=0 topMargin=0
onload=""><!-- 以下为主体内容 -->
<div align="center">
<center>
<TABLE width="100%" border=0 style="border-collapse: collapse" bordercolor="#111111" cellpadding="0" cellspacing="0">
<TBODY>
<TR vAlign=top>
<TD width=43 rowSpan=2></TD>
<TD vAlign=center width=665>
<p align="center"><IMG height=33
src="image/title_learner.gif" width=226></TD>
<TD width=40 rowSpan=2></TD>
</TR>
<TR vAlign=top>
<TD width="665" ><!-- 正文内容 -->
<DIV class=pt10><B>3.1.1.2 内部DTD</B></DIV>
<DIV></DIV><BR>
<DIV class=pt9>
<P>在正式学习DTD的定义方法之前,我们先来看一下定义应该放在文件的什么地方。</P>
<P>正如我们前面所提到的,所有的文件都是由序言和文件体构成的。序言中包含了XML声明,而文件体中则是具体的数据信息,还可以含有一些处理指示。实际上,我们在前面隐掉了重要的一点:在序言中还可以包含DTD定义。</P>
<P>最简单的使用DTD的方法是在XML文件的序言部分加入一个DTD描述,加入的位置是紧接在XML处理指示之后。一个包含DTD的XML文件的结构为:</P>
<DIV align=center>
<CENTER>
<TABLE width="80%" border=1>
<TBODY>
<TR>
<TD width="100%"><?xml version = "1.0" encoding="GB2312"
standalone = "yes"?><BR><!DOCTYPE 根元素名[<BR>
元素描述<BR>
]><BR>文件体.......</TD></TR></TBODY></TABLE></CENTER></DIV>
<P>这样,我们就定义了一个文件,它以DOCTYPE中规定的根元素名作为其根元素的名字。</P>
<P>回忆一下,在第一章中我们曾经举过一个包含客户联系方式信息的XML文件。在这个例子中,我们可以在序言中如下加入DTD定义:</P>
<DIV align=center>
<CENTER>
<TABLE width="80%" border=1>
<TBODY>
<TR>
<TD width="100%"><?xml version = "1.0" encoding="GB2312"
standalone = "yes"?><BR><!DOCTYPE 联系人列表[<BR>
元素描述<BR> ]></TD></TR></TBODY></TABLE></CENTER></DIV>
<P><BR>一个完整的XML文件为:</P>
<DIV align=center>
<CENTER>
<TABLE width="80%" border=1>
<TBODY>
<TR>
<TD width="100%">client.xml<BR><?xml version = "1.0"
encoding="GB2312" standalone = "yes"?><BR><!DOCTYPE
联系人列表[<BR> <!ELEMENT
联系人列表 (联系人)*><BR>
<!ELEMENT 联系人
(姓名,ID,公司,EMAIL,电话,地址)><BR>
<!ELEMENT 地址
(街道,城市,省份)><BR>
<!ELEMENT 姓名
(#PCDATA)><BR>
<!ELEMENT ID
(#PCDATA)><BR>
<!ELEMENT 公司
(#PCDATA)><BR>
<!ELEMENT EMAIL
(#PCDATA)><BR>
<!ELEMENT 电话
(#PCDATA)><BR>
<!ELEMENT 街道
(#PCDATA)><BR>
<!ELEMENT 城市
(#PCDATA)><BR>
<!ELEMENT 省份 (#PCDATA)><BR>
]><BR><?xml-stylesheet type="text/xsl"
href="mystyle.xsl"?><BR><BR><联系人列表><BR>
<联系人><BR>
<姓名>张三</姓名><BR>
<ID>001</ID><BR>
<公司>A公司</公司><BR>
<EMAIL>zhang@aaa.com</EMAIL><BR>
<电话>(010)62345678</电话><BR>
<地址><BR>
<街道>五街1234号</街道><BR>
<城市>北京市</城市><BR>
<省份>北京</省份><BR> </地址><BR>
</联系人><BR><BR> <联系人><BR>
<姓名>李四</姓名><BR>
<ID>002</ID><BR>
<公司>B公司</公司><BR>
<EMAIL>li@bbb.org</EMAIL><BR>
<电话>(021)87654321</电话><BR>
<地址><BR>
<街道>南京路9876号</街道><BR>
<城市>上海市</城市><BR>
<省份>上海</省份><BR> </地址><BR>
</联系人><BR></联系人列表></TD></TR></TBODY></TABLE></CENTER></DIV>
<P>不过,如果为每一个XML文件加入一段DTD定义,是相当繁琐的。而且,更多的情况下,我们会为一批XML文件定义一个相同的DTD。例如,对于报社中的每篇稿件,它们都有相同的格式,可以采用一个统一的DTD,为每一篇单独定义既麻烦,又不利于统一格式。好在XML规范为我们提供了解决这个问题的方法,它就是外部DTD。</P></DIV>
<P></P>
<P></P></TD></TR></TBODY></TABLE>
</center>
</div>
<P></P>
<P>
<P></P></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -