?? 0704-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=0704-0000 -->
<HTML><HEAD><TITLE>XML中國論壇 - 初學進階 - 7.4 XML Base</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=40 rowSpan=2></TD>
<TD vAlign=center >
<p align="center"><IMG height=33
src="image/title_learner.gif" width=226></TD>
<TD width=36 rowSpan=2></TD>
</TR>
<TR vAlign=top>
<TD><!-- 正文內容 -->
<DIV class=pt10><B>7.4 XML Base</B></DIV>
<DIV></DIV><BR>
<DIV class=pt9>
<P>在HTML鏈接中,當指定鏈接的相對路徑時,基礎路徑一般是當前路徑,但人們可以用BASE元素顯式指定相對路徑的基路徑,在進行路徑解析時,瀏覽器將BASE指定的路徑與相對路徑連接起來,形成資源的絕對路徑。例如:</P>
<DIV align=center>
<CENTER>
<TABLE width="80%" border=1>
<TBODY>
<TR>
<TD width="100%">……<BR><BASE href =
"http://www.htmllink.com/"><BR>……<BR><A href =
"student.htm">Student
List</A><BR>……</TD></TR></TBODY></TABLE></CENTER></DIV>
<P>當鏈接Student List激活時,將顯示資源"http://www.htmllink.com/student.htm"。</P>
<P>在XML鏈接中,可以發現實現相同的功能的類似機制,這就是XML Base,簡稱為XBase。但是XML
Base不僅限于XML鏈接領域,它還可以用于指定相對URI的其他應用。</P>
<P>XML
Base的指定是通過元素的xml:base屬性指定的,前綴xml是用于表示命名空間http://www.w3.org/XML/1998/namespace,類似地,可以用其他前綴代替該命名空間,但考慮到文檔的可讀性,不提倡這樣做。XML
Base的作用范圍是包括其所有后代節點的整個元素,除非在后代元素指定了新的XML Base。</P>
<P>作為一個有效的(validated)XML文件,xml:base屬性應該在DTD中聲明。下面是一個可能的DTD聲明。</P>
<DIV align=center>
<CENTER>
<TABLE width="80%" border=1>
<TBODY>
<TR>
<TD width="100%"><!ELEMENT BOOK ANY><BR><!ATTLIST BOOK
xml:base CDATA #IMPLIED……></TD></TR></TBODY></TABLE></CENTER></DIV>
<P>下面是一個利用上面的DTD定義的元素實例。</P>
<DIV align=center>
<CENTER>
<TABLE width="80%" border=1>
<TBODY>
<TR>
<TD width="100%"><BOOK xml:base =
"http://www.xml.net.cn/book/"><BR>XML初學進階<BR>……<BR><CHAPTERxml:base
=
"http://www.xml.net.cn/book/chapters/"><BR>……</CHAPTER><BR>……<BR></BOOK></TD></TR></TBODY></TABLE></CENTER></DIV>
<P>在上面的例子中,BOOK元素內的CHAPTER子元素的XML
Base是"http://www.xml.net.cn/book/chapters/",而在BOOK元素的其他地方,無論是CHAPTER元素前后,XML
Base仍然是"http://www.xml.net.cn/book/"。此時BOOK元素的xml:base作用范圍出現了一個洞,這與許多程序設計語言中非局部變量的作用范圍是一致的。<BR><BR>由于xml:base是作為元素的屬性存在的,作用范圍是整個元素,而一個格式良好的XML文件的元素不能交叉,因此xml:base的作用范圍也不會出現交叉。<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 + -