?? 0104-0000.htm
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0071)http://162.105.170.55/ASPs/GetLearningArticleTemp.asp?section=0104-0000 -->
<HTML><HEAD><TITLE>XML中國論壇 - 初學進階 - 1.4 XML實例</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=""><!-- 以下為主體內(nèi)容 -->
<div align="center">
<center>
<TABLE width="100%" border=0 style="border-collapse: collapse" bordercolor="#111111" cellpadding="0" cellspacing="0">
<TBODY>
<TR vAlign=top>
<TD vAlign=center >
<p align="center"><IMG height=33
src="image/title_learner.gif" width=226></TD></TR>
<TR vAlign=top>
<TD ><!-- 正文內(nèi)容 -->
<DIV class=pt10 ><B>1.4 XML實例</B></DIV>
<DIV></DIV><BR>
<DIV class=pt9 >
<P>哈哈,看了這么多枯燥的原理論述,你是不是已經(jīng)不耐煩了。好,現(xiàn)在就讓我們再把剛才關于客戶聯(lián)系列表的例子完整地看一遍。通過這個例子,相信你將對XML的整體機制有一個大致的了解。</P>
<P>在1.1.2節(jié),我們?yōu)槲覀兊闹脴苏Z言FCLML制定了下面的DTD:</P>
<DIV align=center>
<CENTER>
<TABLE width="80%" border=1>
<TBODY>
<TR>
<TD width="100%">fclml.dtd:<BR><?xml version="1.0"
encoding="GB2312"?><BR><BR><!ELEMENT 聯(lián)系人列表
(聯(lián)系人)*><BR><!ELEMENT 聯(lián)系人
(姓名,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)></TD></TR></TBODY></TABLE></CENTER></DIV>
<P>關于客戶聯(lián)系信息的標準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 = "no"?><BR><!DOCTYPE
聯(lián)系人列表<BR> SYSTEM
"fclml.dtd"><BR><?xml-stylesheet type="text/xsl"
href="mystyle.xsl"?><BR><BR><聯(lián)系人列表><BR>
<聯(lián)系人><BR>
<姓名>張三</姓名><BR>
<ID>001</ID><BR>
<公司>A公司</公司><BR>
<EMAIL>zhang@aaa.com</EMAIL><BR>
<電話>(010)62345678</電話><BR>
<地址><BR>
<街道>五街1234號</街道><BR>
<城市>北京市</城市><BR>
<省份>北京</省份><BR>
</地址><BR>
</聯(lián)系人><BR><BR>
<聯(lián)系人><BR>
<姓名>李四</姓名><BR>
<ID>002</ID><BR>
<公司>B公司</公司><BR>
<EMAIL>li@bbb.org</EMAIL><BR>
<電話>(021)87654321</電話><BR>
<地址><BR>
<街道>南京路9876號</街道><BR>
<城市>上海</城市><BR>
<省份>上海</省份><BR>
</地址><BR>
</聯(lián)系人><BR></聯(lián)系人列表></TD></TR></TBODY></TABLE></CENTER></DIV>
<P>可能你已經(jīng)注意到,文件的前三行在前面并沒見過。第一行稱作處理指示。以后我們還會再詳細談到處理指示和它們的屬性。現(xiàn)在,我們只須知道凡是XML文件都需要這樣一行,就象HTML文件都需要用〈HTML〉開頭一樣。第二行指定了和該XML文件相連的樣式單文件,第三行則指定了和它相連的DTD文件。</P>
<P>下面,我們需要將不同的樣式賦予各個標記,以便瀏覽器來顯示數(shù)據(jù)。象我們前面所說的,XML允許你創(chuàng)建自己的標記集,因此,你必須創(chuàng)建你自己的樣式指示,這樣,瀏覽器就可以通過這些指示來顯示它從未見過的標記下的內(nèi)容。</P>
<P>因為樣式單是獨立于數(shù)據(jù)的,同一個樣式單可以由許多XML文件共享。而且,樣式單可以用不同的樣式語言來描述,例如使用層疊式樣式單語言CSS(Cascading
Style Sheet Language),或者使用可擴展樣式語言XSL(eXtensible Style
Language)。在這個例子中我們使用XSL。</P>
<P>現(xiàn)在我們?yōu)閏lient.xml制定一個樣式單:</P>
<DIV align=center>
<CENTER>
<TABLE width="80%" border=1>
<TBODY>
<TR>
<TD width="250">mystyle.xsl<BR><?xml version="1.0"
encoding="GB2312"?><BR><xsl:stylesheet
xmlns:xsl="http://www.w3.org/TR/WD-xsl"<BR>
xmlns="http://www.w3.org/TR/REC-html40"<BR>
result-ns=""><BR><xsl:template><xsl:apply-templates/></xsl:template><BR><BR><xsl:template
match = "/"><BR>
<HTML><BR>
<HEAD><BR>
<TITLE>F公司的客戶聯(lián)系信息</TITLE><BR>
</HEAD><BR>
<BODY><BR>
<xsl:apply-templates select="聯(lián)系人列表"/><BR>
</BODY><BR>
</HTML><BR></xsl:template><BR><BR><xsl:template match
= "聯(lián)系人列表"><BR> <xsl:for-each
select="聯(lián)系人"><BR>
<UL><BR>
<LI><xsl:value-of
select="姓名"/></LI><BR>
<UL><BR>
<LI>用戶ID:<xsl:value-of
select="ID"/></LI><BR>
<LI>公司: <xsl:value-of
select="公司"/></LI><BR>
<LI>EMAIL: <xsl:value-of
select="EMAIL"/></LI><BR>
<LI>電話: <xsl:value-of
select="電話"/></LI><BR>
<LI>街道: <xsl:value-of
select="地址/街道"/></LI><BR>
<LI>城市: <xsl:value-of
select="地址/城市"/></LI><BR>
<LI>省份: <xsl:value-of
select="地址/省份"/></LI><BR>
<LI>ZIP: <xsl:value-of
select="地址/ZIP"/></LI><BR>
</UL><BR>
</UL><BR>
</xsl:for-each><BR></xsl:template><BR></xsl:stylesheet></TD></TR></TBODY></TABLE></CENTER></DIV>
<P>好了,我們已經(jīng)完成了XML和它相關的DTD、XSL文件,處理器會根據(jù)DTD來檢查XML的語法,然后再根據(jù)XSL的指示顯示這些信息。在后面,我們還會詳細地敘述處理的過程。現(xiàn)在,你只需知道這個XML文件被樣式單轉(zhuǎn)換為下面的HTML文件:</P>
<DIV align=center>
<CENTER>
<TABLE width="80%" border=1>
<TBODY>
<TR>
<TD
width="100%"><HTML><BR><HEAD><BR><TITLE>F公司的客戶聯(lián)系信息</TITLE><BR></HEAD><BR><BODY>
<P><UL><BR><LI>張三</LI><BR><UL><BR><LI>用戶ID:
001</LI><BR><LI>公司: A公司</LI><BR><LI>EMAIL:
zhang@aaa.com</LI><BR><LI>電話:
(010)62345678</LI><BR><LI>地址:
五街1234號</LI><BR><LI>城市: 北京市</LI><BR><LI>省份:
北京</LI><BR><LI>ZIP:
100001</LI><BR></UL><BR><BR><LI>李四</LI><BR><UL><BR><LI>ID:
002</LI><BR><LI>公司: B公司</LI><BR><LI>EMAIL:
li@bbb.org</LI><BR><LI>電話:
(021)87654321</LI><BR><LI>地址:
南京路9876號</LI><BR><LI>城市: 上海市</LI><BR><LI>省份:
上海</LI><BR><LI>ZIP:
200002</LI><BR></UL><BR></UL></P>
<P></BODY><BR></HTML></P></TD></TR></TBODY></TABLE></CENTER></DIV>
<P>你所看到的顯示結(jié)果,實際上同上面這個HTML文件的顯示結(jié)果是相同的。</P>
<DIV align=center>
<CENTER>
<TABLE width="80%" border=1>
<TBODY>
<TR>
<TD width="100%">
<UL>
<LI>張三
<UL>
<LI>用戶ID: 001
<LI>公司: A公司
<LI>EMAIL: zhang@aaa.com
<LI>電話: (010)62345678
<LI>地址: 五街1234號
<LI>城市: 北京市
<LI>省份: 北京
<LI>ZIP: 100001 </LI></UL>
<LI>李四
<UL>
<LI>ID: 002
<LI>公司: B公司
<LI>EMAIL: li@bbb.org
<LI>電話: (021)87654321
<LI>地址: 南京路9876號
<LI>城市: 上海市
<LI>省份: 上海
<LI>ZIP: 200002
</LI></UL></LI></UL></TD></TR></TBODY></TABLE></CENTER></DIV>
<P> </P>
<P> 有興趣的讀者可以把上面這三個文件拷在一個目錄中,然后用IE5打開文件client.xml,看看結(jié)果是不是這樣。</P>
<P>在后面的三章中,我們將分別詳細闡述有關XML文件、DTD和樣式單文件的規(guī)則。<BR></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 + -