?? 0301-0302.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-0302 -->
<HTML><HEAD><TITLE>XML中國論壇 - 初學進階 - 3.1.3.2 屬性缺省值</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=492><IMG height=33
src="image/title_learner.gif" width=226></TD>
<TD width=51 rowSpan=2></TD>
</TR>
<TR vAlign=top>
<TD width="492" ><!-- 正文內容 -->
<DIV class=pt10><B>3.1.3.2 屬性缺省值</B></DIV>
<DIV></DIV><BR>
<DIV class=pt9>
<P>根據XML文件是否必須為一個屬性提供取值,屬性的缺省值又可以分為以下三類:
<UL>
<LI><STRONG>必須賦值的屬性</STRONG><BR>關鍵字<STRONG>REQUIRED</STRONG>說明XML文件中必須為這個屬性給出一個屬性值。例如,假設你想定義一個"頁面作者"元素,并把這個元素加入所有網站中的每一個頁面。之所以定義這個元素,是為了頁面編輯者能夠提供他的聯系信息,以便當發現頁面錯誤或無效鏈接時,可以及時地通知他。在這種情況下,每個頁面作者都有不同的個人信息,所以你無法事先知道應該用什么作為缺省值,但你又的確需要提供每個人的信息。這時候,你就可以把與聯系信息相關的屬性定義為必須的(REQUIRED),而且不用提供缺省值。
<LI><STRONG>屬性值可有可無的屬性</STRONG><BR>當使用<STRONG>IMPLIED</STRONG>關鍵字時,文法解釋器不再強行要求你在XML文件中給該屬性賦值,而且也無須在DTD中為該屬性提供缺省值。可以說,這是對屬性值有無的最低要求,現實中經常用到。
<LI><STRONG>固定取值的屬性</STRONG><BR>還有一種特殊情況,你需要為一個特定的屬性提供一個缺省值,并且不希望XML文件的編寫者把你的缺省值替代掉。這時候,就應該使用FIXED關鍵字,同時為該屬性提供一個缺省值。
<LI><STRONG>定義缺省值的屬性</STRONG><BR>如果不使用上面任何一種關鍵字的話,該種屬性就是屬于這種類型。對于這種屬性,你需要在DTD中為它提供一個缺省值。而在XML文件中可以為該屬性給出新的屬性值來覆蓋事先定義的缺省值,也可以不另外給出屬性值,后一種情況下它就默認為采用DTD中給出的缺省值。
</LI></UL>
<P>至于究竟采用哪種缺省值,就看實際需要了。下面給出一個具體的例子:</P>
<DIV align=center>
<CENTER>
<TABLE width="80%" border=1>
<TBODY>
<TR>
<TD width="100%"><!ATTLIST 頁面作者
<BR> 姓名 #CDATA #IMPLIED
<BR> 年齡 #CDATA #IMPLIED
<BR> 聯系信息 #CDATA #REQUIRED
<BR> 網站職務 #CDATA #FIXED
"頁面作者" <BR> 個人愛好 #CDATA
"上網"></TD></TR></TBODY></TABLE></CENTER></DIV></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 + -