?? 0501-0200.htm
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0071)http://162.105.170.55/ASPs/GetLearningArticleTemp.asp?section=0501-0200 -->
<HTML><HEAD><TITLE>XML中國論壇 - 初學進階 - 5.1.2 SGML標準體系框架</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=37 rowSpan=2></TD>
<TD vAlign=center >
<p align="center"><IMG height=33
src="image/title_learner.gif" width=226></TD>
<TD width=49 rowSpan=2></TD>
</TR>
<TR vAlign=top>
<TD><!-- 正文內容 -->
<DIV class=pt10><B>5.1.2 SGML標準體系框架</B></DIV>
<DIV></DIV><BR>
<DIV class=pt9>
<P>從前面可以看出,雖然XML標準本身簡單,但與XML相關的標準卻種類繁多。其實上一小節中列出的還只是XML的基礎標準,實際上還有很多用XML定義的應用標準,也是我們這一章中講述的重點。到目前為止,僅W3C制定的相關標準就有二十多個,采用XML制定的重要的電子商務標準又有十多個。這一方面說明XML確實是一種非常實用的結構化語言,并且已經得到廣泛應用;另一方面,這又為學習了解這些標準帶來一定得困難,除了標準種類繁多外,標準之間通常還互相引用,特別是應用標準,它們的制定不僅僅使用的是XML標準本身,還常常用到了其他很多標準。對某一特定的應用領域哪些標準是重要的呢?哪些標準是基礎的,被其他標準廣泛引用呢?這些標準之間的相互關系如何呢?XML標準的體系是怎樣的呢?</P>
<P>下面我們就給出XML標準體系的框架。不過由于XML脫胎于SGML,二者的體系也非常相似,所以我們不妨先占用一點篇幅說說XML的老祖宗——SGML。</P>
<P>SGML文件的組成主要有三部分,即SGML聲明、DTD和文件實例。
<UL>
<LI><STRONG>SGML聲明</STRONG>是說明DTD和文件實例所使用的語法,其中包括文件和語法元素使用的字符集、定界符和命名規則、名字字符的使用、保留名的替換、可選的特征,如是否允許標記省略或子文件出現,另外此聲明還指出系統的一些數量特征,稱為容量集,例如名字允許的最大長度。SGML這部分體現了"抽象語法"的思想,即對于不同的系統環境、民族習慣及鍵盤設置,SGML的語法是可以改變的。<BR>聲明部分在XML中被極大地簡化,許多在SGML聲明中的內容,被直接以固定的取值形式寫入XML標準之中。但這并不影響XML的靈活性與可擴展性,因為XML已經有其明確的應用對象與應用背景,而恰恰是這種簡化,大大降低了其復雜性,從而適應了WWW的應用要求。
<LI><STRONG>DTD(Document Type
Definition)</STRONG>稱文檔類型定義,與XML中的DTD一樣,主要作用是定義一類文件的結構。在DTD中說明此類文件中有哪些元素,它們之間是怎樣包含的,及出現的限制。
<LI><STRONG>文件實例</STRONG>是文件實際要表達的信息,是由文件數據內容和描述結構的置標組成。這一部分內容也就相當于XML數據文檔中的內容。
</LI></UL>
<P>下圖對SGML、HTML和XML的文件組成進行了比較:</P>
<P align=center><IMG height=241
alt="TU000000-0501-0200-01.gif (4423 bytes)"
src="image/TU000000-0501-0200-01.gif" width=461></P>
<P><BR>從上圖可以看出,SGML文件首先要進行SGML聲明,但對于只由一個系統處理的SGML文件也可隱含SGML聲明。通常,一個SGML聲明也代表著一個SGML處理系統的特征與性能。在具有相同的SGML聲明的情況下,可定義不同的DTD,每個DTD定義的是一類SGML文件實例。XML文件的XML聲明大大簡化,許多SGML聲明中的內容都已作為XML標準的一部分內容被固定下來,但XML還是有充分的靈活性定義DTD。而對于HTML來說,DTD則已經是固定的了。</P>
<P>在XML標準出現之前,SGML標準已形成完善的體系,并有許多建立于其上的應用系統與應用標準。如下圖所示,SGML標準的體系可分為三個層次:第一層次是元語言標準:SGML標準;第二層次是基礎標準,如:HyTime、DSSSL等,是該體系的基本標準;第三層次是具體的應用標準,如:Internet上已廣泛應用的HTML、VRML等標準。</P>
<P align=center><IMG height=347
alt="TU000000-0501-0200-02.gif (4641 bytes)"
src="image/TU000000-0501-0200-02.gif" width=380></P>
<P align=left>現在,再仔細地看看中間那層的基礎標準。這些基礎標準可分為三類:信息描述標準、信息表現標準和信息關聯標準。</P>
<UL>
<LI>
<P
align=left><STRONG>信息描述</STRONG>:這一類標準是與SGML標準本身直接相關的標準,如:SGML公共標識符注冊標準(ISO
9070)、SGML技術報告(ISO TR 9573)、SGML一致性測試系統標準(ISO/IEC
13673)、文檔處理APIs標準等等。</P>
<LI>
<P
align=left><STRONG>信息表現</STRONG>:這一類標準是關于組合文檔、超媒體文檔的描述與處理的標準。如:文檔處理框架與邏輯文檔格式化、多語種字體信息、信息交換與服務等等。具體標準包括:文檔樣式語義與規范語言標準DSSSL(ISO/IEC
10179)、標準頁面描述語言SPDL(ISO/IEC 10180)、字體標準Fonts (ISO/IEC 9541)、字體注冊標準Font
Registration (ISO/IEC 10036)等等。</P>
<LI>
<P
align=left><STRONG>信息關聯</STRONG>:這一類標準是關于基于SGML進行信息管理與交換的標準,如:信息的鏈接與定位、基于時間的信息管理、知識結構與索引的表示法、交互式文檔中的動作管理。具體的標準包括:超媒體/基于時間的結構化語言標準HyTime
(ISO/IEC 10744)、基于主題的地圖導航標準 (ISO/IEC
13250)、可更改交互文檔交換標準ISMID。</P></LI></UL>
<P align=left>在這些協議中,信息表現部分最重要的標準是DSSSL(Document Style Semantics and
Specification Language),信息關聯部分最重要的是HyTime(Information processing --
Hypermedia/Time-based Structuring Language (HyTime) - 2d
edition)。這兩個標準也是對XML標準體系中影響最為深刻的兩個。其中前者是一種與平臺無關的進行SGML文件處理的語言,其中主要包括轉換語言、樣式語言、表達式語言和標準文檔查詢語言(SDQL),XML相關標準中的CSS、XSL、XSLT、XPath,就有很多內容是從DSSSL中繼承過來的。后者則定義了一個元素類型的集合,以便使用者可以利用這些類型,以一種標準的方式,在已有的SGML文檔中提供超鏈及其他功能。在XML相關標準中,XPath、XPointer繼承了這方面的內容。</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 + -