📄 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=""><!-- 以下为主体内容 -->
<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 ><!-- 正文内容 -->
<DIV class=pt10 ><B>1.4 XML实例</B></DIV>
<DIV></DIV><BR>
<DIV class=pt9 >
<P>哈哈,看了这么多枯燥的原理论述,你是不是已经不耐烦了。好,现在就让我们再把刚才关于客户联系列表的例子完整地看一遍。通过这个例子,相信你将对XML的整体机制有一个大致的了解。</P>
<P>在1.1.2节,我们为我们的置标语言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 联系人列表
(联系人)*><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)></TD></TR></TBODY></TABLE></CENTER></DIV>
<P>关于客户联系信息的标准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
联系人列表<BR> SYSTEM
"fclml.dtd"><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文件都需要这样一行,就象HTML文件都需要用〈HTML〉开头一样。第二行指定了和该XML文件相连的样式单文件,第三行则指定了和它相连的DTD文件。</P>
<P>下面,我们需要将不同的样式赋予各个标记,以便浏览器来显示数据。象我们前面所说的,XML允许你创建自己的标记集,因此,你必须创建你自己的样式指示,这样,浏览器就可以通过这些指示来显示它从未见过的标记下的内容。</P>
<P>因为样式单是独立于数据的,同一个样式单可以由许多XML文件共享。而且,样式单可以用不同的样式语言来描述,例如使用层叠式样式单语言CSS(Cascading
Style Sheet Language),或者使用可扩展样式语言XSL(eXtensible Style
Language)。在这个例子中我们使用XSL。</P>
<P>现在我们为client.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公司的客户联系信息</TITLE><BR>
</HEAD><BR>
<BODY><BR>
<xsl:apply-templates select="联系人列表"/><BR>
</BODY><BR>
</HTML><BR></xsl:template><BR><BR><xsl:template match
= "联系人列表"><BR> <xsl:for-each
select="联系人"><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>好了,我们已经完成了XML和它相关的DTD、XSL文件,处理器会根据DTD来检查XML的语法,然后再根据XSL的指示显示这些信息。在后面,我们还会详细地叙述处理的过程。现在,你只需知道这个XML文件被样式单转换为下面的HTML文件:</P>
<DIV align=center>
<CENTER>
<TABLE width="80%" border=1>
<TBODY>
<TR>
<TD
width="100%"><HTML><BR><HEAD><BR><TITLE>F公司的客户联系信息</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>你所看到的显示结果,实际上同上面这个HTML文件的显示结果是相同的。</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,看看结果是不是这样。</P>
<P>在后面的三章中,我们将分别详细阐述有关XML文件、DTD和样式单文件的规则。<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 + -