?? 0301-0309.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-0309 -->
<HTML><HEAD><TITLE>XML中國論壇 - 初學進階 - 3.1.3.9 實體屬性類型與參數(shù)實體</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 width=38 rowSpan=2></TD>
<TD vAlign=center width=672><IMG height=33
src="image/title_learner.gif" width=226></TD>
<TD width=38 rowSpan=2></TD>
</TR>
<TR vAlign=top>
<TD width="672" ><!-- 正文內(nèi)容 -->
<DIV class=pt10><B>3.1.3.9 實體屬性類型與參數(shù)實體</B></DIV>
<DIV></DIV><BR>
<DIV class=pt9>
<P>在上一章中,我們介紹過實體的概念。相信你還能回憶起來,實體在XML中充當著宏或別名的角色。</P>
<P>實體最根本的作用是幫助你為一大段文本創(chuàng)建一個別名,這樣,在文件的另一個位置需要引用這段文本時,僅需要指向它的別名就可以了??上攵@樣一來,用于重新輸入這段文本的大量時間就被節(jié)約下來了。它還意味著一旦需要修改,僅需要在一個地方作改動,就完成了全局的改動。</P>
<P>我們還提到,實體分為一般實體和參數(shù)實體兩種類型,它們都可以定義為內(nèi)部的也可以用關(guān)鍵字SYSTEM定義為外部的。實體的定義必須出現(xiàn)在引用之前,而且要注意正確嵌套,不能出現(xiàn)循環(huán)引用的情況。在DTD中,這兩種類型的實體都得到了廣泛的應用。
<UL>
<LI><STRONG>實體屬性類型</STRONG> </LI></UL>
<BLOCKQUOTE>
<P>實體類型的屬性值屬于一般實體,如前所述,它的定義方式是:</P></BLOCKQUOTE>
<DIV align=center>
<CENTER>
<TABLE width="80%" border=1>
<TBODY>
<TR>
<TD width="100%"><!ENTITY 實體名
"實體內(nèi)容"></TD></TR></TBODY></TABLE></CENTER></DIV>
<BLOCKQUOTE>
<P>或利用SYSTEM定義外部實體,方式為:</P></BLOCKQUOTE>
<DIV align=center>
<CENTER>
<TABLE width="80%" border=1>
<TBODY>
<TR>
<TD width="100%"><!ENTITY 實體名 SYSTEM
"外部文件名"></TD></TR></TBODY></TABLE></CENTER></DIV>
<BLOCKQUOTE>
<P>引用方式為:</P></BLOCKQUOTE>
<DIV align=center>
<CENTER>
<TABLE width="80%" border=1>
<TBODY>
<TR>
<TD width="100%">&實體名;</TD></TR></TBODY></TABLE></CENTER></DIV>
<BLOCKQUOTE>
<P>使用關(guān)鍵字ENTITY,則聲明一個屬性是實體類型,它的取值為已定義的實體。請看下面例子:</P></BLOCKQUOTE>
<DIV align=center>
<CENTER>
<TABLE width="80%" border=1>
<TBODY>
<TR>
<TD width="100%"><?xml version = "1.0"
<BR> encoding="GB2312"
<BR> standalone =
"yes"?><BR><!DOCTYPE 文件[<BR> <!ELEMENT 文件
ANY><BR> <!ELEMENT 電影
EMPTY><BR> <!ATTLIST 電影 來源 ENTITY
#REQUIRED><BR> <!ENTITY BladeRunner SYSTEM
"dvds/BR/br.mov"><BR>
]><BR><BR><文件><BR> <電影 來源 =
"&BladeRunner;"><BR></文件></TD></TR></TBODY></TABLE></CENTER></DIV>
<UL>
<LI><STRONG>參數(shù)實體</STRONG> </LI></UL>
<BLOCKQUOTE>
<P>參數(shù)實體專門用在DTD中。定義方式是:</P></BLOCKQUOTE>
<DIV align=center>
<CENTER>
<TABLE width="80%" border=1>
<TBODY>
<TR>
<TD width="100%"><!ENTITY % 實體名
"實體內(nèi)容"></TD></TR></TBODY></TABLE></CENTER></DIV>
<BLOCKQUOTE>
<P>或:</P></BLOCKQUOTE>
<DIV align=center>
<CENTER>
<TABLE width="80%" border=1>
<TBODY>
<TR>
<TD width="100%"><!ENTITY % 實體名 SYSTEM
"外部文件名"></TD></TR></TBODY></TABLE></CENTER></DIV>
<BLOCKQUOTE>
<P>引用方式為:</P></BLOCKQUOTE>
<DIV align=center>
<CENTER>
<TABLE width="80%" border=1>
<TBODY>
<TR>
<TD width="100%">%實體名;</TD></TR></TBODY></TABLE></CENTER></DIV>
<BLOCKQUOTE>
<P>使用參數(shù)實體,可以方便元素和屬性的聲明。例如:</P></BLOCKQUOTE>
<DIV align=center>
<CENTER>
<TABLE width="80%" border=1>
<TBODY>
<TR>
<TD width="100%"><!ENTITY % TAG_NAMES "姓名 | EMAIL | 電話 |
地址"><BR><!ELEMENT 個人聯(lián)系信息 (%TAG_NAMES; |
生日)><BR><!ELEMENT 客戶聯(lián)系信息 (%TAG_NAMES; |
公司名)></TD></TR></TBODY></TABLE></CENTER></DIV>
<P>最后提醒大家注意,不要以為實體屬性類型的定義與DTD有關(guān),所以它使用的就是參數(shù)實體。參數(shù)實體只能在DTD中使用,而對于任何元素屬性值的指定(除了缺省值外),都是在XML文件正文中進行的,因此實體屬性值仍屬于一般實體。</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 + -