📄 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 + -