您的位置:标准吧 > 标准下载 > GB T 17478 2004 低厘直流电源设备的性能特性8 L

GB T 17478 2004 低厘直流电源设备的性能特性8 L

时间:2012-5-28 14:42:50 作者:标准吧 来源:GB 阅读:1889次
GB T 17478 2004 低厘直流电源设备的性能特性8 L
 

 对于每个可由系统分析的具体语法,都要象在SGML声明中一样,说明具体语法参数。如果对于某个具体语法,系统是支持便捷引用的,则必须有一个指定的具体语法是基准具体语法。若对于所有的具体语法,系统都不支持便捷引用,则必须有一个指定的具体语法是核心具体语法。

15.6.1.1  具体语法变化

    本参数描述的是可以由系统作语法分析的具体语法,这些具体语法是通过对说明的具体语法作少许修改得到的。其中的关键字定义了允许的变化性质和范围.

    [202]具体语法变化=“CHANGES”,参数分隔符+,(“SWITCHES”l(“DELIMLEN”,参数分隔符+,数,参数分隔符+,“SEQUENCE”,参数分隔符+,(“YES”I“NO”),参数分隔符+,“srcNT”,参数分隔符+.数,“SRLEN”,参数分隔符+.数))

其中:

SWITCHES      表示使用SGML声明中的“SWITCHS”参数说明的变化是允许的.

DELIMLEN   表示可将其字符个数不超过说明的数(一个或多个)的新串,赋予通用定界符角色。

SEQUENCEL   指出是否可以在便捷引用定界符中使用空白序列.如允许,将它看成是字符长度为1的串。

srcNT     表示只要它不超过说明的数(O个或多个),就可以赋予一个不同的便捷引

用串集。

SRLEN     表示任何新的便捷引用串中的字符数都不能超过说明的数(1个或多个).

15.6.2  合法性保障

    合法性保障参数说明系统中是否有合法的SGML语言分析器,如有.则说明它提供哪些合法性保障。

    [203]合法性保障=“VALIDATE”,参数分隔符+,“GENERAL”,参数分隔符+.(“NO”|“YES”),参数分隔符+,“MODEL”,参数分隔符+,(“NO”|“YES”).参数分隔符+,“EXCLUDE”,参数分隔符+,(“NO”|“YES”),参数分隔符+,“CAPACITY”,参数分隔符+,(“NO”I“YES”),参数分隔符+,“NONSGML”,参数分隔符+.(“NO”I“YES”),参数分隔符+,“SGML”,参数分隔符+,(。NO”}“YES”),参数分隔符+,“FORMAL”,参数分隔符+.(“NO”|“YES”)

其中:

NO          表示不提供本保障。

YES         表示提供本保障.

GENERAL     表示将查找并通报可通报的置标错误。

MODEL       表示将通报有歧义性的内容模型。

EXCLUDE     表示将通报模型中能够改变记号的必须的或可选状态的例外参数。

CAPACITY    表示将通报超过容量限制的情况.

NONSGML     表示将通报至少出现一个非SGML字符,但是没有必要通报所有非SGML

            字符的出现。

SGML        表示将通报SGML声明中的错误。

FORMAL      表示将通报形式公用标识符错误。

15.6.3 SDIF支持

    SDIF支持参数说明系统是否可以用国际标准IS0 9069中定义的SGML文件交换格式(SDIF)来进行文件的交换。

    [204]SDIF支持= “SDIF”,参数分隔符+,“PACK”,参数分隔符+,(“N0”|(“YES”,(参数分隔符+,“ASN1”)?)),参数分隔符+,"UNPACK”,参数分隔符+,(“N0”|(“YES”,(参数分隔符+.“ASN1”)?))

其中:

PACK         该功能可以从一个或多个实体创建一个SDIF数据流。

UNPACK       该功能可以将一个SDIF数据流分解成构成它的那些实体。

NO           表示不支持所说明的SDIF功能。

YES          表示支持所说明的SDIF功能。

ASN1         表示所说明的SDIF功能支持根据IS0 8825中说明的ASN.1基本编码规则进行编码的SDIF数据流。

附录A

通用置标介绍

(参考件)

A1  置标过程

    正文处理和字处理系统往往需要在所处理的文件的正文中插入一些附加的信息。这些附加信息,被称为“置标”,起如下两个作用:

    a.  分隔文件的逻辑元素,以及

    b.  确定对这些元素所要完成的处理功能。

    在排版格式相当复杂的系统中,置标通常是直接由经过专门训练的用户完成。而字处理器的格式化程序往往只有较少的功能,它的置标是用户使用时无意识产生的,这样的置标比复杂排版系统中的置标功能要少许多。随着打印机功能的增强和费用的降低,办公室工作站必将提供更强功能的排版系统,只有一小部分办公室字处理才有可能采取“无意识”置标。

    因此,必须着重考虑拥有强功能系统的用户如何对文件置标。置标过程可由以下三个步骤构成(可

能用户没有明确地意识到这一点):

    a.  首先,用户对文件的信息结构和其他属性进行分析,即标识出每个有意义的独立元素,并将其刻划为段、标题、顺序表、脚注或其他某些元素类型;

    b.  接着,用户再根据记忆或格式手册,确定用于产生这种类型元素所需格式的处理指令(“控制”);

    c.  最后,用户将选中的控制信息插入正文。

    下面,使用一种典型的正文处理格式化语言,对本文开头部分进行置标:

    .OF2

    正文处理和字处理系统往往需要在所处理的文件的正文中插入一些附加的信息。这些附加信息,称为“置标”,起如下两个作用:

    .TB4

    .OF4

    .SK1

    a.分隔文件的逻辑元素;以及

    .OF4

    .SK1

    b.确定对这些元素所要完成的处理功能。

    .OF2

    .SK1

    控制.SK、.TB以及.OF分别起空行、设定制表符以及留空作用。(可用非符号“一”表示制表符代码,使原本不可见的制表符可见。)

    然而,类似这样的过程化置标存在许多缺点。首先,它通常将失去有关文件属性的信息。例如,当格式化时,如果用户要将标题和插图注释都居中,那么“居中”控制信息无法指出它所作的正文到底是标题还是插图注释.因而,如果用户要检索该文件的信息,查询程序就不能将标题——而它在信息内容中是有重要意义的——从其他被居中的正文中区分出来。

    过程化置标还缺少灵活性。假如用户要改变文件的式样(或许是因为他要使用另一种输出设备).他必须重复一遍置标过程,以反映这些变化.这带来许多不便。例如,他无法在廉价的计算机打印机上产生草稿副本的同时,又在昂贵的光电照排机上获得高质量的最终副本。并且t如果用户希望他文件的排版价格有竞争力,他将局限于使用某一特定文件处理系统,否则就要付出重复置标的代价。

    此外,使用控制字的置标既费时又容易出错,而且需要训练高水准的操作员,特别是排版格式复杂时,更是如此。甚至在系统中允许定义过程(“宏”)时也这样(虽然少一些),这是由于必须将自定义的过程加入基本控制词汇表中。例如,精巧而功能强大的、被广泛用于数学公式排版的TeX系统,就至少实现了大约300个基本控制和宏。

    本标准所述的通用置标,避免了过程性置标的上述缺点,因为它并不把文件局限于某个单一应用、某种格式化式样或处理系统。通用置标以下面两个新的前提为基础:

    a.  麓标应描述文件的结构及其他属性,而不是确定要在它上面完成的特定处理。这样,只要作一次描述性置标就可满足以后的全部处理}

    b.  置标应当是严格的,这样用于处理诸如程序和数据库这类严格定义对象的技术也可用于处理文件。

A2  描述性置标

    使用通用置标,置标过程只停留在第一步;用户标出文件的每个有意义的元素,并标上他觉得最能反映该元素特征的助记名<“通用标识符”)。处理系统用一种所希望的简短方式将该标记与处理指令对应。

    制定本标准的工作组已经开发了一个称为标准通用置标语言(SGML)的通用置标的表示方法。

    采用SGML对本文开头部分进行置标的结果可以是:

    <p>

    文件处理和字处理系统往往需要在所处理的文件的正文中插入一些附加的信息。这些附加信息,被称为<q>置标</q>,起如下两个作用;

    <ol>

    <li>分隔文件的逻辑元素;以及

    <li>确定对这些元素所要完成的处理功能。

    </ol>

    对于每个通用标识符(GI),处在元素开头的,用小于号(<)定界I处在元素结尾的,用小于号和斜杠(</)定界。用大于号(>)将GI与跟在其后的正文分隔”。记忆符P,Q,OL和LI分别表示元索类型;段、引文、顺序列表和表项。GI与其定界符的组合,按照它标识的是元素的起始还是结束,分别称为“开始标记”或“结束标记”。

    上例有以下特点:

    a.  正文中没有引号。用对引文元素的处理来生成这些引号,如果输出设备允许,还可区分开引号与闭引号;

    b.  跟在引文元素后面的逗号实际上并不是该引文的内容,这里,在格式化时把它置于引号之外,但如果喜欢把它放置在引文中,也很容易办到;

    c.  顺序列表的表项没有加排序编号I排序编号是在格式化时产生的。

    换句话说,源正文中只含有信息I而只是用于增强表达性的字符都是在处理期间生成的。

    正如前提所说,这种描述性置标适用于所有的处理,因此必然使文件的处理成为其属性的一个功能.正文的组成方法直观上与这一论点相符.在新的一页上开始排新的一章,把要强调的句子排成不同字体,以及把列表排成缩进形式等,这些技术就是通过强调文件及其元素的结构属性来帮助读者理解文件的内容,

    从上述分析出发,可以构造出一个文件处理的“三阶段模型”:

    a.  识别:识别出文件的属性。如识别出带有通用标识符“脚注”的元素1

    b. 映射:将属性与处理功能对应。例如,可以将Gl脚注与页末排脚注的过程对应-或与在章末汇集脚注的过程对应;

    c. 处理;执行选定的处理功能。

  正文格式化程序符合这一模型。它们识别诸如字和语句这样的元素,并将空格和标点符号解释成隐含的置标。映射通常是通过一个分支表实现的。对文字的典型处理是确定其宽度并测试当前行的剩余部分是否可以放下}对语句的处理则可能是在语句之间插空行2]。

    对于象字和语句这样的低层元素,用户对其处理通常只给出极少量的控制信息,而对它们的识别则几乎不加控制。某些格式化程序对于类似段这样的较高级元素提供了更多的灵活性。那些有较强的宏指令语言的格式化程序足以支持描述性置标。就文件处理模型而言,描述性置标的优点在于它允许用户去定义格式化程序还不认识的属性及元素类型,还允许用户确定对它们的处理。

    例如,刚才所描述的SGML样本除了含有较为普通的“段”元素外,还包括元素类型“顺序列表”和“列表项”。对于这类元素的自动识别和处理是不大可能的,每个这样的元素都要根据其显式的置标来识别,然后再映射到与其相对应的、运行特定处理的过程上。该过程本身以及与GI的联系都以系统的宏指令语言来表达。当其他处理程序运行时,或在同一运行的不同时间,对应关系都可能改变。例如,在一本书的正文中列表项可用数字编号,而在附录中列表项则可用字母编号。

    至此,我们的讨论仅涉及到一个属性,即通用标识符,它的值刻划了元素的语义作用或目的a某些描述性置标模式称置标为“通用编码”,因为GI是这些描述性置标模式识别的唯一属性。在通用编码模式中,只需把GI作为控制过程的名字,就可将识别、映射、以及处理一起完成。这样就可以通过调用不同集合的同类过程而从同一置标获得不同的格式。这种方法是很有效的,它足以使著名的SCRIBE系统的实现能够完全不用过程性置标。

    虽然在实际使用中,通用编码对过程性置标有了相当大的改进,但它在概念上却是不足的。文件是复杂的对象,它们具有许多属性,置标语言必须都能描述。例如,假定用户想要在文件中包含称为“插图”类型的元素,并且每个插图有一个单独名字,那么,一个称为“angelfig”的插图元素的鼍标就可用如下开始标记开始:

    <fig id= angelfig>

    这里“fig”代表“插图”,即通用标识符属性的值。具有相同作用的元素汇集成元素集合,通用标识符GI的作用是将元素标识为元素集合的一个成员。“唯一标识符”(ID)与GI不同t它将该元素与其他所有元素,甚至那些与该元素有相同GI属性的元素相区别(因为在SGML中总是将元素置标的第一个片段理解成一个GI的值,所以不必象写“ID= angelfig”那样写上“GI= fig”)。

    因为每个元素都可以具有GI和ID属性,所以称它们为“首要”属性。此外,还存在只是某些元素类型才有的“次要”属性。例如,如果用户想要在其文本中放置湎家绘制的插图并输出,那么他可以定义元素类型。artwo,k”。外部生成的artwork的尺寸是必须知道的,所以他可定义artwork元素有次要属性“depth””。高度为10 cm的artwork元素,用以下开始标记:

    <artwork depth =10 cm>

    插图元素的甓标还应描述元素的内容。“内容”是用元素的次要属性描述中的一个首要属性.内容由其他元素组成,而每一个这样的元素的内容又可含有其他元素,如此往下,直到无法再进一步分解为止4]。SGML与通用编码模式的一个不同之处就在于SGML为处理这种层次结构提供了概念上和表示上的工具。这些都是基于通用置标的第二个前提,即置标是严格的。

    注:1)此处这些字符正好没在正文中使用,SGML允许重新选用定界符。

        2)此模型不必反映到程序结构中,例如可将文字的处理放入识别程序的循环中,以提高性能.

        3)“Depth=”并不简单地等价于空行,整页排版程序可以在页面上留空,而只作长条校样的程序则打印出信息,用以告诉制版人员在何处留空.检索程序则只对插图作简单的索引而完全不管其高度。

        4)文件和元素几乎可以交换称呼;简单地说,文件就是在一个给定处理的执行中位于层次结构景顶层的元素。例如,一份技术报告既可以将它自身作为一个文件进行格式化,也可作为一本杂志中的一个元素格式化.

A3  严格的置标

    假设插图“angelfig”由插图体和插图注释两个元素构成。插图体中有artwork元素,插图注释的内容是不含显式置标的正文字符,则可以对该插图作如下置标1]:

    <fig  id =angelfig>

    <figbody>

    <artwork depth=10 cm>

    </artwork>

    </figbody>

    <figcap>三个天使在跳舞

    </figcap>

    </fig>

    置标以传统的从左到右顺序标识每个元素的开始和结束,它严格地表示了元素间的层次关系。解释这种层次结构不需要任何附加信息,并且借助前面讨论过的简单宏调用模式的支持就可以实现这一结构。但是,这种简单性是以每个元素都必须含结束标记为代价的。

    要求用户输入所有的标记,是完全无法接受的。例如,用户知道一段的开始就是上一段的结束,而系统如果不知道的话,用户只得为每段输入结束标记,这会使人感到麻烦和浪费。对于出现得非常频繁的其他元素类型,也会产生与上面相同的强烈感觉.

    SGML可以把用户定义的元素类型的结构和属性通知给系统,从而省略大量置标.用户使用一种称为“元素声明”的语言结构,建立“文件类型定义”,以完成对系统的通知。文件中的置标由各元素的描述构成,而文件类型定义则对一类元素定义了所有可能的合法置标的集合。

    元素声明中有对元素中允许出现的内容的描述,通常用正则表达式记法的变体表示.例如,假定用户扩充了“插图”元素的定义,允许插图体中能同时包含artwork和正文类元素,则该元素声明如下2]:

    <!——       ELEMENTS    MIN    CONTENT (EXCEPTIONS)-一>

    <!ELEMENT    fig         ——    (figbody,figcap?>

    <!ELEMENT    figbody     -0    (artworkl(plollul)+>

    <! ELEMENT    artwork    O   EMPTY>

    <! ELEMENT    figcap     O    (#PCDATA)*>

    第一个声明表示“插图”中含有一个“插图体”,以及一个可选的跟在“插图体”之后的“插图注释”(其中“一”将在后面解释)。

    第二个声明表示“插图体”中可以含有一个artwork元素,也可以含有“段”、“顺序列表”及“无序列表”的混合集。置标最简化域“MIN”中的“0”指出,当跟在“插图体”后面的元素的开始标记隐含了这一“插图体”的结束标记,且不产生歧义时,可以将此结束标记省略。“O”前面的“一”表明开始标记不能省略。

    由于插图由外部生成,然后送入系统,所以在“artwork”元素的声明中它的内容定义为空.内容为空的元素的置标不必有结束标记。

    最后的一个声明将插图注释的内容定义为o个或多个字符。字符是终结符,不能进一步分解。“MIN”域中的“O”指出插图注释的结束标记可以省略。除了已经给出过的理由外,当含有该插图注释的元素的结束标记无歧义地隐含了插图注释的结束标记时,也可以将插图注释的结束标记省略。

    这里需要假设p,ol以及ul元素已在其他元素声明中定义过。

    有了上述“插图”元素的形式定义,下述对“angelfig”元素的置标就可以接受了:

    <fig id =angelfig>

    <figbody>

    <artwork depth =10 cm>

    <{igcap>三个天使在跳舞

    </fig>

    由于其中三个元素不需要结束标记,所以置标量减少了40%。

    一一由于声明中将“插图注释”定义为插图内容的一部分,所以插图的终止将自动终止插图注释。

    ——由于插图注释本身与插图体处在同一层次,所以开始标记<figcap>隐含着“插图体”的终止。

    ——由于“artwork”元素声明将artwork的内容定义为空,所以artwork元素是自我终止的”。

    文件类型定义还为每一个具有属性的元素备有一个“属性定义表声明”。定义中包括了属性可能取的值,以及当属性是可选的或其值在文件未规定时的缺省值。

    以下分别是“插图”和“artwork”元素的属性定义表声明:

    <! ——       ELEMENTS    NAME    VAI.UE    DEFAULT - ->

    <! ATTLIST    fig         id      ID        #IMPLIED>

    <l ATTLIST    artwork     depth   CDATA     #REQUIRED>

    插图元素的声明指出插图可有一个ID属性,其值必须是一个唯一的标识符名。该属性是可选的并且在未确定时没有缺省值。

    反之,artwork元素的“depth(高度)”属性是必须有的,其值可以是任何字符串。

    文件类型定义除了用于置标最简化外,还具有其他用途。比如可用于在文件处理前对文件中的援标作合法性检查,也可用于为不熟悉文件类型的用户生成提示性对话。例如.文件输入应用程序可以读入插图元素的描述,并针对每个元素类型调用相应过程。这些过程将消息发送到终端上以提示用户输入“插图元素”ID、“artwork”元素的“高度”以及“插图注释”元素的正文。这些过程还可将置标本身输入到正在建立的文件中。

    文件类型定义使得SGML能将用户的正文输入工作量减少到最少t而且不需要依赖于某个“灵巧的”编辑程序或字处理程序。因为它能被很多使用脱机键盘的人所理解和修改,所以它最大程度地增加了文件的可移植性。因而’,类型定义与置过标的文件一起构成的严格描述的文件可以满足机器处理的需要。

    注:1)象“Gl=”一样,“content -”也可省略,因为若内容是在外部生成的,则不必把内容写在置标中;若内容只由标记过的元素组成,则不用加上。Content=”也很明显是内容,对于由数据字符组成的内容.终止开始标记的定界符(>)隐含了“content=”.

        2)问号(?)表示元素是可选的,逗号(,)表示出现在前面元素之后,星号(*)表示元素可出现1次或多次.加号(+)表示元素必须出现1次或多次.竖线(|)用来分隔可选项.如同在数学公式中那样,圆括号用以分组。

        3)实际上,SGML允许更进一步地减少置标量。

A4  结论

    通用置标既有实际价值也有学术价值。在出版环境中,它减少了置标的费用,缩短了书籍的出版时间,从正文数据库中获得了最大的灵活性。在办公环境中,它使得文件可以在不同类型的具有不同功能的字处理器之间交换使用,并使得文件和文件中诸元素的查询变得十分容易。

    同时,SGML的严格的描述性置标使得文件更加适合于计算机分析。过程性鬣标(或根本没有置标)把文件作为没有任何形式的字符串,其形式只能从分析文件含意中得出,与此相反,通用段标则将文件归约成一种已知语法的正则表达式。这使得计算机语法学和编译程序设计中已经建立起来的技术,可以用到自然语言处理以及其他文件处理的应用中。

附录B

基本概念

(参考件)

  本附录说明标准通用置标语言(SGML)的一些基本概念。在阅读之前,读者应先参考附录A(参考件)以便对通用编码和通用置标有初步了解。

    注:本附录既没有概括SGML的全部基本结构,也没有概括提到的基本结构的全部细节,而且为了给出比较清晰的概貌而常常忽略细微之处.

Bl  文件、文件类型定义、过程

    文件、文件类型定义和过程之间的关系构成了通用置标的基本概念。

B1.1  文件

    在通用置标中,术语“文件”指的不是文卷或一叠印了字的纸这样一些物理结构,而是一个逻辑结构,它含有一个文件元素,这一元素是所有构成文件内容的元素组成的树形结构的顶层结点.例如,一本书中可以含有元素“章”,“章”中又可以含有“段”元素和“图”元素。

    最终达到文件树的终结结点时,将遇到字符或其他数据。例如,如果段是终结结点,其内容就应是字

符而不是其他元素。如果图是终结结点,则既不含有元素也不含有字符,含有的是表示图像映象的非字符数据。

    把附加信息放入数据内容中以区分不同的元素,这些附加信息称为置标。因而文件是由数据和置标两类信息构成的。

B1.2  文件类型定义

    元素的置标由位于其开头的开始标记和位于其末尾的结束标记构成。这些标记描述了元素的特征。

    这些特征之一是通用标识符,它标识元素的“类型”(手册,段,插图,表格等)。还有一些称为“属性”的其他特征,将进一步描述通用标识符。

    文件的置标标记描述了它的元素结构,指明哪些元素出现在文件的内容中并按何种顺序出现。这种结构必须符合一定的规则,这些规则定义了某一类型的所有文件(即这些文件都有相同通用标识符)的合法结构。

用以定义文件可能有的结构的规则,是该类文件的文件类型定义的一部分。文件类型定义规定了。

    a.  该类型文件中允许出现的元素的通用标识符(GI);

    b.  每个GI,可能有的属性,它们的取值范围及缺省值;

    c.  每个GI,内容的结构包括;

         1)哪些子元素的GI可以出现,以何种顺序出现;

         2)是否可出现正文字符;

         3)是否可出现非字符数据。

    文件类型定义没有规定:

    a.  用于标明置标的定界符;

    b.  如何对文件进行格式化或作其他处理。

B1.3  过程

    置标标记描述了文件的元素结构,但没有指出如何处理这种结构.处理方式有很多,其中之一起对正文格式化。

    可以将格式化看成是按照书写习惯将元素结构映射到纸上或显示屏上的过程。例如可将“段”元素显示成前后留空行,也可用缩进第一行的方式显示。

    文件的处理是由过程完成的,过程用格式化程序的语言或处理系统的语言写成。进行文件处理时,每个通用标识符(即每个元素类型)与一个过程对应,该过程处理元素的内容。例如,在格式化处理时,过程将元素转换成可打印的正文或其他显示形式。

    这样,当用户产生了正文并置上某一特定文件类型的标记时,文件的生成过程也就开始了。可作文件处理的工具之一是格式化程序,它可有多组可用的过程。

    例如,一个称为"mybook”并已置标成"TechManual”文件类型的文件,可用不同的过程组以若干种方式对它格式化。一类过程组可以按单栏CRT显示式样输出,另一类过程组以两栏打印报告式样输出,第三类过程组还可按其他形式输出。

    于是,当开发一种新的正文应用程序时,设计者应使用标准通用置标语言建立文件类型定义。此外,还应使用文件处理系统的语言实现一个或多个过程组。

B2  置标

    置标是插入文件数据中的正文,用于表述关于该文件的信息。SGML中,文件的置标分为四类:

    a.  描述性簧标(“标记”)

    标记是最常见也是最重要的一类置标,如上所述,其作用是定义文件的结构。

    b.  实体引用

    在一个系统中,可以把单个文件分成几部分存放,每部分都是系统存储中的一个独立单位,称为实体(根据具体系统,实体可以是文卷、数据集、变量、数据流对象、库成员等)。

    文件置标中出现的实体引用将相互独立的实体连接起来。实体引用就是请求将正文——即实体——嵌入到文件中的引用处。实体应事先在文件中定义或在文件的外部定义。

    实体引用包括通常所谓的符号替换和文卷嵌入的功能。

    c.  置标声明

    声明是指导如何解释置标的一组语句,可用以定义实体和建立文件类型定义。

    d.  处理指令

    处理指令是处理系统的专用语言,用以指示执行某特定动作。与其他类型的置标不同,处理指令是依赖于系统的,且通常还依赖于应用。如果要对文件作不同处理(例如,不同式样的格式化),或者要在不同系统中处理文件,往往要改变处理指令.

    一个SGML系统必须能够识别这四类置标,并正确地处理它们:即SGML系统必须有一个“SGML语言分析”。这个语言分析器不必是一个单独程序}只要墨统可以进行语法分析,就可以说该系统有SGML语言分析器。

    置标是按照一组严格的规则出现在文件中的。其中一些规则由SGML给定,且适用于所有类型的文件。其他规则由所要处理的文件类型的文件类型定义所定义。

    使用SGML规则,置标语言分析器必须能:

    a.  扫描每一元素内容的正文,以区别四类置标,并将它们与数据区分(非字符内容数据不用语言分析器扫描);

    b.  用实体替换实体引用‘

    c.  解释置标声明I

    d.  将控制转移给处理系统去执行处理指令’

    e.  解释描述性置标标记,识别通用标识符(。Gl”)和属性,并遵循文件类型的规则:

         1)确定每个Gl及其属性是否合法;

         2)确定每个GI在文件结构中的位置是否合法。

    f.  将控制转移给处理系统去执行与GI相对应的过程(再说一遍,这里并不要求程序是分开的,“转移控制”仅表明随后的处理并非由本标准定义)。

B3  从正文中区分置标

    本章中讨论的置标适用于所有文件类型。定界符使用的字符出自基准具体语法的定界符集(虽然SGML允许定义不同的具体语法,但我们只按一种具体语法讨论)。

B3.1  描述性置标标记

    描述性置标标记标识元素的开始和结束。有三类重要的特殊字符串,见图Bl。

GB/T?17478-2004?低厘直流电源设备的性能特性_8/L

图Bl元素置标

    STAGO    开始标记打开

             用以指出开始标记开始的定界符。图中的“<”是stago。

    TAGC     标记关闭

             从stago到tagc之间的字符串称为开始标记。在其中给出了通用标识符(“GI”)及其所有属性。图中的“quote”是GI,“>”是tagc。

    ETAGO    结束标记打开用以指出结束标记开始的由两个字符组成的定界符。图中的“</”是etago.在开始标记的tagc与结束标记的etago之间是元素的内容,包括数据字符和从属元素(非字符数据另外存放,将在今后讨论)。结束标记中重复了G1.目的是使置标更易阅读。

    以上模式是元素定界的最通用方式。SGML也允许使用几种置标最简化技术,即允许简写置标甚至省略跫标。这些技术可以作为可选特征使用,将在以后说明。

B3.2  其他置标

    实体引用以定界符“实体引用打开”(ero)为开始,以“引用关闭”(refc)为结束。下例中,这两类定界符分别是和号“&”和分号“;”:

    可将&SGML;用于排版和办公系统。

    置标声明由定界符“置标声明打开”(mdo)和“置标声明关闭”(mdc)定界,处理指令由“处理指令打开”(pio)和“处理指令关闭”(pic)定界。

    这是一个字嵌在<!markup declaration>中的例

    和一个嵌在<? processing instruction>中的例

    小结如下:

字符串        名字              含义

&             ERO               打开命名的实体引用

;            REFC              关闭引用

<!            MDO               打开置标声明

>             MDC               关闭置标声明

<?            PIO               打开处理指令

>             PIC               关闭处理指令

B3.3  记录边界

   并非所有的正文处理系统都将它所存储的实体划分成记录。在将实体划分成记录的系统中,记录边界是由称作“记录开始”(RS)和“记录结束”(RE)的功能字符表示的。可以把记录边界作为变异的具体语法中的通用定界字符使用,或者作为称作“便捷实体引用”的特殊的定界符使用。如果记录边界不是定界符,则对它的处理与它的位置有关。

B3.3.1  数据中记录边界

    在元素的属性值(以后讨论)和数据内容中,将忽略记录开始。但记录结束将作为数据的一部分处理,因为记录结束对于文件的处理程序可能是有意义的。例如,格式化程序通常把西文中的记录结束解释成空格。

    但当记录结束是由置标引入时,则被忽略。即:

    ——在内容的开头和结束处忽略记录结束,例如:

        <p>

        Short paragraph data

        </p>

        等价于;

        <p>Short paragraph data</p>

    ——在只有处理指令或置标声明的记录之后,忽略记录结束。例如;

        <p>

        Starting data

        <? instruction l>

        <? instruction 2>

        ending data.

        </p>

        和

        <p>Starting data

        <?  instruction l><?  instruction 2>ending data. </p>

      是等价的。换句话说,如果只考虑数据字符流,声明和处理指令都可以简单地忽略掉。

B3.3.2  置标中记录边界

    在标记或声明中,记录开始和记录结束都处理为空格。它们在置标中起着内部分隔符作用(偶而起水平制表符作用)。

    处理指令内记录边界的意义依赖于处理系统。

1889
国家标准下载

下载说明:
1.请先分享,再下载
2.直接单击下载地址,不要使用“目标另存为”
3.压缩文件请先解压
4.PDF文件,请用PDF专用软件打开查看
5.如果资料不能下载,请联系本站
最新评论
发表评论
大名:
联络: QQ 或者 邮箱
内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。

验证码: 7182