?? 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 + -