• 10.17 MB
  • 2022-04-22 13:35:11 发布

GBT16965-2009信息技术超媒体时基结构化语言(HyTime).pdf

  • 339页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'ICS35.240.30L76a雪中华人民共和国国家标准GB/T16965—2009/ISO/IEC10744:1997代替GB/T16965--1997信息技术超媒体/时基结构化语言(HyTime)Informationtechnology--Hypermedia/Time-basedStructuringlanguage(HyTime)2009-09-30发布(IS0/IEC10744:1997,IDT)2009—12-01实施宰瞀鬻紫瓣警矬瞥霎发布中国国家标准化管理委员会仅11’ GB/T16965--2009/ISO/IEC10744:1997前言⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯引言⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯1范围⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯···⋯⋯·2规范性引用文件⋯⋯⋯⋯⋯⋯⋯⋯·3术语和定义⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯·4符号和缩略语⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯5记法-⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯-·6基本模块⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯··-7定位地址模块⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯8超链接模块⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯9调度模块⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯10绘制模块·⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯11符合性⋯·⋯·⋯⋯⋯⋯⋯⋯⋯⋯⋯··附录A(规范性附录)SGMl。扩展设施附录B(规范性附录)HyTime性质集附录c(规范性附录)体系结构元声明附录13(资料性附录)辅助材料⋯⋯·目次。o__心qMM¨¨阳曲m蟒Ⅲ啪纵罾| 前言GB/T16965--2009/tSO/IEC10744:1987本标准等同采用ISO/IEC10744:19979信息技术超媒体/时基结构化语言(HyTime)》,仅有编辑性修改。本标准代替GB/T16965—1997。本标准与GB/T16965--1997相比主要变化如下:——增加了GB/T169651997中的专业术语和定义}——将GB/T169651997中度量模块并入定位地址模块;——增加了GB/T16965--1997中基本模块、定位地址模块、超链接模块、调度模块、绘制模块、符合性模块的内容;——增加了GB/T16965—1997中规范性附录A的体系结构和需求定义;——增加了规范性附录BHyTime性质集和附录c体系结构元声明。本标准的附录A、附录B、附录c是规范性的附录;附录D是资料性的附录。本标准由中华人民共和国信息产业部提出。本标准由信息产业部电子工业标准化研究所归口。本标准起草单位:中国电子技术标准化研究所。本标准主要起草人:姜瑜涛、马楠、方春燕、袁嫒、李幸、宋慧驹。本标准于1997年首次发布,本次为第一次修订。 GB/T16965--2009/][SO/IEC10744:1997引言本标准定义了超媒体/时基结构化语言(HyTime),对于用于在超文本和多媒体应用中处理和交换的信息,该语言提供了表达静态和动态信息的设施。HyTime是GB/T14814--1993《信息处理文本和办公系统标准通用置标语言(SGML)》的一个应用。HyTime支持传统信息引用分类书目模型,同时它能表示在任何时间与任何事物、任何地点通过多种方式链接。这一模型延伸至计算机化信息时代,即“集成的开放超媒体(IOH)”领域,并成为了HyTime的一个应用领域。HyTime为文档和其他信息对象之间及其内部的互联(超链),以及多媒体信息在实际和空间的调度提供了标准化的机制。如果投有HyTime,这些信息通常是嵌入在负责描绘这些文档的超媒体“脚本”的处理指令中,因此无法用于其他形式的处理。如果使用HyTime,那些独立于特定处理信息的性质可以不只被生成该信息的英语和平台处理。应用设计者和用户可以用这种方式来确定从脚本中分离出哪些性质。理想的情况下,只需要考虑这些性质是不是信息的固有性质,不必管它们是如何处理的。例如,本部分的标题是固有信息;而它所用的字体通常不是固有信息。而实际上,表示策略会根据不同的情况而变化,并且依赖于其他方面的考虑,例如,信息的预计使用方式、脚本语言的灵活性以及性能因素。基于该原因,HyTime是高度模块化的,使得应用设计者只需按标准的方法利用设施对它们所关心的性质进行描述。为了以标准的方式表达超媒体的结构化信息,HyTime确定了叫做“使能(enabling)体系结构”的规则,该体系结构由许多“体系结构形式”及其相关的语义组成。作为体系结构,本标准的正式定义符合本标准附录A中体系结构的定义要求。0.1HyTime模块HyTime语言的体系结构形式和属性划分为五个模块,每个模块都有必需设施和可选设施,“HyTime支持声明”指明了对模块及其选项的支持。——基本模块基本模块由独立的实用设施组成,其中有些设旅是可选。必需的设施提供超文本管理(使用SGML)和对象性质的识别。可选的设施提供用于公共元素的查找表、关联对象的使用和访问策略机制、通过引用的方式关联属性和元素内容的语义值的机制。本模块还定义了所有其他HyTime模块使用的基本坐标定位记法。——定位地址模块定位地址模块既可以标识不能被SGML唯一标识符定位的对象,也可以标识外部文档中的对象。本模块支持三种基本的地址类型:名称、语义定位和坐标定位。也可以进行聚合定位。这些定位机制的句法和语义独立于被定位数据的数据内容记法。注1:在给出的记法中解决HyTime定位的能力取决于能够解析记法的软件,软件根据提取所有定位的HyTime使用方法(见6.11对象表示)进行解析。HyTime的超媒体对象地址表达方式,与系统、记法无关,提供了基本的超链接和调度能力。Ⅱ GB/T16965--2009/ISO/IEC10744:1997——超链接模块本模块可在对象之间进行链接(“超链”),即可以在单个文档内部,又可以在构成超文档的文档和信息对象之间进行链接。——调度模块本模块可对事件——对象的出现在——“有限坐标空间”的坐标轴上进行调度,其方式是通过事件之间的关系表达它们的位置,可以通过时间或空间单位沿坐标轴进行度量。——绘制模块当使用调度模块时,对象修改和/或事件投影可以用来表示支配绘制方法的描述参数。·对象修改对象修改设施允许对绘制过程中对象的修改顺序进行说明,并可能影响它们的“对象修改器”(如放大器和过滤器)。注2:HyTime没有定义修改器的语义。·事件投影绘制过程要求把事件投影到一个能被感知的坐标空间中,例如,从一个虚拟时间为坐标轴的坐标空间投影到一个以实际时间为坐标轴的坐标空间。事件投影设施允许说明一些因素,用于计算目标坐标空间中事件的位置和范围。当为一个事件所提供的位置和范围不确定的时候,(比如当用户之间的相互作用会有影响时),起始事件的虚维可以通过一些公式投影到实际空间/时间上,这些公式出现在任何有用户定义的表达式语言中。在求解被投影时问的位置和范围的绘制过程中,这样的表达式可以在其他地方接受后滞绑定late-binding值。注3:HyTime不定义格式化的对象的语义来适应新范围。应用可以选择包括绘制信息包含在超文本文档的基本部分中,也可以把它们包含在处理程序的“样式表”中。这是由于所提供信息的本质决定的。例如,绘制形式在多媒体文档中比在常规文档中是基本的形式。0.2HyTime应用HyTime为各种应用提供了通用层次上的支持,不只是某种特定的语义(即HyTime就像一个携带者或基本结构)。应用和HyTime之间的界限是可变的,完全由设计者决定,设计者可以自由地决定哪些信息使用HyTime进行标准化表达,哪些是应用特定相关的(例如,在数据内容计法中)。HyTime体系结构形式和属性的语义都是标准化的,因此可以实现对各种应用所使用软件和/或硬件的支持。在定义一个基于体系结构形式的元素类型时,应用程序可以定义附加属性。应用本身仅能定义其定义的元素类型和属性的语义。这些语义可以由工业集团或者正式地由国家或国际标准化组织进行标准化定义。在本标准中,HyTime属性只有特定而非固定的含义。但是,应用可以隐式地添加附加语义,或通过定义适当的元素类型和属性添加附加语义。例如,HyTime体系结构形式“维引用”仅指一个元素的维相对于其他元素的维的计算。而应用可以规定(如果希望的话)使用维引用意味着对象之间的同步关系,并可以通过“sync”强调为维引用元素类型的通用标识符。HyTime元素可以出现在任一应用的DTD及HyTime的meta-DTD允许其出现的地方。例如,为了表示该上下文中的日历或投影平面,有界坐标空间可以出现在一段记录中,多个段落可以作为一个时序事件的内容出现。HyTime的从属,包括应用和应用体系结构,可以像定义元素一样定义非HyTime体系结构形式。m 标准分享网www.bzfxw.com免费下载GB/T16965--2009/LsO/IEC10744:1997尽管应用不能给HyTime增加新的体系结构形式,或对HyTime形式进行组合,但它们仍可以创建自己的属性(例如“MyArch”)来标识自己的体系结构形式。这些体系结构可能起始于全部或部分的HyTime体系结构。使用和定义体系结构的设施在附录A的A.3中定义。例如,如果一个文档同时含有HyTime和MyArch体系结构形式,通过SGML分析器以SGML形式对各个元素的内容和属性进行处理和验证后,具有HyTime属性的元素由HyTime引擎处理和确认,而具有“MyArch”属性的元素则可能由其他适当的应用来处理和确认,如可能由一个“MyArch”方法辅助完成。HyTime定义了一些应用所需的参数来完成实现绘制和某些绘制的功能。其余参数可以由应用,或者由与应用一致的文档体系结构提供。为了表达不同的需求和服务不同的用户,可以同时存在多个不同的与HyTime一致的应用和体系结构。这些体系结构在非HyTime方面可以不相互兼容,但必须由单一的HyTime引擎支持。注4:例如,即使一个应用的投影函数非常复杂和特殊,它也不必为表示有限坐标空间而定以自己的系统。HyTime有特定的应用投影函数,使用应用选择(或自定义)的函数语言,通过与未投影和投影的有限坐标空间的标准化表示方式相连接来加以表示。HyTime专为典型多媒体应用中的顺序和对齐问题进行了优化设计,而非为复合文档的页输出而设计的普遍体系结构求解方法,对于后一种情况,用其他方法求解可能会更好。注5:但HyTime和其他许多解决方法是兼容的。例如。HyTime有限坐标空间,可以表示页面描述语言的对象所映像到的媒体。注6:HyTime与DSSSL标准(ISO/IECl0179;1996)共享基本的SGML性质集和为表示,执行已解析SGML文档(和能构造树林的其他对象)的树林提取方法。0.3本标准组织本标准的组织体现HyTime的模块化结构,结构如下:——基本模块(第6章)是其他章的先决条件。它描述的一些设施在HyTime的所有应用中都需要;——定位地址(第7章)、超链接(第8章)和调度(第9章)描述的模块之间都是彼此独立的;——绘制模块(第10章)中描述的模块依赖于调度模块;——符合性(第11章)描述HyTime文档、应用和系统符合性所需要的条件。本标准还包括以下附录:——附录A本规范性附录详细描述了SGML的扩展设施,其中许多设施是其他章的先决条件。——附录B本规范性附录定义了HyTime性质集。——附录C本规范性附录包含完整的用于体系结构引擎的HyTime和通用体系结构meta—DTDs。——附录D本资料性附录指出了HyTime中补充指南的来源和引用材料。Ⅳ 1范围GB/T16965--2009/IS0/IEC10744:1997信息技术超媒体/时基结构化语言(HyTime)1.1范围定义本标准定义了一种语言和基本模型,用于表示链接及同步静态与动态(基于时间的)信息(这些信息包括在多种常规的和多媒体文档和信息对象中)的“超文档”的基本模型。这种语言被称为“超媒体/时基结构化语言”或“HyTime”。HyTime既可以用抽象或“虚拟”的意义,也可以采用用户自定义的实际时间单位表示时间。它还提供了联系这两种方式的方法,这样依赖于时间的文档元素可以得到同步。注7:该设施把曾经局限在常规文档中扩展到多媒体信息表示,扩展到从样式考虑来区分固有信息内容。HyTime用于表示时间模型的技术,同样可应用于空间和其他领域,都可以当作沿不同的坐标空间轴进行度量的系统看待。而且它同样支持任意交叉引用和基于外部相互作用(“超链接”)的访问路径。HyTime的时间表示包含足够的信息来导出控制(“姿态的”)数据(例如,对音频或视频硬件的控制信息),以及直观数据(例如,乐谱,故事描述或电视画面)的存在时间。在HyTime超文档中,媒体格式和对象的数据记法可以包括格式化的和未格式化的文档,静止图像的音频和视频段,以及面向对象的图形,等等。用户可以采用多种计量单位和颗粒来规定对象在空间中和在时间上的位置范围。通过选择适当的度量颗粒可以支持应用从动画到投影管理的临时需求。注8:本标准没有对音频或视频数据内容的表示进行表达,而仅仅是定义其他数字化信息同步这些数据的起始时间和持续方式的方法。本标准也没有特别说明适应于未格式化文档和其他信息对象的特定位置和范围的输出处理。HyTime是一个使能标准,而不是一个限定标准。因此,构成HyTime超文档的对象可以与任何应用体系结构,或与标准规定的文档体系结构保持一致,并能以这些体系结构允许的记法表示。只有决定超文档成员“枢纽文档”必须符合其他任何体系结构的同时符合HyTime。HyTime满足灵活性和可扩展性设计的要求。可选子集可以单独实现、也可与用户自定义的扩展方式联合实现。超媒体/时基结构化语言(HyTime)符合GB/T14814--1993的SGML应用。本标准建议使用的超文档交换格式是由GB/T15536--1995规定的SGML的文档交换格式(SDIF)。SDIF的定义是按抽象句法记法一(GB/T16262.1—2006),它可按照基本记法编码,编码规则以GB/T16263--2006为互换使用协议符合开放系统互连(OsI)模型。也可以使用其他交换格式。1.2应用领域HyTime的应用领域是“集成的开放超媒体”(IOH),即超链接的“书目模式”,用户可以通过适当的引用在任何时间与任何东西,在任何地点进行链接。由于HyTime的模块化设计和灵活的符合性规则,在补充实现中只需支持当前使用的设施。由于对完全超媒体解决方案的向上兼容路径的良好定义,用户也不必对超文本文档作任何准备工作。HyTime可以使用和平台无关的超媒体同步和非同步的多媒体应用中信息交换的基础结构。应用开发人员将使用HyTime构造设计的信息结构和对象,并使用HyTime语言来表示以用于交换。注9:HyTime语言并不是为了执行应用程序时对信息的内部表示进行编码而专门设计的。1 标准分享网www.bzfxw.com免费下载GB/T16965--2009/ISO/IEC10744:1997在绘制的任何阶段,从“可修改的”到“优化的交互访问”,应用能使用HyTime来表示包含信息的超文档。应用还能选择把一个HyTime超文档的绘制转变成是与传输和交互表示的优化形式。注lO:HyTime的超文档表示是否在局部文档系统中文档直接访问,依赖于超文档的信息类型、平台速度和访问该超文档的应用执行的功能。2规范性引用文件下列文件中的条款通过本标准的引用而成为本标准的条款。凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本标准,然而,鼓励根据本标准达成协议的各方研究是否可使用这些文件的最新版本。凡不注日期的引用文件,其最新版本适用于本标准。2659:2000表示国家名称的代码(eqvISO3166—1:1997)GB3101—1993有关量、单位和符号的一般原则(eqvISO310:1992)14814--1993信息处理文本和办公系统标准通用置标语言(SGML)(eqvISO8879:1986)15536--1995信息处理sGML支持设施sGML文件交换格式(SDIF)(idtISO9069:1988)15537--1995信息处理sGML支持设施办公文本拥有者标识符的登记规程(idt1SO9070:1991)IsO/IEc10179:1996信息技术处理语言文档样式语义和规范语言(DSSSL)Iso/IEc13673:1997信息技术文本和办公系统标准通用置标语言(SGML)系统的符合性测试3术语和定义下列术语和定义适用于本标准。3.1锚点anchor使用超链接链接到其他对象或对象列表的对象(或对象列表)。注11:所谓“对象”在HyTime中并不是一个形式结构}锚点可能是一个文档、一个元素、任意数据块,或任何其他事物。注12:当且仅当对象被超链接标识时,它才是一个锚点。注13:在相同或不同的超链接中,对象可以在几个链端被标识为锚点。3.2锚点定位地址anchloc超链接锚点定位地址。3.3应用BOSapplicationBOS由应用根据其规则决定的一个有界对象集。注14:这些规定可由一组参数自动决定,或者由用户挑选,或者两种方式都使用。一种可能是由应用把HyTimeBOS中的实体作为起点,但允许用户增加或删除实体。3.4体系结构形式architecturalforms创建和处理文档组件的规则。有四种类型:元素形式、属性形式、记法形式和数据属性形式。2 GB/T16965--2009/ISO/IEC10744:19973.5属性形式attributeform适用于元素属性的一种体系结构形式。3.6次生树林auxiliarygrove由另一个树林的处理节点构造而成的树林。注15:为了给数据定位地址使用而构造的数据分隔树林是一个次生树林。3.7位组合bitcombination一个位的有序集(例如,一个字节是7或8的组合)。在字符数据或置标中,一个位组表示一个字符,但对非字符数据则可以表示数字或其他值。3.8有界对象集boundedobjectset;BOSHyTime应用处理的主体;一个或多个文档和其他信息对象的集合。注16:有三种类型:HyTimeBOS、应用BOS和有效BOS。3.9定界区域boundingregion由fcsloc定位的FCS区域,区域中根据fcsloc中描述的选择精度选择事件。3.10孩子性质childrenproperty在树丛中,节点的subnode性质指定为节点的内容性质。一个节点可能有零或一个孩子性质。注17:如果内容性质不是节点型的,则节点没有孩子性质。3.11从属体系结构clientarchitecture一个体系结构派生自另一个体系结构。第一个体系结构被称为被继承的体系结构从属。3.12从属文档clientdocument符合某体系结构的文档。该文档被称为符合体系结构的从属。3.13从属DTDclientDTD从属文档的文档类型定义。3.14上下文链接clink上下文链接元素形式。3.15内容性质contentproperty在树林中,一个节点被指定为节点的语义内容的性质。一个节点可能有零或一个内容性质。内容性质可以是节点型的或原生的。如果内容性质是节点型的,则性质也是节点的孩子性质。注18:例如,对于SGML元素节点,内容性质包括元素,数据字符或其他依照句法出现在SGML元素中的对象,但是不符合SGML语义内容的对象不在此列,诸如在元素内容中被忽略的记录的结束符和分陌符。3 标准分享网www.bzfxw.com免费下载3.16内容树contenttree在树林中,树是由一个节点和这个节点的孩子性质组成的。3.17上下文超链接contextualhyperlink出现在“上下文中”的超链接,即链接的锚点是链接元素本身(“本身锚点”),是初始锚点的转移。在一个交互应用中,文档层次中的相邻元素或数据可以从外部访问该自身锚点。注19;任何超链接元素形式可按上下文方式使用。该clink元素形式总是属于上下文的。3.18上下文链接元素形式contextuallinkelementform表示二元上下文超链接的一种元素形式,对于自身锚点有固定的锚点角色引用标记(refmark),对于其他锚点有引用主体(refsub)。3.19数据属性形式dataattributeform数据属性所用的一种体系结构形式。3.20数据定位地址datalocationaddress指出的字符串和分隔数据对象的定位地址,这些字符串和分隔数据对象由字符数据的分隔产生。3.21数据定位地址dataloc见3.20。3.22维dimension坐标轴的大小和位置。它由三部分组成:位置(第一个出现量程),量程计数(占用量程的总数),最后出现的量程。3.23文档document能被人感知的,作为单位来标识的信息集合。3.24文档(类型)定义document(type)definitionDTD由应用决定的,把SGML应用于某个特定类型文档的置标的规则。一个文档类型定义包含了一个在文档类型声明中表达的形式规范,规范元素类型、元素关系和属性,以及能被置标表示的引用。从而定义置标的词汇表,该置标的语法是由SGML定义的。注20:文档类型定义还能包括描述元素和属性语义的注释以及任何应用约定。3.25有效的BOSeffectiveBOS有界对象集合,该集合由在任意给定点上已经成功并且全面地整合到处理中的超文档中去的全体对象组成。3.26元素形式elementform应用于元素一种的体系结构形式。3.27实体描述符entitydescriptor表示外部实体的SDIF数据流的组件。4 GB/T16%5--200911SOll,Ec10744:"嘲3.Z8实体树entitytree由下列步骤构造的节点为实体的树状结构:1)选择一个SGML文档实体作为根节点。2)由该节点的指标声明的外部标识符参数所标识的,组成该节点的孩子。作为SGML文档实体或SGML子文档实体,每个孩子可以再被选作父节点。3)对每个父节点重复步骤2),直到弼达了树的叶子或层数的最大值。注21:当HyTime文档作为集中器使用时,层数的最大值是一个HyTime文档的属性,并且可以在被HyTime应用调用时被覆盖。3.29事件event坐标轴空间中对象的出现。它把调度范围与对象联系起来。注22t事件的调度范围决定对象位置和大小。首先所有坐标轴的第一个量定义了位置,而量化计数给出维的规范并且定义了大小。3.30事件投影eventprojection事件的调度范围从一个坐标空间到另一个坐标空间的转换(从“未计划”到“预测”)。注23:从乐曲的节拍到实时性的投影,或从用户设备坐标到现实空间单位投影。3.31(调度)范围(scheduled)extent坐标空间中的大小和位置。它由空间中每个轴的维组成。3.32外部标识符externalidentifier标识一个外部信息对象的SGML置标说明(典型的实体说明)的参数。注24:它可能有很多形式,包括:——形式化的公用标识符,即全局唯一的公用标识符,它允许系统通过一个查找表访问其对象f和/或——系统标识符,即文档标识符、存储位置、程序调用、数据流位置或在存储体中定位对象的其他系统特定方式。3.33有限坐标空间定位地址fesioc见3.34。3.34有限坐标空间定位地址finitecoordinatespacelocationaddress通过定义封闭被选事件的有限区域,在事件调度(或由这些事件调度的对象)中,定位事件的定位地址。3.35性质值的图示graphrepresentationofpropertyvalues抽象数据结构,由节点的定向图表构成,每个节点通过标记弧连接其他节点。3.36树林grove属性ValuEs的图表表现。3.37树林的构造过程groveconstructionprocess构建一个原生或次生的树林的过程。5 标准分享网www.bzfxw.com免费下载GB/T16965--2009/ISO/IEC10744:19973.38树林定义grovedefinition树林规划,树林构造处理,树林起始对象的结合。3.39树林规划groveplan树林中包括的模块、类和属性的说明。树林规划用于构建树林与查看已有树林。3.40树林根groveroot一个在树林中没有起始的节点。3.41树林源grovesource构建树林的数据(原生树林)或节点(次生树林)。3.42枢纽文档hubdocument访问一个超文档的起始文档。在一个HyTime超文档中,枢纽文档还为互换、绘制或其他处理定义一个HyTimeBOS。注25:“枢纽文档”不是文档的一个参数状态,也不能用一个属性来说明。枢纽文档的指定是处理过程的一个参数,并在调用该应用时被说明。注26:有可能指定多个HyTime文档作为枢纽文档,这样可以定义相同HyTimeBOS。3.43超文档hyperdocument通过web互连的两个或多个文档或者其他信息对象。注27:对超文档的访问是从所指定的枢纽文档开始的。注28:一个超文档可能包括其他超文档,否用独立的超文档,通过声明包括“子枢纽”的超文档的枢纽文档。注29:超文档可能表示一个固定的或单一的数据对象的为了特殊目的(例如,表示常有所有权或支持特殊修辞目的)而组织起来的集合。该HyTime有界对象集控制设施和活动策略相关设施,以及应用程序规范机制}能用于为组建约束和使用超文档而定义额外的语义。3.44超链接hyperlink表示两个或多个对象之间关系的信息结构。注30;由超链接关联的对象叫做这个超链接的“锚点”。锚点由被称为“链端”的超链接性质来标识。注3l:使用HyTime的应用和体系结构可以给超链接分配链接类型和名称。注32:除超链接外,SGML文档也可以表示关系。例如,置标标记的位置表示了文档层次的从属和兄弟关系。3.45超链接锚点定位地址hyperlinkanchorlocationaddress一种查询位置地址的定位形式,以通过对象是其成员的锚点角色名称对象来定位锚点。3.46超链接定位地址hyperlinklocationaddress一种查询位置的形式,通过链接类型定位超链接。3.47超媒体应用hypermediaapplication有超文本和/或多媒体功能的信息处理应用。注33:这个定义的含意是,“超媒体”是指超文本和多媒体的联合而不是交叉。6 G矗/T16965.2009/ISO/IEC10744;1997注34:尽管可以在“超文本”、“多媒体”和“超媒体”之间维持严格的区分,但在奉标准中,当提到文档或应用时这样的区分并投有多大意义。但是,事件是特指“多媒体”而不是。超媒体”的。匠为有无耀链接并不影响“事件”的本质。类似地,超链接由于没有被它们所连接的对象所影响,可以不加区别地被摊述为。超文本”、。超媒体”或冠以“超”。3.48超媒体文档hypermediadocument在超媒体应用中使用的文档或超文档。注35:因为超文档通常甩于超媒体应用中,它几乎永远是超媒体文档。但是,并非所有的超媒体文档都是超文档;例如,一个包含电视画面而不包含超链接的文档。3.49超媒体/时基结构化语言Hypermedia/Time-basedStructuringLanguage;HyTime一种用于表示超文本链接,时间、空间事件调度和同步的标准超媒体结构化语言。HyTime提供了基本的标示和定位机制,并且独立于对象数据记法、超链接类型、处理和表示功能及其他应用语义。不论文档是否可被修改,符合或不符合HyTime的超文档都可以建立起超链接。HyTime的全部功能支持“集成开放超媒体”(IOH)——引用的“书目模型”允许超链接在任何时间、任何地点链接任何东西——而系统只需要支持其表示能力之内的相应子集。3.50HyTime属性HyTimeattribute属性的定义包含在HyTime的体系结构形式中。3.51HyTimeBOSHyTimeBOS一个有界对象集,由单一文档或超文档构成,超文档中的文档和信息对象规范应存储在单一实体树的节点中。注36:一个HyTime引擎可以自动确定一个HyTimeBOS。实体树的根是枢纽文档的SGML文档实体。3.52HyTime文档HyTimedocument一个SGML的文档,它从根本上是如本标准的定义表示的。注37:HyTime文档通常就是符合HyTime文档(见11.1)。3.53HyTlme元素HyTimeelementHyTime元素类型的一个实例。3.54HyTime元素类型HyTimeelementtype在HyTime文档中,符合HyTime体系结构形式的元素类型。注38:HyTime没有定义元素类型本身。除了体系结构定义的属性外,它可有应用特定属性。3.55HyTime引擎HyTimeengine识别文档中HyTime构造并对其进行与应用无关的处理的一个程序(部分程序或多个程序的组合)。注39:例如,一个HyTime调用可以由数据库和网络服务器来解释和访问锚点。它也可以在一个坐标空间中连续地对事件进行定位计算,而不论事件所进人的调度或为定义其范围所采用的度量单位怎样。3.56HyTime超文档HyTimehyperdocument枢纽文档为HyTime文档的超文档。注40:枢纽文档必须能以SGML表示;而超文档其他组件则不需要。该枢纽和其他组件符合文档的体系结构。7 Gm/T16鳓粤—2009/l岛吖lEC10744:19973.57HyTime系统HyTimesystem包括一个HyTime引擎的SGML系统。3.58超文本hypertext可以按多种顺序访问的信息。注41:超文本可以是一个单一的文档或文档库(。超文档”)。例如:——一本小说通常不是一个超文本。——一本有脚注或内部交叉引用的书是一个单一文档中的超文本。——一本具有外部交叉引用(例如,书目引用)的书是库的成员,该库作为整体构成一个超文档。——一本既具有内部又具有外部交叉引用的书既是一个单一文档的超文本;又是整体上构成一个超文档的库成员。3.59初始引用者(定位路径)initialreferrer(toalocationpath)引用到定位路径中定位第一步。注42:初始引用不能定位地址,因为一个引用其他的定位地址变成一个定位步。注43:给出定位路径中每一步有同样的初始引用。3.60集成开放超媒体integratedopenhypermediaIOH为进行计算机处理,对引用的“文献模型”进行的形式化,该引用能表示任何时间、任何地点与任何事物的超链接。3.61链接link依据上下文,超链接可以是一个超链接或一个SGML的处理链接(“链接程序”)。3.62链端linkend超链接中,是锚点的角色名、锚点的成员和其他锚点的联合性质的集合,例如往返移动规则。3.63链接过程定义linkprocessdennition;LPD用于SGML来描述链接过程的特定应用规则。链接过程定义包括一个形式化的说明,该说明是通过链接类型声明(1inktypedeclaration)来表示,它说明了起始和结果元素之间的链接,其中包括被用于链接处理的起始属性的定义(“链接属性”)。注44:链接过程定义还可以包括对该语义的描述,如链接属性的含义及其对过程的影响。3.64链接类型linktype超链接的一个类。它指明了由超链接所表示关系的含义,包括每个锚点在关系中所起到的作用。3.65超链接定位地址linkloc见3.46。3.66列表定位地址listloc见3.67。8 GIi/T1啪5一∞∞/母D/mC10744:19973.67列表定位地址listlocationaddress定位地址从一个节点列表中通过描述一个或多个维说明选择节点,用于已选择节点的相邻次序。3.68定位梯阶locationladder定位地址集合,称作“梯级”,各级是下一级的地点起始。注45:定位梯阶就是直观自上而下,从定位源到路径梯阶的运转。在定位路径中看作一步的梯级被认为此路径的梯级的底部。注46:定位梯阶表现了可定位对象集的进步选择,其中对象看作向下的发展(换言之,顶层梯级定位尽最大可能范围,从其下被选择的梯级的节点中,进行定位)。3.69定位地址locationaddress一种元素形式,表现一个或一个以上对象的地址。通过其开始的定位路径来定位,定位地址的引用被看作对象的引用。注47:定位地址可以是另一个定位地址的定位源,从而形成一个定位梯阶。注48:定位地址是HyTime中那些是众所周知的“间接地址”的表现。3.70定位路径locationpath定位地址集,称为“地址步”,其中第一步定位第二步,等等。当创建一步指定到两个或多个对象时(对象至少一个是定位地址)定位路径可以有分支。当最后一步仅指向一个对象,且此对象不是定位地址,分支终止。通过定位路径指定的对象都是通过路径中任意步指定的。注49:定位路径可看作从左往右,从初始引用者到定位的对象运行。每步十定位梯阶的底部梯阶。注50:定位地址可以是一个多于定位路径的步骤,但第一步只有一个。3.71定位源location∞ur∞对象集,其定位地址选择指定的对象。注51:例如.treeloc的地址起始是树,其中有通过发现treeloc定位的节点。3.72混合定位地址mixedloc定位地址,对象间接通过其子定位地址元素来定位。3.73多媒体multimedia利用多种方式进行事物间通信,比如艺术家、作曲家等所采用的交流形式。3.74(对象)修改(object)modification在绘制时一个对象对另一个对象进行修改。注52:例如,通过一个作用框可以路由选择音频信号。注53:HyTime处理的是修改符的调度和联合,而不是修改的语义。3.75命名的定位地址nameloc见3.76。3.76命名的定位地址namedlocationaddress混合定位地址的描述形式,通过元素ID和实体名称指名对象。9 GB/T16965--2009/ISO/IEC10744:19973.77命名的节点列衰nmednodelist在树林中的节点列表,其中所有成员节点有用于公用“名称”性质的唯一值。名称性质的值可能是字符串也可能是单独的节点,其节点在所有节点中在节点列表的成员的名称取值上是唯一的。3.78命名空闯定位地址nome-spacelocationaddrm镕定位地址用来指明在命名的节点列表中节点。3.79命名空阊定位地址nmsploc见3.78。3.80节点node树林中,表示单一对象的有序性质集。3.81记法形式notationform一种体系结构形式,用于数据实体和记法数据内容。3.82起始origin树林中,对于一个节点,其节点是子节点。树林中每个节点,除树林根外,都只有一个起始节点。3.83修补patch修饰符的互连。3.84路径定位地址pathloc见3.85。3.85路径定位地址pathlocationaddress定位地址,指明树中节点,通过查看作为矩阵的树,矩阵的每列是从根到叶子的节点列表的方式实现。3.86伪元素pelement见3.96。3.87表现prr=,entation能被人感知的一个文档处理状态。3.88最近说明的元素previousspecifiedelement文档的SGML表现中的元素,此文档最近刚被解析。注54;当把SGML表示看作一个字符串时,尽管一个实体引用可能使其他元素比最近说明元素更近地被分析,但通常它仍是最近发生的。3.89原生树林primarygrove通过处理起始数据构造的树林。注55:例如,在SGML起始数据初始化解析后,为SGML文档构建的树林是一个原生树林。]0 GB/T16965--2009/IS0/LEC10744:19973.90主树principaltree树林中,内容树通过树林的性质集指定为主树。在HyTime中,主树是定位地址的默认潜在定位源。3.91主树根principaltreeroot树林中的节点,它是树林中主树的根。在sGML性质集中,文档元素是主树根。3.92投影projection事件投影。3.93性质定位地址propertylocationaddress定位地址,指明树林中节点的性质值。3.94性质集propertyset形式化定义的文档,符合本标准性质集定义的要求,指明用于构造树林的节点类和属性。3.95性质定位地址proploc见3.93。3.96伪元素pseudo-element在sGML的性质集中的一个对象,其子女继承于数据和其他出现在标记结束和下一个标记开始之间的构造。伪元素是元素的孩子。3.97■quantum坐标轴上可计数的划分。3.98查询定位地址qaeryloc见3.99。3.99查询定位地址querylocationaddress定位地址,在树林中使用查询通过节点性质指定节点。3.100真实时间realtime日常意义上的,可以用s、rain、h等度量的时问。3.101被引用者(ID引用的)referent(ofanIDreference)元素,其ID是ID引用或ID引用表属性(或内容)的值。3.102引用的属性referentialattribute元素的属性,此元素被指定为引用的,通过声明它为IDREF,IDREFS,实体或实体的属性,或通过使用该HyTime的refloc设施来实现。注56:在HyTimemeta-DTD中,引用属性通过常用的注释虬引用_YY来标识。注57:内容也可以被指定为引用。11 GB/T16∞5--20091tSOITEC10744:19973.103引用者(指向引用元素)referrer(toareferentelement)有引用属性的元素,指明被引用的元素。3.104相对定位地址relativelocationaddress在树中指定节点的定位地址,通过说明起始节点的系谱关系,然后从相关列表中选择节点的方式实现。3.105相对定位地址relloc见3.104。3.106绘制rendition为准备展示HyTime文档而进行的处理。除应用特定的处理外,还可能包括HyTime定义的事件投影和对象修改。注58:为了创建最终被用户感知的表现,几个绘制可以按顺序进行,绘制可以把事件投影到一个新的坐标空间;例如,从虚拟时问到真实时间。3.107可报告的HyTime差错reportableH滩imeerrorRHE不符合本标准要求的HyTime文档,而不是:a)如果不处理该文档就不能被发现差错;或b)在本标准中被标识为不可报告的差错。3.108(地址)梯级(10cation)rung定位梯阶上的元素。3.109SDIF打包程序SDIFpacker创建SDIF数据流的程序。3.110SDIF解包程序SDIFunpacker把SDIF分解为要素实体的程序。注59:如果需要,sdif解包器会修改系统中置标声明的标识符参数,使其与环境中的存储地址相一致。3.111自身锚点selfanchor超级链接指定其本身作为一个或多个锚点。3.112语义树林semanticwove由应用程序或体系结构引擎构造的树林。语义树林的节点反映一类数据结构,这类数据结构被要求执行应用或体系结构描述形式的语义。注60:HyTime体系结构的语义树林由HyTime性质集定义(见附录B)。3.”3SGML文档互换格式SGMLDocumentInterchangeFormat;SDIFSDIF是一种数据结构,它可使主要文档及其相关文档(每一个文档可能存储在多个实体中)组合成12 GB/T16965--200911SOIIEC10744:1997一个单一的数据流进行交换,此交换以允许接受者重组单独实体的方式实现。注61;当SDIF作为HyTime的超文档交换格式使用时,如果有多于一个文档,那么“主”文档是枢纽文档。3.114SGML处理链SGMLprocessinglinkSGML的“链接程序”的性质,它允许多个上下文敏感的表现集合,以及与文档元素相关联的处理规范。3.115SGML子文档实体SGMLsubdocumententity;SUBDOC符合其自身的文档类型和链接类型声明,并符合SGML文档实体中SGML声明的SGML实体。它至少含有基本文档类型声明及基本文档元素的起止。3.116子枢纽subhub在另一个枢纽文档内声明的枢纽文档,其本身HyTimeBOS被添加到父文档的HyTimeBOS中。3.117SMU名称SMUname通过记法声明的名称,用来标识本标准度量单位。3.118(定位)步(10cation)step定位路径中的元素。3.119子节点subnode在树林中,节点的起始节点存在于其节点是成员的性质中。3.120子节点性质subnodeproperty树林中的一个性质,性质值必须由这类节点组成,此节点的起始节点是列出性质的节点。3.121子节点树subnodetree该节点树由一个节点和该节点的所有子节点组成。3.122目标(ID引用的)target(ofanIDreference)被引用者或者,如果它是定位地址,则对象通过从被引用者开始的定位路径来定位。3.123树定位地址treeloc见3.]24。3.124树定位地址treelocationaddress指定树的单个节点的定位地址,采用由根开始,从树中各层可定位地址的区域中选择节点的经典方式实现。3.125可确认的HyTime引擎validatingHyTimeengineHyTime确认引擎当且仅当存在一个可报告的HyTime差错时,该引擎能找到并报告这个差错。3.126视图viewweb的展现和与其相连的锚点。】3 GB/T16965—2009/ISo/IEC10744:19973.127网络web共同使用的一个或多个超链接的集合。注62:典型地,超链接处理的是公共主题,并且/或者它们通过公共锚点被连续遍历,并且/或锚点出现在相同的对象中。4符号和缩略语本标准采用下列缩略语:BOS有界对象集(Boundedobjectset)DTD文档类型定义(Documenttypedefinition)FCS有限坐标空间(Finitecoordinatespace)GMT格林尼治时间(GreenwichMeanTime)HMuHyTime度量单位(HyTimemeasurementunit)HyTime超媒体/时基结构化语言(Hypermedia/Time-basedStructuringLanguage)IOH集成开放超媒体(Integrattdopenhypermedia)JD儒略日期(Juliandate)LPD链接处理定义(Linkprocessdefinition)MDu度量域单位(Measurementdomainunit)RHE可报告的HyTime差错(ReportableHyTimeerror)SDIFSGML文档交换格式(SGMLDocumentIntercha“geFormat)SGMI,标准通用置标语言(StandardGeneralizedMarkupLanguage)SIVIU标准度量单位(Standardmeasurementunit)SUBDOCSGML子文档实体(SGMLsubdocumententity)uric等同的格林尼治时间(CoordinatedUniversalTitnt)5记法HyTime是一个使能文档体系结构,其定义符合本标准附录A中A.3描述的体系结构形式定义要求。注63:附录A推荐同本章结合起来阅读。Hy"r]me规范是由叙事文本与正式定义相结合而形成的。”正式定义采用SGML语言描述。”注64:为了解某些词亍[的含义,读者应当熟悉本文档所使用的编辑约定,在附录D中可以找到对这些约定的简短解释和在本文档中使用的SGML子集。使用SGML定义HyTime体系结构形式的特殊约定在附录A中A3描述。描述每一结构的文本着重强调语义,而SGML形式定义提供的主要是对文本描述的严格句法定义。有时这些文本会讨论超出形式SC,ML反问的句法论题,从而需要加以解释,但是有些内容,不再文中论述,如属性值句法约束或HyTime提供的缺省值。注65:出于以上原因,当阅读文本描述时,建议读者参考SGML定义。尽管SGML定义是其相关文本之后决定的,但是有时先阅读SGML会很有帮助。14”本标准引用了一些工业和私有标准、产品、用户组和出版物。这些引用是非标准化的,]so、EC及其国家成员体、设施对此不隐式认可。所涉及任何品牌名称或商标都属于其各自的所有者。”正式的SGML定义是本标准文本的一部分,受版权保护。为了促进HyTime的符合性,正式的SGMI一定义可能有以下版权声明:(c)国家标准GB/T16965--2009。任何形式的拷贝许可承认本标准中定义的HyTime系统和应用的符合性,并在所有拷贝中提供这项声明。拷贝许可不应用于本标准的其他内容。 GB/T16965--2009/ISO/IEC10744:1997结构第一次引入时,会在文本中加以描述。如果这一结构出现在形式SGML规范中,还会同时将其形式SGML名称和英文全名表示出来,如下所示:元素形式完全结构名称(SGMI。name)⋯⋯属性形式SGML名称.⋯..属性完全结构名称(SGMLname)......不需要对出现在多处的同一结构作重复描述(如具有几个元素形式的同一属性)。声明包括注释,称为常规注释,本条中用来制定句法和语义约束以及其他Hytime引擎已知的信息。常规的注释任何情况都不扩展SGML。它们仅在体系结构定义中像体系结构文档编制的记法那样被使用。不必把它们包括在HyTime的应用DTD中,如果包括的话,SGML分析器将像处理其他注释一样将其忽略。5.1RCS的名称、详细名称、说明和条目每个形式名称后跟有注释,这些注释给出了全称、形式描述,以及定义了本标准中形式的条目数量。用于多个元素或记法形式的属性形式,为了减少引用,在引用具体句法中命名。RCS的名称在注释中给出,紧跟在属性列表声明的ATTLIST关键字之后。用于单一的元素或记法形式的属性表没有此注释。单独的属性有完整的名称和描述注释。5.2词法类型属性的词法类型和数据内容都由常规的注释来说明,注释由“Lextype”或“Ulextype”开始,其后是“HyTime词法模型记法”(hylex)(见A.2.3)中跟有词法模型。词语“Lextype”表示规范化的词法模型,而“Ulextype”表示非规范化的词法模型。HyTime词法类型集(见C.1)中定义约定性注释中使用的词法类型名称。在词法类型中匹配ATTNAME记号的名称将首先在客户端元素或实体中被搜索,随后是自客户元素或实体到每个构建元素或实体,来自客户端元素或实体,并包括构建元素或实体,其中attnamelextype采用。首先在客户端文档中查找基于词法的名称匹配的记法标记,然后在存在于链中的应用记法词形的从属文档中查找。其中链包括从客户端文档到从属文档并包含从属文档。注66:HyLex不只是用于文档体系结构。它是通用体系结构的一部分,因此应用设计人员也可以使用。不过,本标准中常规的注释中使用HyLex不需要应用程序实施支持。5.3约束标记“约束”的注释在其跟随的结构之后定义了附加的语义或句法约束。跟在形式名称后的约束注释定义了通用形式用法上的约束。跟随声明组件(例如,属性声明的默认值规定)的约束性注释定义了该组件的详细约束。5.4注释注解性注释提供了其他注释类型未提供的附加信息,且描述信息多于进行约束。5.5关联的属性形式和属性列表元素形式或记法形式在其声明中标识了相关的属性形式,这种标识主要依靠常规的注释方式,其中包括任意的词“属性”,“可选属性”,或“公共属性”等构成,后面跟有属性形式的名称。“属性”的注释列出了总是与形式相关的属性形式。“可选属性”注释列出了与可选设施相关属性形式,这些可选设施本身并不是必要的;当支持相关可选设施时,这些属性形式仅被属性提供。“公共属性”的注释列出了体系结构的公共属性形式,作为其有效性提醒。5.6引用者引用者注释列出了那些可能或需要被该形式引用的元素形式。此注释是元素形式的列表,紧接着是属性的名称,除非引用由元素内容产生,其余都由此名称产生。】5 GB/T16965--2009/1S0/IEC10744:19975.7属性形式声明的约定需要ID引用的声明值用SGML的IDREF或IDREFs关键字或lextype约定性注释指定的ID引用来说明。所有属性都是语义上引用相关的,与声明值无关的,通过使用由词“引用”构成的常规注释来指定。如果引用的属性定义包含带有其后跟名称或SGMLOR组的词“reftype”的常规注释,引用的目标必须是符合命名元素形式或名称出现在OR组中的元素形式的元素。注意OR组的是元:名称是体系结构形式而不是元素类型。注67;reftype常规注释不应该与具有更大能力的通用体系结构和HyTime的reftype设施相混淆,这些设施被应用设计者使用。体系结构定义中使用reftype注释不需要体系结构能支持通用体系结构和HyTime的·reftype设施。属性的默认值记录在属性定义的默认值描述中,除了用于暗含的、内容引用属性的默认值记录在以“默认”开始的常规注释中。如果属性的定义包含由词“Constant”构成的常规注释,这意味着此属性是常量属性;即,如果属性有此类型任意元素的值,属性必须对于给定元素类型的所有元素有相同的值。注68:在SGML中,固定属性指定值(如果有的话)必须始终等于其默认值。同定属性必需是一个常量属性,但反过来并不一定是正确的。注69:如果属性在meta-DTD中是常量,应用应该像DTD中固定属性那样来声明它,但是这并不是必要的.因为体系结构只定义文档事例的符合性。然而,除此以外,可确认HyTime或通用体系结构的引擎可以选择性地发出警告。、“Constant”,“].extype”,“u[extype”,“Reference”和“Reftype”约定性注释可以被识别和处理,以提供SGML单独支持的地方之外的确认。5.8可选设施的标识HyTime设施被安排到模块中,各模块都在本标准的独立的章中描述。除基本模块之外的所有模块都是可选的,每个模块的大部分设施是可选的。设施是否是可选的,由参数实体通过控制在meta—DTD中标记的节中使用来指明。这些参数实体被设置到“INCLUDE”中,通过在体系结构设施中对其命名,控制在HyTime记法(见6.3)中定义的属性。对选项的完整集的概述在附录C体系结构元数据声明的完整HyTimemeta—DTD中。6基本模块本章叙述了HyTime的基本模块,所有HyTime应用都需要此模块。6.1概念和定义本条描述了一些与基本模块设施相关的关键概念。6.1.1对象表示HyTime文档中的源对象采用SGML来表示,继承于源对象的抽象对象采用树林来表示。注70:由于HyTime的源文档采用SGML表示,因此所有HyTime语义是按照树林中的节点操作进行定义的,例如,由SGML文档描述的抽象数据对象(或任何其他类型的数据,并为此数据提供了合适的树林表示方法。)。本条描述了HyTime依赖的关键SGML结构。注71:非HyTime文档的HyTime超文档组件不需要采用SGML来表示。作为HyTime超文档的枢纽文档,必须是一个HyTime文档,因此必须采用SGML来表示。SGML是一个概念性工具,用于为能被人们感知的信息结构(叫做“文档”)建模,同样也作为表示它们的记法,文档可以依据以下三种主要结构进行分析和表示:元素定义为可以包含数据、从属元素或这两者的结构块。在一个典型的文档中,元素可以是段、章、标题、图形和表。在一个超媒体文档中,元素可以是不同类型的超链接、事件调度、事件]6 GB/T16965--2009/1SO/[EC10744:1997以及以各种数据记法编码的对象。属性与给定类型的元素相关联的性质,其值虽然描述了元素,但它并不是元素内容的一部分。例如,章条的作者或表格的修改日期。许多元素类型都有ID属性,此属性标识了某种类型的每个元素,从而在文档的任意位置都可以显式引用此类型。这类引用由具有ID引用属性的元素产生,其属性值是被引用元素的标识(由元素ID属性定义)。实体包含部分文档(有时是一个文档的全部甚至多个文档)的一个虚拟信息存储单位。在一个文档中,实体可以通过名称被一个或多个地方引用,从而在引用点将其信息包含到文档中(见6.1.1.1)。实体独立于元素。例如,一个实体可能包含部分图片元素或一个半的段落元素。允许在给定文档中出现结构,其具体实例需要在“文档类型定义”(DTD)中进行声明。DTD的设计者能够选择性地允许实例的某些部分被扩展或修改(通常通过重定义那些在DTD中引用的实体来完成)。这项技术可以灵活、广泛地适应多种类型的应用需求。在语义对象和它们的数据内容上起作用的处理器并不直接对起始表示进行操作。相反,处理器必须先在源对象中创建一个抽象的、“在内存中”表示的结构和数据。在SGML的例子中,SGML解析器对源文档进行标记和数据识别处理,提供处理中的应用程序信息。处理中的应用程序随后执行其继承于文档解析结果的特定抽象。本标准采用标准形式的抽象结构表示,这种表示方式被称为“树林”。HyTime定义的所有处理都在树林(而不是在构造树林的尚未解析的源数据上)上执行。树林由包含“性质”的“节点”构成。每个节点都是特殊的节点类。节点类及其性质都在“性质集”中定义。性质集和树林相结合,提供了一个表示SGML文档(和潜在地其他数据记法)的应用程序细节数据视图的标准;同时能够提供应用程序间的互操作,这种互操作通过提供共用的设计形式来实现,最小程度上使得应用程序可以定义用于操作的数据对象和操作结果,这些都与实际上如何表示或处理数据对象无关。换句话说,在不需要首先定义处理器本身执行的前提下,树林和性质集使讨论结构化数据处理成为可能。树林在7.1.4和附录A的A.4中有详细论述。6.1.1.1实体结构SGML包括一个被称作“实体结构”的虚存模型,它允许用户为方便管理而任意划分文档。由于实体到实际存储的映射是依赖于实现的,而且实体与存储对象之间不需要一一对应,所以实体结构是“虚的”。通常,实体结构并不从文档类型定义的部分反射而来,这类文档类型定义描述了应用处理所关注的“元素结构”的结构。实体结构的独立性是SGML的一大优点,也是超文本的本质。例如,它减轻了应用设计者的负担,使其不必预知某些章条是否跨越多个存储对象,或者一个简单的存储对象是否包含多个章条。6.1.1.2数据术语“数据”用于区分文档中那些不属于文档结构的信息。例如,段落中的字符文本或描绘图片的光栅信息都是数据。一个外部文档在某种情况下也是数据,也就是当它包含一个与引用它的文档相比,采用不同表示的文档。注72:类似地,SGML文档或子文档的一个递归实例对于当前实例来说也是数据,这是因为它有自己的DTD,且不在当前SGML所解析的上下文中解析。在一些非正式情况下,数据作为“内容”被提出,但这样用法是模糊的,因为元素的内容并不仅限于数据,还可以是专有子元素或是子元素和数据的混合体。在属性值或外部数据实体中,数据还可以出现在元素内容之外。注73:在SGML中,数据还被定义为“非置标的”,但这两种定义是一致的:在一个SGML文档中,由于其非结构化的特点而被看作是数据的信息,同时也不是基于置标的,反之亦然。17 GB/T16965--2009/ISO/1EC10744:1997HyTime提供对各种形式的数据进行定位的设施,这些设施或依据HyTime结构,或通过能理解数据表示的“定位地址”的接口来实现(见第7章)。6.1.2对象标识和定位超文本链接和多媒体时间同步具有相同基本功能——定位的应用。超链接通过名称空间中唯一的名称,或列表、树中的位置进行定位它的锚点。时间同步使用时间轴上事件的坐标地址来实现:事件A的地址可以依据轴上的位置和尺寸,或依据与事件B的地址的关系来表示。空间对齐也是类似的,不过轴是用空间单位而不是时间单位度量的。在HyTime中,定位作用于树林的节点,任何定位地址结果都是可定位节点的列表。按照句法构成来说,通过为定位地址的节点元素给定唯一的ID,可定位的节点列表被赋予了唯一的名称。无论节点是否有名称,每个节点列表都是可唯一定位的,因为其变成了“HyTime语义树林”中节点的性质。列出这些性质的节点可以通过名称(如果有的话)或通过其他节点定位方式被定位。注74:如果应用程序只支持基于ID的定位,则被其他元紊依赖,以引用方式使用的元素都必须有IDs。6.1.2.1名称空间定位在树林模型中,任何节点类都可能列出“名称”性质,唯一地标识其所在的“名称空间”。在树林中,名称空间是一个性质,其取值是一个节点列表,所有的节点使用相同的“名称”性质,每个节点的名称有唯一的取值。SGML定义了两个主要的名称空间,可以通过SGML文档句法直接访问:应用程序定义的信息组件,称为元素,以及信息存储片段的单位,称为实体。大体上,应用程序只处理元素,而存储却是显式地进行的。所以,名称的基本形式在文档的元素中是唯一的,称作唯一标识符(ID)。指明对象的基本方式称作“ID引用”(IDREF)。正如ID是元素的一个属性一样。从概念上说,所有定位地址始于ID引用。注75:HyTime还提供地址的“捷径”形式,其Ⅲ引用均为隐式的。例如,当支持坐标定位时,引用类型设施允许直接使用坐标地址代替ID引用。然而,对于所有捷径,使用ID引用和其他基本定位形式所创建的引用都是等同的。为了在当前文档之外进行定位,HyTime采用标准化的标识系统,包括公共的和专用的、局部的和全局的、唯一的标识符(见GB/T15537--1995)来定位那些包含地址的实体。6.1.2.2坐标定位HyTime的坐标系统被称作“有限坐标空间”。它包括一个坐标轴的集合和度量系统。每个轴都被看作一个“量程”的有序集。坐标地址由位置(第一个量)和坐标空间中各个轴的后继相邻量程的数目组成。位置和大小的组合被称为范围。‘当支持调度模块时,可以给定在坐标空间中对象出现(“事件”)的范围。可以通过引用其他事件的范围来定义某些事件的范围,从而使这些事件顺序地排列。当支持定位地址模块时,“定位地址”元素可以被定义为ID同坐标地址的联系(直接地或间接地)。这类定位地址允许对只由位置来标识的对象进行引用。注76:例如,“旬中的第三个词”。它还允许引用对象的任何部位。注77:例如,“句中第三个词的第二个和第三个字符”。6.1.2.3语义定位在任何记法中,任何对象都能用HyTime超文档表示。作为整体的对象可以是元素,因此它也可以拥有一个ID。对象能被包含在事件中,从而有一个坐标地址。当使用地址定位模块时,此模块可能通过查询其性质定位对象。任何树林中的节点,不管节点继承于哪个数据记法,都可以使用HyTime定位地址方式来定位。由于树林中的节点性质在性质集中正式地被定义,因此可能有在任何树林中都可执行的通用查询设施。基于理解记法的句法和语义的“树林的】8 GB/T16965--2009/ISO/IEC10744:1997构造过程”,树林可从任意数据记法中隐式地被构造。(但是,树林能否充分表示给定记法的结构或内容的程度取决于其与SGML的相似点——树林不特意或保证任何记法的充分表示能力)。注78:就实际情况而言,“构造树林”可能仅仅意味着提供一个接口,该接口以HyTime定位地址为输入,并且返回已被定位的数据,这些数据按字面上的树林就已经构造完成了。换言之,不需要逐字地构造树林,只需要操作就可以了,就像已经构造好了树林一样。6.2超文档管理设施任何HyTime的使用都需要超文档管理设施。它们包括对象的表示、标识和访问,以及超文档交换格式。6.2.1对象表示HyTime文档的表示设施由SGML提供,在GB/T14814--1993中进行了定义。HyTime需要使用SGML正式的公用标识符特征,但并不限制对SGML选项和变量的选择。文档表示设施包括:——文档类型定义能力,包括能由应用设计者控制的用户扩展;——对任何体系结构的表示;——信息对象的划分,包括文档的组成部分,如元素、属性和数据内容部分;——包括多媒体对象格式的能力,这些格式可以以任何记法表示;——把处理规范从固有信息中分离出来的能力;——把多种处理规范(“式样”)与元素类型和单个元素联系起来的能力;——清晰独立的实体结构(见6.1.1.1)。注79:在HyTime超文档中,除枢纽文档外的文档和信息对象未必是HyTime文档,且不需要用SGML来表示。对于有内部结构的对象来说,如果已经为它们构造了树林,这些结构只可通过HyTime设施来定位。对象若没有为其构造树林,只能通过在SGML文档树林中引用一个实体节点的方式来定位,其中树林作为数据实体的对象进行声明。6.2.2对象标识和定位HyTime文档中的对象标识设施由SGML提供,在GB/T14814—1993中进行了定义。对外部文档和信息对象的标识由符合GB/T155371995规范的公用标识符完成。注80:GB/T15537--1995允许把公用标识符表示成多种格式,包括的ASN.1结构和SGML形式公用标识符。不必用SGML来表示已标识过的对象。注81:GB/T15537--1995不支持公用标识符形式,例如具有语义内涵的分布对象引用,可被看作正式的系统标识符(见A.6)。6.2.3对象访问HyTime系统的SGML实体管理组件提供了从对象标识到其物理存储的访问方式,它可以调用web处理从远程数据库找回定位的数据。注82:这一过程类似于书库管理员的角色,能通过查找书架或是通过查询目录的方式在另一个书库中找到索引的书。6.2.4有界对象集(BOs)某些HyTime语义,包括超链接锚点语义、活动策略语义和调度语义,通过引用结构(引用者)应用于被引用者。任何引用者的被引用者可能处在不同的对象而非引用者中。因为没有哪个系统能处理所有的文档,这决定了语义可被应用于任何给定信息片段,有必要指明哪些文档包含了那些为了理解在给定HyTime超文档中的被引用者所需的所有引用者。此外,由于HyTime超文档可能有一个以上的对象,因此必须说明哪些对象需要被描述,以形成超文档的完整拷贝。基于上述原因,被看作超文档的HyTime系统所期望的文档和其他信息对象的数量必须是有限的——“有界对象集”(BOS)。如果不清楚所需对象的精确集合,有可能潜在地合并大量的无关信息,导19 GB/T16965—2009/ISO/IEC10744:1997致不必要的延迟、开销和不便。HyTime提供管理有界对象集的设施。这些设施包括公共数据属性、HyDoc元素形式的属性和BOs规范元素形式(见6.4和6.5.2)。从概念上讲,有三种类型的BIDS:HyTimeBOS每个HyTime超文档都是一个“枢纽”文档;整个HyTime超文档处理始于子枢纽文档,允许通过它进入HyTime超文档,换言之,处理会话从HyTime文档开始。HyTimeBOS通过HyTime“枢纽”文档描述BOs。因此,HyTime超文档的作者控制了称作为HyTimeBOS成员的对象集。在HyTimeBOS中对象的成员资格取决于一系列规则,这些规则由关于boslevel、inbos和bosspec属性的体系结构形式的语义,关于maxbos,boslevel和inbos属性的体系结构形式的语义的国际标准定义。HyTimeBOS中的对象也可以通过有前后台背景权限的HyTime超文档作者进行分类。应用BOS应用BOs是组成超文档的HyTime系统的软件开发人员所指的BOS。注83:应用BOS的概念默认认可一个事实,一些系统可能依据所使用的来自HyTimeBOS的成员对象的集合,有意设计成能够处理不同的超文档。例如,对于那些出现在“枢纽”文档中,被web式样URLs引用的文档,一些系统可能将其看作在BOS中,尽管当引用URLs时这些文档并未通过任何相应的实体声明来描述。注84:如果“枢纽”文档中HyDoc文档元素的boslevel属性褴有取值,那么就没有HyTimeBOS,需要应用BOS管理有效的BOS程序集。有效的BOs此BOS由已经成功、完整地整合进那些正在处理中的超文档的所有对象构成。注85:有效的BOS的概念承认这一观点,即这些被超文档作者看作是必要的(并因此在HyTimeBOS),和/或该系统程序员肴作是必要的(这些是因此在应用BOS中应用)的对象,有可能不能完全成功地被获取或整合到超文档中。大部分的国际标准主要关注已完全成功地整合到超文档中的对象集语义,主要关注有效的BOS,不考虑在有效的BOS中成员如何被确定或哪些HyTime成员和/或应用BOS因为何种理由离开或者异常地被包含了进来。由于HyTimeBOs是唯一的其成员被本标准定义的BOS,HyTimeBOS唯一标准化地提出作者想要超文档包含的对象,有理由相信,在处理HyTime超文档的许多应用程序和实例中,应用BOS和HyTimeBOS是一致的,因此,除了特殊情况之外,有效的BOS即为HyTimeBOS。本标准并没有提供表示应用BOs或有效的BOs的方式,仅为HyTimeBOS提供了这些方式。注86:当然,在HyTime文档中无法阻止应用EOS或实际有效的BOS作为HyTimeEOS表达。除了可能为了定位信息,这些信息需要引用未在有效的B0s中表述的部分文档内容,HyTime系统不需要了解任何文档内容的知识和那些不在有效的BOs中出现的对象。如果HyTime系统获得访问文档的内容的权限,例如在这些文档中解析锚点地址,这些文档必须先加入到有效的BOS中。在HyTime处理语义和系统要求规定的范围内,HyTime系统维护知识并在有效的BOS中所有引用者访问所有的被引用者。注87:换言之,有效的BOS是信息对象集,为此HyTime系统在任何时刻有实际假设的责任。有效的BOS概念——系统仅有有限数量对象的观点是可靠的——通过使用实用且可扩展的外部文档的双向语义来产生引用。例如,如果支持调度模块,有效的BOS包含所有fcs元素符合系统可依赖的所有的FCSs,并且所有调度构造都会对它们产生影响。在有效的BOS中,任何一个直接调度或投影到逻辑FCS上的调度、指挥,或者指令都将无效,除非它们也存在于有效的BOS中。(换言之,系统不需要了解不在有效的BOs之中会影响FCSs的任何内容)调度、指挥或指令仅影响FCSs,此FCSs符合不在有效的BOS中描述的fcs元素,是无效的,除非直到这些fcs元素在有效的BOS中声明。(系统可支持另外的文档,在有效的BOS中包含这些引用fcs元素,即使它们不是HyTimeB0s的成员;根据定义这种补充对象是应用B0s的成员)。再例如,如果支持基本模块的活动选项,则有效的BOs就决定了活动策略的有效性。依据有效的20 GB/T16965--2009/LsO/]EC10744:1997BOS中的策略,有效的BOS中的活动对有效的BOS中管理对象来说是有效的。第三个例子,在超链接情况下,系统知道有效的BOS中所有链接的所有锚点。如果这些锚点不在有效的BOS内,不需要知道任何链接的锚点,并且链接的锚点不在有效的BOs中,则它不需要知道任何锚点。如果在有效的BOS链接穿过锚点,对象包含锚点首先要加入到有效的BOs。有些系统不需要任何特殊的用户交互就可能做到了这一点,例如,有效的BOS此后将包含一个没有在HyTimeBOS中指明的对象。注88:添加一个文档到有效的BOS中并不需要添加文档的HyTimeBOS到有效的BOS中,好像添加的文档本身就是“枢纽”文档一样。只有“枢纽”文档描述HyTimeBOS如何被继承,同时,无论如何,一些系统可能忽略HyTimeBOS。HyTime有界对象集(“HyTimeBOS”),通过“发现”一棵“实体树”,把枢纽文档的SGML文档实体看作根,这一过程可由HyTime系统自动决定。“实体树”包括在枢纽文档中声明的外部文档、子文档和数据实体,然后在这些实体中声明外部实体,等等。只有在标记声明的“外部标识符”参数中声明的实体才能被发现。因此,如果通过引用的记法描述形式,外部引用由数据内容产生,这些实体将不被包括在HyTime有界对象集中,除非文档创建者也为其创建了实体声明。注89:本标准不要求系统根据任何特定的方法或次序集成BOS。然而,纯粹作为例子来讲,它可用于考虑以下方式来确定HyTimeBOS中对象成员(交互式HyTime超文档应用的可观的性能的优化,可以通过合理使用前景和背景优先级来实现。为表述清晰,以下方法不考虑采取背景优先级的可能性。)。1)确定未经调整的HyTimeBOs;a)对于每个在枢纽文档实体中声明的实体,枢纽文档实体的子枢纽属性值是子枢纽,完成HyTimeBOS集成处理准确地说像为枢纽文档做的一样。如果子枢纽像子枢纽一样声明实体,需要进行递归进行。每个子枢纽文档实体的HyTimeBOS被临时添加到父文档实体的HyTimeBOS中。任何实体,其父实体如果不是枢纽或子枢纽的话,不要将其看作子枢纽,即使其父实体通过使用值为“子枢纽”的子枢纽属性对其进行了声明;b)发现SGML枢纽文档实体为根节点的实体树,添加每个实体到临时的HyTimeBOS。忽略子枢纽属性值为“子枢纽”的所有实体,除非其父实体既不是枢纽也不是子枢纽,因为它们在前面的步骤中被考虑过了。在实体树的发现过程中,不超过递归的数量,这些递归说明采用小于(i)值的最大BOS属性枢纽(或子枢纽)文档元素的maxbos属性的值,或(ii)符合在枢纽文档实体中的实体声明的boslevel公共数据属性(该属性可能有一个由枢纽(或子枢纽)的文档元素的boslevel属性指定的boslevel属性缺省值),如果,在实体书的发现过程中,一个实体声明的inbos属性有一个“inbos”值,并且在临时的HyTimeBOS中也包括了它,即使处理超出了maxbos或相关boslevel规范。2)适用于所有在bosspecs中说明的校正,这些bosspecs在枢纽文档的文档元素的bosspec属性引用,枢纽文档的inbos属性值不是“inbos”。这可能需要额外的实体树搜索处理。如果bosspec的inbos属性值是“inbos”,添加bosspec的内容和boslevel属性定位的所有对象,以便暂定HyTimeBOS;3)适用于所有在bosspecs中说明的校正,这些bosspecs在枢纽文档的文档元素的bosspec属性引用,枢纽文档的inbos属性值是“inbos”。无论对象是否仍然保留HyTimeBOS的结构。约束可以放置于HyTimeBOS实体树搜索过程的深度,通过枢纽文档的文档元素的maxbos属性,通过实体声明中的boslevel通用数据属性,通过枢纽文档的文档元素的bosspec属性引用的bosspec元素实现。HyTimeBOS表现了作者对分享超文档的对象的意图。但是,系统可能使用一个应用BOS或者HyTimeBOS来指导该有效BOS的集成。而且,系统可能有意无意地从有效的BOS中排除一些HyTimeBOS的对象成员,在有效的BOS中包括非HyTimeBOS的对象。一种可能是为系统使用21 GB/T16965--2009/ISO/IEC10744:1997HyTimeBOS作为有效的BOS的开始,但允许用户添加或删除实体。(按照定义,一旦有效的BOS不再和HyTimeBOS相同,有效的BOS就是一个应用BOS。)那么,系统是否同作者希望的一样展现超文档的问题是一个信息精确相关的议题。有效的BOS可能既不是一个应用BOS也不是一个HyTimeBOS,如果由于环境的制约不能完全集成HyTime或应用BOS,比如无网络连接有缺陷。系统也可能将一个文档是做一个枢纽文档,而不是以会话启动文档,并且使用说明的HyTime。所有三种类型的BOs(HyTime、应用、有效的)都最小限度地包含一个枢纽文档。6.2.5超文档交换格式超文档交换格式是将超文档中的独立文档和信息对象合并为用于交换的单一“数据流”的数据结构。与HyTime一起推荐使用的超文档交换格式是GB/T15536--1995中定义的SGML文档互换格式(SDIF)。注90:本标准为了HyTime超文档翻译没有对交换格式进行约束,应用程序可以选择最适于传输或相互表示的格式。SDIF独立于其携带的信息对象的体系结构和应用程序。因此,单一SDIF实现能够支持所有HyTime应用。SDIF数据流可以携带任意有界对象集,并且不严格局限于HyTime超文档。尤其是,数据流互换可以包括所有单一超文档,也可以包括部分单一超文档,所有或部分其他文档。在所有情况下,SDIF保存文档和信息对象的划分,并且可能保存那些存在于刨建环境中的实体结构。6.2.5.1SDIF打包程序创建BOS的过程(应用或HyTime引擎),应向SDIF打包程序提供包含BOS的实体的名称。如果存在枢纽文档的SGML文档实体,则该文档实体将被标识为SDIF的“主”文档。在SDIF数据结构中,打包程序为每个实体创建“实体描述符”。描述符包括了实体数据。但是,如果实体描述符的外部标识符只是对另一个标识符的简单复制,为避免数据重复,SDIF将创建“交叉引用”。注91:创建数据流的SDIF“打包”过程能识别实体声明以及宴体的媒体类型。在一个通信环境中,在传递超文档时,可以使用这些信息来优化不同媒体的带宽分配和路由选择。HyTime提供了一种方式,其中包括几个实体内部储存数据的单一“容器”实体,从而允许使用交叉和其他技术优化访问多媒体数据。数据的容器是储存在实体描述符上的,而容器对象的实体描述符是与容器交叉引用的(见A.6.3)。6.2.5.2SDIF解包程序SDIF解包程序接受SDIF数据流,并将其内容存储在接受系统的存储媒体中。另外,它可以用作由SGML实体管理器调用的“处理者”或“读者”服务器,按应用程序的需求动态地解包SDIF。如果需要的话,SDIF解包程序可以修改置标说明中的系统标识符,从而与其环境中的存储地址保持一致。当遇到没有实体描述符的实体说明时(通常因为它在HyTimeBOS的界限之外),它能修改系统标识符来表明该实体是无效的。访问该实体的应用将得到一个近似的消息。注92:一个SDIF解包程序可以选择保留发送者的原始外部标识符,以及一个“未收到”的指示和SDIF接受的数据及时间。然后,如果不能成功访问该实体,实体管理器能让应用选择或向发送者要求一个备份或直接在其系统上进行访问。6.3HyTime支持声明一份文档通过SGML声明中的APPINFO参数指明A.3.3.1规定所使用的HyTime符合性。即,就是SGML说明的APPINF0参数声明ArcBase的存在,其中确定HyTime体系结构支持的声明。注93:APPINFO的用途是为在SGML声明中的体系结构用途和HyTime做出声明。然而,体系结构处理能够充分地声明HyTime的用途及DOCTYPE声明内ArcBase处理指令。支持声明包括支持所有体系结构所定义的属性。它们将在A.3.4体系结构支持声明中讨论。22 GB/T16965--2009/ISO/IEC10744:1997HyTime支持属性包括为每个模块控制可选设施使用的支持属性,这些可选设施影响HyTimemeta-DTD的句法。额外的支持属性控制设施的使用,这些设施有语义但没有句法相关。每个模块之后都有一个设备支持属性的命名。属性值包含声明支持模块的可选设施的名字。如果仅指定模块名称,则只有模块的强制性设施的支持被声明,如果有的话(一些模块没有强制设施)。如果指定了其他设施,对模块的支持是隐式的,不需要显式指出。如果描述的属性值是空字符串(⋯)或者属性根本没有指定,并且在记法属性声明列表中声明的缺省值是“#IMPLIED”,那么模块将不被声明。注94:例如,下面的一些属性声明了这样的支持,该支持是为可选的基本模块desctxt设施和不可选的sched模块设施所必需的。不需要链和绘制模块。base一”desctxt”sched=”sched’’除陈述选择项的支持之外,一些选择项需要资格验证。对于这些选择项,在属性名是选项名称时需要提供独立的属性,例如:manyaxes2’’3’’当一个选顶资格属性集有限的时候,如果没有说明取值,那么这个选项将不受限制。如果不支持应有的选项,则忽略选项说明属性。属性最高量程计数极限(hyqcnt)声明一个限制,该限制在文档实例中没有量化计数可超过,包括坐标轴的FCS维和节点列表节点数。Hyqcnt被看作两个超出极限的能力来描述。包括有限坐标空间同等维在结名单内的轴和结的数量。超量极限被指定作为两个超出的极限。HyTime缺省(和任何HyTime的用途最小值)值是4、294、967、295。注95:换言之,当使用hyqcnt默认属性,HyTime执行不需要累计为大于无记法32位整数(2**32—1)容量的量化计数。设计应用程序时需要考虑选择合适的粒度,以防止这个极限被超过。注96:在描述HyTime坐标定位的精度方面,hyqcnt给了应用程序设计者充分的自由。由此,相比无限数量,有限数量的HyTime使用在任何应用途径中对HyTime应用程序没有限制。属性允许任意SGML声明(anySGMLdeclarationallowed,anysgml)说明HyTime处理器是否(anysgml和nanysgml)允许超文档成员使用不同的SGML声明。当取值为nanysgml时,超文档中所有SGML文档必须遵循相同的SGML声明。属性允许外部引用(externalreferencesallowed,exrefs)指明了是否(exrefs和nexrefs)允许外部引用。外部引用不允许时,所有定位地址(除了直接实体引用)必须是产生引用的文档内的对象。缺省允许外部引用。如果不支持定位地址模块,则忽略此选项。属性用于reftype的SGML模型组(SGMLmodelgroupsforreftype,refmodel)指明了reftype属性是否(sGMLmdl和nSGMLmdl)描述所有有效的SGML内容模型或者限制重复元素类型名称的OR组。引用SGML的模式指定了引用属性的所有合法的SGML内容模式或被限制到重复或小组元素类型名称。属性超级链接中允许的最大锚点数(maximumnumberofanchorsallowedinhyperlinks)指明了超级链接实例中允许的最大锚点数。如果此值未说明或为0,则锚点的数量没有限制。如果不支持超链接模块,此选项忽略。属性坐标空间允许最大坐标轴数量(maximumnumberofaxesallowedincoordinatespaces,manyaxes)指明了有限坐标空间中允许的最大坐标轴数量。如果此值未说明或为0,轴的数量没有限制。如果不支持调度模块,则忽略此选项。支持所有选项的设施属性的完整集合,是:(!~HyTime支持声明一)(?GBl6965ArcBasewrime>(!NOTATIONHyTime—H妒ime体系结构一一使用符合GB/T16965的体系结构形式定义要求的基本体系结构一23 GB/T16965--2009/1SO/IEC10744:199724PUBLIC’’(母16965.2008//NOTATIONA唧ARCBASEHypermedia/Time-basedStructuringLanguage(HyTLme)//EN”)(!AT/LIST#NOTATIONHyTimeArcFormANAMEHyTimeArcNamrANAMEHyNamesArcSuprANAMEsHyTimeArclgoDANAMEHyZgnDArcDocFNAME#FIXEDHyDocArcDTDCDATA”HyTime”~由于HYTimemeta-DTD使用8个字符参数实体名称,NAMELEN必须至少是9。~ArcQuant(DATA#FIXED”HAMELEN9”ArcDataFNAME#FIXEDHyBri(mArcBridFNAME#FIXEDHyBrid一对于一些HyTime形式,从属元素的通用标识符对于HyTime引擎来说非常有意义,必须被定制。因此,自动形式映射可能是不合适的。~ArcAuto(ArcAutolnArcAuto:}nArcAutoArcOptSANAMES”C=mlArcbaselinkslocsrendsched”GenArc一通用体系结构设施一(DATA一一Lextype:csr也le+一一’’altrepsdafe"dvlistHyLexHyOrdincludedireftypelextypeopacity目*槛superdcn”hase一基本的模块设施~CDATA-一Lextype±csname十-一”activityactypesbosbosspecconlocdesctxtd虹specHyDimLstHyDimSpcHyFunkmarlKfunvalueref”iocs~定位地址模块设施一一条:63一CDATA一一Lextype:csname十一‘”agrovdefbiblocdatalocdatat。】cgrovplanlistlocmixedlocmultlocnamelecnmsplocpathlocpgrovdefproplocquerylocrefctlreferattreflccreftyperellocspanloctreecomtreeloctree。type”Links一超链接模块设施一~条:6.3一(DATA一一Lextype:csname+一’”agglinkanchlocclinkhylinkilinklinkloctraversevarlink’’sched--调度模块设施一~条:63一(DATA·一Lextype:csname+·一”calibratcalspecdimreffcslocgrpdexgrprepetHyCalSpcHyExSpecHyExtLstHyGrandmeasureokjalignpulsemapsched”rend一绘制模块设施一~条:63一(DATA—Lextype:csname+一”batonbatonseqHyDimProHyExProHyPromodifyobextentpatchprojectproseqwandwndpatch’。anysgml~允许的所有SGML声明~一条:63一(anys9mllnanysgml) NanysgInl一允许的外部引用一条:6.3~(exrefsnexrefs)exrefsRefmodel—reftype相关sGliL模型群一一条:6.3一(se虹adlnSGMKmdl)nSq虹皿dlhyqcnt一最高的量程计数限制一一条:6.3~NUMBER一约束:2的幂)⋯32MJⅫm#I艇LIEDⅢⅢm#IMPLIED一超链接中允许的最大锚点数一一条:63一一约束:必须)⋯2一默认:没有限制~一坐标空间中允许的最大轴数量一条;63~一约柬:必须)=l一~默认:没有限制一GB/T16965--2009/1SO/IEC10744:1997)(!NOTATIONA玎珉№taPtmIC”∞/T16965—2009//mTATl0NAFDRMeta—DTDHoration//口”(!ENTITYHvTime一-HyTimemeta——DTD一一一条:63~PUBLIC”GB/T16965--2009//DTDAFDRHeta—DTDHype堋edia/Time—basedstructuringLanguage(HyTime)//删”CDATAAFDRMeta)6.4HyTime文档元素形式HyTime文档(HyDoc)是体系结构文档元素形式(ArcDocF)(见A.3.6.1)。(!一内容模型参数实体一)(!entity%HyCFC—HyTime与上下文无关的内容一一注:%loc,%link,%resorcequalifybutareusedasmeta-inclusionsratherthanmeta-propersubelements--”%GACFC;HyBridIfcs”)(!entity%loc一定位地址形式一”anclllocbiblocdataloclfcslocIlinkloclistlocImixedlocjn彻elocnmsploclpathloclproplocquerylocIrelloctreeloc”)(!entity%link一超链接形式一”agglinklclinklhylinkilinkIvarlink”)(!entity%resbase一基本模块资源形式一”actrulelbusspecldesctab“25 GB/T16965--2009/ISO/IEC10744:1997)(!entity%resloc一定位地址模块资源形式一”agrovdefldatatokIgrovplanpgrovdef”>(!entity%resschd一调度模块资源形式一”calspeclevschedlextentextlistImeasure”)属性形式有界对象集的例外规范(bosspcat)在枢纽文档为根BOS中标识一个实体,此枢纽文档引用bosspec以控制他在BOS中包含的内容,其优先级或两者都有。Bosspec元素是被引用使用的资源,此引用通过HyDoc元素形式的bosspec属性实现。Bosspec元素必须出现在引用它的枢纽(或子枢纽)文档中。28 GB/T16965--2009/ISO/IEC10744:1997bosspec元素包含一个或多个BOS路径。BOS路径由实体名列表名称构成,第一个实体名称必须需要在包含bosspec的枢纽(或子枢纽)文档中声明。下一个实体名称是在那个实体中声明的实体的名称,等等。BOS路径中最后命名的实体是正在被定位的实体。当bosspec有多条路径时,每条路径封闭在括号内。不符合枢纽文档的具体句法的实体名称可能需要文字说明。属性boslevel,inbos和bosprrty为了同名公共数据属性而定义(见6.5.2)。在所有子枢纽和非枢纽实体树搜索已经完成后,枢纽文档的bosspecs起作用。最终对HyTimeBOS的调整由枢纽文档的bosspecs完成,这些调整中其inbos属性值是“notinbos”的调整在最后起作用,因此它们能够将任何对象排除在HyTimeBOS外,不管它们如何l临时被包含进来的。注107:概念上讲,每个子枢纽的BOS是在枢纽或子枢纽的BOS关于哪个是子枢纽之前建立的。因此,概念上说,最子的子枢纽的BOS首先被建立,枢纽的BOS最后建立,因此,枢纽的bosspecs是最终仲裁者。无论枢纽的自己的子枢纽建立枢纽的BOS(或任何子枢纽的BOS),都可能被枢纽(或子枢纽)自己的bosspecs选择性地放弃。每个枢纽或子枢纽应用其本身的bosspecs作为本身BOS建立的一部分,这可用于例外地包括或排除任何实体,这些实体从BOS中通过联合本身子枢纽的所有BOS,集合由自身实体声明、boslevel、maxbos等建立的BOS包含或排除。bos控制属性不能应用于是BOSs子枢纽的BOS基值。子枢纽的BOS被大量整合,只有bosspec能覆盖它。如果相同存储的对象作为实体在BOS中被多次声明,通过bosspec排除它的声明之一不能自动排除它的其他声明}完全排除存储对象需要排除所有为其替换数据的实体。注108:换句话说,投有任何定义的SGML或HyTime机制决定实际上有相同存储对象的两个不同实体(虽然处理程序自由地定义它们自己的算法处理此事)。(!一有界对象集例外规范~>(![%bosspec;[(!elementbosspec~有界对象集例外规范一~条:65一一用于通过覆盖包括或排除,和由BOS路径标识的实体优先级来影响HyTimeBOS。~一0(#PCDATA)一Lextype:((ENTITY,(csnameliteral)*)(G{瑾0tENTITY,(csnameIliteral)*,Gl越c)+)一一约束:如果使用括号,括起来的每个列表是独立的BOS路径。一一约束:BOS路径中的每个词或字母是由之前的词、字母或实体名称标识的实体中声明的实体名称。一一属性[base]:bosspec一~公共属性[GenArc]:dale,dvlatt,etfullnm,id,irefmodl,ireftype,lextype,opacity一一公共属性[base]:activity,conloc,dtxtatt,valueref一一公共属性[xocs]:refetl,refloc,reftype,rflocspn一一一引用者[base]:HyDoc:bosspec一(!attlistbosspecboslevel一有界对象集例外规范一一条:65一一BOS级别一一来自从每个指定的BOS路径中命名的最后实体的BOS级别受bosspec属性的影响。-一NUMBER一约束:包括在BOS的构造的个体的深度(o=no极限,l=last仅个体)一1Inbos一包括BOS~一无条件指定在每个BOS路径中命名的最后实体声明的对象的BOS优先权,到bosspec的boslevel属性指定的BOS级别。一(inbosInotinbos)#IMPLIED一默认:未受影响的BOS—bosprrty一定有界对象集优先权一一无条件指定在每个BOS路径中最后命名的实体声明的对象的BOS优先权,到bosspac的boslevel属性指定的BOS级别。一一注:bosprrty属性的语义不受inbos属性值的影响(即,明确说明“inbos”或是隐含表示)。一29 GB/T16965--200911SO/IEC10744:1997(foreqrndIbackgrnd)#IMPLIED一默认:无优先权变化一)33>(!一bosspec一)6.6HyTime体系结构的桥接形式元素形式HyTime体系结构的桥接元紊(HyBrid)用来桥接HyTime和非HyTime元素。没有为HyBrid形式定义而不是由HyTime公共数据属性提供的HyTime处理。HyBrid形式必须用于任何元素类型,这类类型使用任意HyTime公共属性但没有更详细的HyTime元素形式。当体系结构置标最小值有效时,HyBrid形式自动被用于任何被认为是体系结构类型但无更详细HyTime形式的从属元素(因为有唯一标识符)(见A.3.6.2)。(!~HyTime体系结构桥接元素~)(!elementHyBrid—HyTime体系结构桥接元素~一条:66一一-0(%HyCFC;)*~属性[base3:HyBrid一~公共属性[GenArc];dafe,dvlatt,etfullnm,id,irefmodl,ireftype,lextype,opacity一一公共属性[b酗e]:activity,conloc,dtxtatt,valueref一~公共属性Ills]:refctl,refloc,reftype,rflocspn一)valueref属性指出元素Para的内容将通过引用使用引用属性“conloc”(conloc属性是引用性的,由于它有声明的“IDREF”的值指示)来定位。当名称对中第一个名称是“#ELEMENT”时,有效元素节点是通过以第二名称命名的属性或内容定位的单一节点。当定位的对象是一个文档或子文档实体,有效元素节点时定位文档的文档元素。作为有效元素节点对多个节点定位是RHE。作为属性、内容或者元素的有效值定位的对象不需要满足在相关文档的文档类型声明中定义的句法约束。然而,它们必须满足通过处理应用定义的所有语义约束。定义这些约束的机制是在HyTime标准范围之外。注114:语义约束包括属性的词汇类型、引用元素的内容模型、一个或多个体系结构元内容模型符合性,或者其他与SGML定义约束无关的语义约束。应用设计者能使用引用类型控制HyTime设施和通用体系结构以便控制类型和引用的元素组织。引用值不修改如何解析SGML文档。注115:概念上,值引用的结果由HyTime语义树林维持,而非HyTime有效SGML文档树林。这特别意味着通过值引用定位的节点不出现在任意命名空间中,此命名空间在文档的HyTime扩展SGML文档树林,如果节点源不在那个树林,引用值产生于文档。、因此,如果在另一个文档的元素通过值引用由元素内容产生,引用元素仅通过名称文档内进行定位,不能通过关于引用元素的树的位置直接定位。3] GB/T16965—2009/ISO/IEC10744:1997出于通过HyTime的定位地址的方式访问属性值和元素内容的目的,即使有为属性或内容直接说明的值,仍然总是使用通过值引用定位的数据。性质或内容的直接指定的值说明使用引用值的数据。唯一例外是性质位置定位,它能选择性的定位属性或元素的直接值而非引用值。注116:换句话说,从直接值到间接定位值,valuere{服务于“redirect"’定位地址。通过不同于HyTime引擎(例如DSSSL引擎)的方法决定的地址不需要考虑通过值引用属性执行的改向。当支持定位地址模块时,任何支持的定位方式可能用于值引用。如果不支持定位地址,值引用属性必须声明为IDREF,IDREFS,或者ENTITY或ENTITYS,并且内容不能用于值引用。使用值引用去引用其内容的元素可以允许句法内容。不需要为元素有效内容声明#CONREF默认值属性的值引用提供属性——在任何情况下指定值引用属性(除非内容本身包含引用)时,任何依照造句法的内容为了HyTime处理而被忽略。、注117:在上面的conloc例子中,Para元素能有句法的内容,但是给Para元素内容定位的HyTime定位地址将通过Para的conloc属性而非句法内容中的数据(除了被proploc元素形式提供外)来定位。《!一值引用属性名称~)《![%valueref;[(!attlist一-valueref一一值引用属性命名器一一条:6.7.1一#舡山valueref一值引用属性命名器-一一将属性(或元素的内容)与能被用来引用此属性或内容的语义值的引用属性(或内容)相联系。~CDATA—Lextype:((ATTORCONl”#ELEMENT”),ATTORCON)+一一注:第一个ATIX)RCON是为其进行值寻址的属性或内容,第二个ATTORCON是通过其进行值引用的属性或内容。~一约束:每对中的第二个属性必须是可引用属性或被refloc设施定义为可引用的内容。~一约束:“#Ⅲ母唧T”和“#CONTENT”也许只作为某对的第一关键字出现。“#CONTENT”也许仅作为某对的第二个关键字出现。一#IMPLIED一常量一)33)(!一valueref一)为了向后兼容,包括以下形式。(!一内容地址--)(![%conloc,[(!attlist—conloc一一内容定位~一条:67.1一#ALLHyBaseNAME#FIXEDHyBridvaluerefCDATA#FIXED”#CONTENTconloc”conloc一内容定位~~元素语义内容的定位。一CDATA一引用~#CONIC2一默认:句法的内容一)]])(!~conloc一)6.7.2描述性文本描述性文本内容设施是可选择的值引用形式,该引用允许文档中频繁重复的元素通过在查找表中描述性名称进行访问。查找表可能被重视做为描述性文本提供定义,其中的定义是被描述的元素内容和属性。6.7.2.1描述性文本属性属性形式描述性文本属性(dtxtatt)允许通过描述性的名称来描述元素的内容和属性。如果使用此形式须定义它的全部属性。32 GB/T16965--2009/ISO/IEC10744:1997属性描述性文本(desctxt)是描述高频使用元素的字符串。描述性文本通过去除外来空白和优化查找表来规范。如果说明了该属性,则元素的内容必须是空。对当前表的描述表进行查找,从而找到描述性文本第一次出现的位置。如果找到一个并且其定义的元素类型与该元素相同,则将此定义的内容和属性(而不是它的唯一标识符和描述性文本属性)与该元素的唯一标识符(如果有的话)一起使用。或者,如果定义满足该元素的内容模型,则定义可作为内容处理,如果当前表中没有找到描述文本,或者所找到的文本的定义不满足上面任何一个条件,都是RHE。属性描述表(desctab)规定了描述表的一个有序的描述表的列表,这些描述表将被用于查找描述性元素。该列表可以一直使用,直到作用于同种元素类型(或者共享该属性表的元素类型集合)的该属性再次出现才改变。其出现的顺序就是文档用SGML表示中的顺序。注118:请注意描述性文本和值引用设施的区别。它们都允许元素的内容出现在句法内容之外,但是,valueref给可能出于其自身目的存在的另一个对象的内容进行定位,而desetxt把它从作为引用资源创造的元素表中引出。(!一描述性文本属性一)《![%desctxt;[(!attllst—dtxtatt一一描述性文本属性~一条:6.721一#A工Ldesctxt~描述性文本一一如果被指定,它的descdef由HyTime作为元素或作为它的内容进行处理。一CDATA一一Lextype:words一一#CONREF一默认:句法内容(和属性)一desctab一描述表一~当前描述表一CDATA一引用一—-Reftype:desctab+—一一限制:搜寻按顺序被列出的一#IMPLIED一默认:使用以前指定的表集一)]]>(!一desctxt一)6.7.2.2描述表元素形式描述表(desetab)是一个联系带有属性和内容定义的描述性文本串的查找表。注119:例如,申“longpause”被有3秒范围并且含有“pause”元素的事件元素定义。应当使用表中第一次出现的描述性文本。以后出现的描述性文本将被忽略而并不会报错。注120:样式表可以包含重定义描述性文本的描述表。(![%desctxt;[(!elementdesctab一描述表一一条:6.722一一描述性文本定义表~一O(desctxt,descdef)+一公共属性[GenArc]:dale,dvlatt,etfullnm,id,irefmodl,ireftype,lextype,opacity一一公共属性[base3:activity,conloc,dtxtatt,valueref一一公共属性Ills3:refctl,refloc,reftype,rflocspn一一引用者[basel:dtxtatt:desctab一>]])]])(!一desctxt一)6.7.3活动策略关联在交互式系统中为交互可用的数据对象有显式或隐式的联合访问策略。在许多系统中,访问策略隐藏在系统设计中,或者通过系统设施来表示,如基于用户的访问许可。通过显式地关联活动策略定义和策略应用对象,策略可能也与对象关联。典型地,信息对象的所有者与所有者策略相关联。例如,一项保护知识产权所有者性质的策略可能需要在允许访问之前购买许可证。HyTime活动策略关联设施是表达信息对象活动策略的附属(“关联”)的标准方式。这些策略起作用,并应用于(“触发”)任何用户、作者和编者尝试使用与信息对象交户的预定义类。“活动”是所有这些交互作用的通用术语;交互作用的每个类是一个“活动类型”。HyTime既不标准化表示,也不标准化活动策略规范和执行的细节管理。活动策略的定义是应用程序规范,包括用关联方式和定义方法,包括在自然语言和计算机程序交互中表达的合法协定。注121:支持活动策略选项的HyTime引擎可能提供服务来管理策略和受策略管理的对象的关联,但可能无法理解或执行策略本身。通过区分活动类,为用于特殊活动类的策略询问HyTime引擎,拿来这些策略以某些形式负担,甚至可能强制的方式,一个完整的HyTime系统可能使用基础设施关联管理服务。另一种选择,HyTime引擎可能理解、甚至执行某些类型的策略,合并HyTime引擎的完整HyTime系统的设施可能不需要开发活动触发策略和执行性质。与信息对象相关的活动策略关联规则有两种方式:SGML元素对象能够引用使用规则属性形式管理活动策略规则,和活动策略规则元素可以引用包括但不限于SGML元素的任何信息对象。在任意事例中,活动策略自动关联信息对象本身的同时,也关联其元数据(在SGML元素中指属性值)和其所有内容组件。活动策略可以同所有记法的任何对象相关联;它们的适用性不仅限于HyTime或SGML记法中的对象中,已定义的HyTime活动类型甚至活动通过不被HyTime或SGML支持方式完成时都可用(见注126)。34 GB/T16965--2009/1S0/1EC107441997公共属性形式活动策略关联规则(activity)引用一个或多个管理元素产生引用的活动策略相关规则。(!一活动策略的公用属性~)[一活动策略关联规则一一条:673一#ALLActrules一活动策略关联规则~一适用于这个元素的活动策略关联规则一CDATA一引用一--Reftype:actrule*一一#IMPLIED一默认:投有活动策略关联规则通过这个元素以管理的形式来指定。一)]])(!一活动一)元素形式活动策略关联规则(actrule)定义了关联规则。actrule元素能够用于声明特殊信息对象和特殊策略之间的关联关系,或者声明从特殊策略中分离特殊信息对象,因而可能会使其他actrule元素失去部分有效性。尽管最终效果可能是策略与对象分离,关联或分离策略的行为被引用作为一般的对象“应用”策略。另外,actrule可被用于使其他aetrule声明的所有关联或分离失去效用。关联的策略通过在被管理对象上执行的活动类型来区分。活动类型可能被从任何应用程序定义的方法中的任何其他类型中区别出来。HyTime定义了活动类型集;这些或其他类型可在任意关联中使用。注122:区别活动类型的主要目的是允许执行优化,仅用于特殊类型的活动的策略需要被应用触发、找回和强制。没有这些区别,所有策略总是需要被任意种类的每个活动尝试触发。一般情况下,如果有通常位于给定应用程序由策略集管理的特殊活动类或子类.需要考虑活动类型,有无部分或全部HyTime定义的默认集合,应用细节集的声明和使用。HyTime定义的活动策略类型有:创建(create)对象创建策略适用于对象创建时。注123:对象创建行为策略不同于活动的其他所有类,因为它不是由用户尝试做事情来触发。恰当地说,它之所以存在是因为它对知道什么策略在事实上管理对象的创建是有帮助的}这种策略可能指明了该对象在何处交叉列出。对象创建相美信息如何以及在哪里存储,等等。访问(access)对象访问策略应用于任何时候尝试读、检查或其他,使用或访问在以该对象为根的子节点树上的对象或任意节点。注124:复制对象时,除复制策略之外,访问策略也必须应用,因为复制的时候不可能不访问。(虽然可能相对来说不太常见,对象的修改或删除发生时没有首先访问它们也是可能的,但在修改、删除策略触发的地方,访问策略也经常被触发。)复制(copy)对象复制策略用于尝试复制对象时。删除(delete)对象删除策略用于尝试从它们存在的本文中删除对象时。注125:至少从删除文档角度来看,文档中对象的删除等价于它的销毁。文档删除策略在这种情形下需要加工关于说明删除信息的实际破坏的可能性。修改(modify)对象修改策略用于尝试修改对象时,包括修改或删除以此对象为根的子节点树的任意节点。链接(1ink)非链接(unlink)对象超链策略被看作超链接锚点,用于尝试指出对象(或以此对象为根的子节点树的任意节点)。例如,对象超链策略可能在尝试创建对象超链或尝试添加超链到对象的HyTime文档时被触发。对象非链接策略用于尝试删除被看作超链接锚点的对象(或以此对象为根的子节点树的任意节点)。例如,对象非链接策略既可以由尝试删除指向对象的35=亘.一蒜 GB/T16965--2009/ISO/IEC10744:1997调度(schdul)非调度(unschdul)超链接,也可以由尝试移动指向对象的超链接来触发。对象调度策略适用于尝试调度对象、修饰者或者方案(或以对象为根的子节点树的任意节点)。例如,调度对象策略可能既可以由尝试调度对象,也可以由尝试添加包含调度对象的调度事件的HyTime文档来触发。对象非调度策略用于在合理FCS中尝试移除调度对象、修饰者或者方案(或以对象为根的子节点树的任意节点)。例如,对象非调度策略既可以由尝试从FCS中移除对象,也可以由尝试从包含调度对象的调度事件的BOSHyTime文档来触发。重新调度(reseb.duD对象重新调度策略用于在FCS中尝试改变对象显示的有效范围(或以对象为转换(trnscl)不转换(untrnscl)根的子节点树的任意节点),同时不移除或添加对象的显示。(否则,重新调度或非调度策略可能会相互替换。)对象转换策略用于通过尝试引用合并对象(或以对象为根的子节点树的任意节点)到任何其他文档或超文档(例如,通过实体引用的使用,值引用属性,或超链接,其应用程序语义是转换。)。对象不转换策略用于通过尝试(或以对象为根的子节点树的任意节点)不再通过引用合并到任何其他文档或超文档(例如,通过实体引用的使用,值引用属性,或超链接,其应用程序语义是转换)产生对象。注126:对象超链接和非超链接策略仍然应用,既使当创建中的超链接没有在HyTime或SGML记法中表示。应用对象调度、不调度或重新调度策略,即使使用的调度设施不遵循HyTimefes(或相关的)元素的语义,调度信息未在HyTime或SGML记法中表示。HyTime和SGML提供若干机制,为何转换可能发生,包括SGML实体引用,HyTime值属性,和应用程序定义的语义是转换的一部分的HyTime超链接。如果活动的效果是使一个文档的部分或者全部以任何方式显示,好像它是另一个文档的一部分,与使用的机制无关,与使用的机制是否是SGML或HyTime机制无关,对象转换或不转换策略都会应用。注127:活动策略可能会考虑在多种类型的活动中扮演角色的对象的BOS状态。例如,——对象超链接策略可能会忽略超链接活动,如果策略仅包括添加有效的BOS的已存在的文档,此文档同时包含对象和超链接;或者如果根据枢纽文档的规范,对象和超链接丽者都包含于继承的超文档。——对象超链接策略可能会忽略非超链接活动,如果策略仅包括从有效的BOS文档移除,此文档根据中枢文档的规范,不是继承超文档的HyTimeBOS文档的成员之一。HyTime定义了以上的活动类型,默认情况下,每种类型都有相应的同名“活动类型”属性,这些名称也在actypes属性的默认值中被提及。每种活动类型属性都说明了策略的定义,用于那种试图通过规则管理对象的类型的活动。活动策略关联能够传达多对多的关系。单一的活动策略能包含许多条件集合,在此条件下给定活动可能被允许或不被允许;并且如果尝试执行任意由活动策略管理的活动,会产生许多行为集合。许多活动策略可能管理一个或多个活动,并且单一的活动策略能管理活动类型的任意组合。通过行为规范管理属性指定的对象必须在贯穿有效BOS的任何活动被允许之前限制在它们的管理活动策略中。通过行为规范的活动类型属性和其他元素的行为规范属性指定的对象,能在第一次活动之前的任何时间被限制,该活动包括任何其管理活动策略通过从这些属性来关联对象。如果支持基本模块的活动选项,如果任何管理、行为规范和活动规范的活动类型属性不能完全被解决,那么是可报告的HyTime差错的,当任何解决它的方法都尝试过。属性被管理的对象(governed)引用这些对象,它们应用于采用由活动类型属性描述的策略。属性关联或分离(associat)指出,对于被管理的对象来说,行为规范关联(assoc)或分离(dissoc)策略是否由活动类型属性来描述。36 GB/T16965—_2009/ISO/IEC10744:1997属性无效活动策略关联规则(nullify)使建立在引用的行为规范基础上的相关(或分离)失去有效性。然而,行为规范无效由效果中的无效行为规范来描述。所有关联(不是明确的分离)策略的集合通过应用于任意给定信息对象的所有有效行为规范元素来表达,与关联是否由一个或多个行为规范元素的被管理属性产生,或通过一个或多个行为规范元素和被管理对象的行为规范属性来表达,或通过描述关联的两种手段来表达并无多大关系。本标准不定义应用策略的顺序。在允许成功尝试执行一个活动之前,必须满足所有可应用的策略。多次关联的策略,与之前只关联一次的策略一样,是有效的。注128:如果重复描述相同策略,HyTime引擎可能或不能在报告管理信息对象的策略之前消除冗余,这取决于策略如何被重复引用。可能会由系统其他部分来识别冗余并消除它。作为一个实际问题,为了让活动策略能起作用,被管理的信息对象、活动策略和将策略和对象关联起来的行为规范必须全部在有效的BOS中出现,而没有分离或无效的行为规范在有效BOS中出现。因此,无论谁(或者什么)控制有效BOS中的成员资格,也能有效地控制应用程序的活动策略。注129:这种方式,例如,如果B组织从A组织购买了超文档的所有权限,作为交付给B的超文档包含一些管理活动策略的集合,B并不需要为了改变先前存在的活动策略的有效性和/或用新的策略替换它们而去编辑超文档。相反的,所有B需要做的事是添加新的枢纽文档到超文档中,此超文档声明老的枢纽文档作为子枢纽,并且包含使A的旧文档无效(或部分无效)的行为规范,为B的有效BOS中包含的内容提供新的行为规范和策略(可能在HyTimeBOS中包含它们)。当然,如果起始的超文档没有防止关联新的括动策略规则的活动策略,B组织就只能做这些。另外,这个例子假设,两个组织在强制括动策略的同一系统内操作,例如企业的内网。重写已存在活动规则的能力并不意味着在枢纽文档中定义的规则能通过将枢纽文档变成另~个枢纽文档的子文档来重写。这是因为执行活动策略的唯一途径是通过逻辑引用访问超文档的成员,逻辑引用直接或间接地从枢纽文档到超文档的其他部分来建立(例如,通过超文档中的超链接从枢纽文档到其他文档)。如果有的话,这些引用需要触发超子枢纽超文档的相应活动策略。注130:HyTime无须要求所有访问超文档的成员都通过枢纽文档产生引用来实现——如果活动策略被有效地强制执行,那么从枢纽文档开始访问仅仅是实践的现实。换言之,活动策略只能在需要访问控制的封闭系统中强制执行。然而,活动策略即使在不可控的环境里仍是有价值的,因为它们传达期望的策略,不管是否可以通过访阃系统来强制执行(例如,可用于匿名FTP的程序相关的共享软件许可策略)。属性活动类型(actypes)的取值是从属元素类型的活动类型属性的名称列表。其默认值是HyTime定义的活动类型的完整列表。在任意给出的从属元素类型中,列表能包括所有、~些或零个HyTime定义的活动类型,和许多应用程序定义的活动类型,每个活动类型也声明为从属元素类型的属性。如果使用了任意一个HyTime定义的活动类型,那么它们的语义也通过本标准定义。如果声明了不同于本标准中声明的任意活动类型,则必须支持基本模块的actypes支持选项。]])(!一activity一)6.8坐标规范“坐标地址”是通过对象的相对位置来描述位置的一种方式。坐标地址只有在“坐标空间”的上下文中才有意义:即有一个坐标轴和一个沿轴的度量系统。HyTime定位地址和调度这两个模块都使用坐标规范,在坐标空间中定位对象和描述对象的位置。支持坐标规范是基本模块的一个选项,基本模块大体上被一些地址定位元素形式和调度模块所需要。概念上说,短语。句子中的第三个和第四个单词”是在坐标空间中定位对象的一个例子,这个坐标空间有一个轴,即句子。为了度量,轴被分成可数的不可再分的量。在这个例子中,量即是单词。这样,轴就是有序的量集。在轴上的对象通过“维”定位;维由两部分组成:一个沿轴的位置和一个量程计数(该对象占据的所有量程数)。对象沿轴的位置由对象所占用的第一个或最后一个量程的数字所给出。对象的量程计数则直接给出或源于第一个和最后一个量程的数字。在上例中,“第三个和第四个单词”的维可以用第一个量程(3)和紧接着的量程(2)的量程数字来描述:“32”。最后一个量程的量程数字则应该是4。注131:HyTime使用术语“维”作为其度量长度,可看作机械绘画,而不是“多维空间”中的“维”。6.8.1HyTime轴标记列表记法本条定义的HyTime轴标记列表是HyTime文档中描述维的默认方式。(!~H妒ime轴标记列表记法一)(![%HyMrkLst;[(!notationHyMrl【Lst—HyTime轴标记列表记法一一条:681一一一H妒ime轴标记(有符号的非零整数)和标记功能(符合markf岫构造形式的元素)列表。枷记功能对标记列表进行评估一PUBLIC”GB/T169652009//NOTATIONHyTimeAxisMarkerListNotation//EN”一公共属性[GenArc]:altreps,included,superdcn~39 GB/T16965--2009/ISO/IEC10744:1997一公共属性[base]:bosdatt一一公共属性[10cs]:egrvplan~)]])(!~HyMrkLsb一)6.8.1.1轴标记列表轴标记是一个非零整数,表示在坐标轴上的位置。正值从范围起点计数,第一个量程从i开始。负值从范围结尾的方向计数,最后一个量程从一1开始。轴标记列表是轴标记与(或)分解轴标记的元素的混合列表。注132:当支持标记函数(markfun)选项时,轴标记在文档中使用不同的记法来说明(见6.8.1.2)。体系结构参数实体marklist列出了可以在任何允许使用轴标记的地方使用的结构。这参数实体用于其他体系结构内容模型的定义。《!entity%marklist一轴标记列表内容模型~一条:6811一~解决标记列表的数据和元素。~”#PCD对TAdimrefmarkfun”)6.8.1.2标记函数标记函数是分解零或多个轴标记列表的元素。用于描述标记的记法是随意的并且是用户定义的,但记法处理器必须将轴标记列表返回给标记列表记法处理器。注133:换言之,支持标记函数的标记列表记法处理器必须提供一套接口,使的标记函数记法处理器可以返回轴标记列表给标记列表记法处理器。注134}HyTime轴标记列表记法,HyTime标记函数语育(见6.8.6HyTime标记函数语言(HyFunk))和HyTime雏引用记法(觅9.8维引用)是所有标记函数的记法。元素形式标记函数(markfun)包括被看作返回一个或多个轴标记的函数的元素或数据。(!~标记函数一)]])(![%HyDimSpc;[(!notationHyDimSpc—HyTime维规范记法一一条:6,82一一对轴标记符(在HyTime轴标记列表记法中,在标记函数分解之后),一起指定沿唯一轴正向的量程计数。一pUBLIC”∞/T16965--2009//NOTATIONHyTimeDimensionSpecificationNotation//EN”一属性[b∞e]:HyDimSpc一一公共属性[GenArc]:altreps,included,superdcn一一公共属性[base]:bosdatt一一公共属性[10cs]:egrvplan一)(!attlist#NOTATIONHynimSpc—HyTime维规范记法一~条:682—41 GB/T16965--200911SO/IEC10744:1997GerlArcN】Ⅺ#FIXEDGABridNsuperdcnNAME#FIXEDHyMrkLst}《!entity%HyMrkLst”INCLUDE”)]])(!一HyDimSpc一)6.8.3维规范元素形式维规范(dimspec)包含被认为是在某一轴上的某一维的元素或数据。(!~dimspac一>6.8.4维列表记法形式HyTime维列表记法(HyDimLst)允许描述维列表,且不要求显式的维规范元素。(!一HyTime维列表记法一)《![%HyDimLst[(!notationHyDimLst—HyTime维列表记法一一条:6.84~一维列表中的每项描述了轴标记对(在HyTime的标记列表记法中),或通过标记函数返回的所有、部分轴标记列表。一PUBLIC”GB/T16965--2009//NOTATIONHyTimeDimensionListNotation//EN”一属性[base]:HyDimLst一一公共属性[GenArc3:altreps,included,superdcn一一公共属性[base]:bosdatt~一公共属性[foes]:eqrvplan一)(!attlist#NOTATIONHyDimLst—HyTime维列表记法一~条:6.84—4Z GB/T16965--2009/ISO/IEC10744:1997GenArcNAME#FIXEDGABric咐superdcnNAME#FIXEDHyMrkLst)]])(![%overrun;[(!attlist—overrun-一一越界处理一条:685~(dataloc,dimref,event,evgrp,fcsloc,listloc,modgrp,modscol】e,pathloc,progrp,proscope,relloc,treeloc)overrun~越界处理一~越界维处理一(errorignore{truncwrap)error)]]){!一overrun一)6.8.6HyTime标记函数语言(HyFunk)HyTime标记函数语言(HyFunk)提供了用于在标记函数中完成标记的整型算术运算的最小化函数。HyFunk是基于DSSSL表示语言的。(!一HjfTime标记函数语言一)(![%HyFunk;[树中元素(clink锚点)树林地址需要的定位梯阶的台阶可能在每个定位地址形式都被定义的情况下被隐含。例如,上文描述的关于名称空间定位的隐含树林地址可以通过创建其“树林源”是文档实体的树林定义明确。然后那个树林定义可以作为性质定位地址的定位源,定位了树林根的元素性质的地址。接着这个性质定位地址可以作为名称空间定位地址的定位源。注145:隐含树林地址概念上作为标记最小化形式,因为任何隐含树林地址行为都能被同等直接或间接对树林定义的引用代替。例如,名称空问定位地址的默认隐式定位源是在SGML文档树林中SGMLDOC对象的“元素”性质。该定位梯阶可以被清晰描述如下:(!~注意:实体Doc被声明为带有SGML记法的数据实体一)(pgrovdefid--doebgrovgrovesrc=DocBgrovplan=HyTime)nmsploc[1]一)nmsploc[-2]一)通过名称命名的节点(clink锚点)每个名称空间定位都是从clink(thereferrer)到最后定位节点(成为clink轴)路径中的一个步骤。每个名称空间定位之上是其定位梯阶。对于第一个名称空间定位,其定位源是包含第二个名称空间定位地址的文档实体,第二个名称空间定位的定位源是包含其命名节点的文档实体。注150:事实上不同路径中的不同路径步骤会使用相同元素作为其定位梯阶台阶,与信息建模观点无关,但是也许和执行有关。对用在不同路径中的公用元素也是一样。换句话说,对于给定的定位地址元素,HyTime什么不知道在其之下是或在其左边是什么;仅仅知道其定位梯阶之上的台阶(10csrc和locsrc,等等)和向右的步骤(其定位的对象和已经被定位对象,等等)。当不支持多重定位选项时,定位路径总是单个步序列,将单个最初引用与不是定位地址的单个对象相联系。当支持多重定位选项时,路径中任意步都能给多重定位地址和非定位地址元素定位,创建路径“扇形展开”。但是,解决分支定位路径的最终结果是单个节点表。注15]:定位路径中给其自身直接或间接定位的步是RHE。定位路径中每一步都有自己的定位梯阶。7.1.4树林和定位地址所有定位地址在树林中对地址节点起作用。树林由“树林构建过程”根据特殊性质集和树林规划47 GB/T16965—2009/ISO/IEC10744:1997修建。任何定位梯阶的最终定位源都是树林。在HyTime中,树林可以通过用于隐式定位源的规则和特定定位地址元素的语义进行隐含地位。树林也可以显式地被定义和定位。另外,任何定位地址元素能使用树林规划,和用来构造是其最终定位源的树林规划不同,以特殊“视角”给树林定位。了解关于树林的更多一般信息见A.4性质集定义要求(PSDR)。7.1.4.1树林规划树林按照特殊性质集建造,定义树林构建自其中的一套节点类和性质。每个数据记法必须有其自身的性质集(例如,SGML记法的SGML性质集,见A.7SGML性质集)。树林构造器使用的“树林规划”可以决定构建的树林包括哪些类和性质。通过性质集本身或是别的一些默认机制定义树林规划是被清楚地说明还是默认树林规划。包含性质集中所有类和性质的树林规划是“完全树林规划”并且产生“完全树林”。性质集典型地定义不是完全树林规划的默认树林规划。树林规划通过从树林定义元素、数据实体和定位地址元素中引用树林规划元素说明。明确树林规划和对其引用支持树林规划选项。树林规划可以被用来控制特殊定位地址如何给树林做视图。当被应用到已经构建的树林中时,树林规划可以当作此树林的“过滤器”,目的就是解决定位地址。注152:已定位节点可以从树林中被挑选出,树林规划不会修改这样的树林。例如,被树林规划排斥的已定位节点的性质仍然可用。元素形式树林规划(grovplan)通过定位地址元素或HyTime文档为使用定义树林规划(定义树林规划过去常常用来构建HyTime文档的有效SGML树林,见6.4HyTime文档)。树林规划包含可以列出在构建或是对树林定位时被包含或省去的模块、类、属性的子元素。树林规划可以修改默认树林规划,这个默认规划在树林规划引用的性质集中定义。属性性质集(propset)涉及包含性质集定义文档的实体,树林规划应用到该文档中。注153:如果性质集定义文档不能访问,不一定是差错;性质集的知识通常被写入相关软件,执行中也许不要求对其访问。元素形式包含模块(inclmods)和省略模块(omitmods),列出将被包含或省去的模块。包含或省去模块不会阻止分男0包含或省去在那个模块中定义的类或属性。在同一个树林规划中,模块遗漏总是代替模块蕴含。包含模块或省略模块元素的内容必须是模块名称列表。元素形式包含类(inclclas)和省略类(omitclas),列出将被包含或省去的类。类遗漏总是代替类蕴含。包含类或是省略类的元素内容必须是类名称列表。元素形式包含性质(inclprop)和省略性质(omitprop),列出将被包含或省略的性质。属性被包含或省略类(classes),列出将包含或被省略性质的类。如果没有说明任何值,从展示此性质的所有类中包含或省略性质。省略类总是可以替代包含其任何性质。性质省略总可以代替性质包含。inclprop或omitprop元素内容必须是性质名称列表。(!~树林规划一)(![89rovplan;[(!elementgrovplan一树林规划一一~条:71.41一~指定完全树林地址空间的子集。一·0(inclmod?,omitⅢ(x:I?,inclclas?。omitclas?。inclprop?,Omltprop?)一约束:能包含被省略模块中的类和性质(但不是被省略类中的性质)。一~属性[10cs]:grovplan-一~公共属性[GenArc]:dale,dvlatt,etfullnm,id,ireftype,lextype,opacity-一一公共属性[base]:activity,conloc,dtxtatt,valueref-一~公共属性[10cs]:refctl,refloc,reftype,rflocspn-一一引用者[1。cs]:agrovdef:grovplan,dgrvpZan:grovplan,egrovplan:grovplan,igrvplan:grovplan,pgrovdef:grovplan--48 (!attlistgrovplanENTITY#REQuII∞(!一grovplan-一)注154:间接地址可能会用于文档中涉及的树林规划,而不会用于定位地址、树林定义或HyTime文档元素中的树林规划。7.1.4.2HyTime默认SGML树林规划正如SGML性质集中所定义,SGML文档中主树是一些元素的树,其内容以文档元素为根。SGML性质集允许出现在元素中的所有东西存在于元素内容性质中(并且因此作为此元素的孩子,基于树定位目的)。然而,因为HyTime主要被用于给元素及其“语义内容”定位(非正式情况下,元素内容将被在文档格式化视图中提出),HyTime定义SGML文档默认视图,将元素的孩子限制为元素和数据部分中。HyTime默认树林规划将元素内容限制为两个节点类型:元素和伪元素。伪元素代表相邻节点序列,其在一个标记关闭和下个标记开放之间的混合内容中被允许。注155:伪元素通过让树位置对元素间数据字符变的不敏感,更加容易地给元素和使用树定位地址的字符数据定位(除添加或删除完全伪元素的情况)。因为在HyTime默认树林规划中,备注、标记声明和处理指令被认为不是元素的孩子,在决定伪元素节点内容时将被忽略。(但是,如果树林用通常包括一些节点类的树林规划构建,这些节点类将存在于HyTime定位地址返回的伪元素内容中。)定位地址默认使用已构建树林的树林规划。HyTime默认树林规划用来为没有指明显示树林规划的HyTime文档构建HyTime有效的SGML树林(通过hydoc元素形式的grovplan属性或SGML文档实体的grovplan数据属性)。HyTime树林规划按SGML性质集定义的那样对SGML默认树林规划进行修改(SGML默认树林规划也是DSSSL默认树林规划)。HyTime默认树林规划是:《!DOC唧Egrovplan[50 GB/T16965--2009/ISO/1EC10744:1997(?ISl0744ArcBaseHyTime)(!NOTATIONHyTimePUBLIC”GB/T16965--2009//NOTATIONAFDRARCBASEHypermedia/Time-basedStructuringLanguage(HyTime)//EN¨>(!ATILIST#NOTATIONHyTimeArcDocFNAME#FIXEDgrovplanAreDataFNAME#FIXEDHyBridNArcDTDCBATA#FIXED“HyTiae”ArcQuantCDATA#FIXED”NAMELEN9”ArcOptCDATA#FIXED”grovplan”>])(desc>从sG吐性质集中的默认sG吼树林规划中移除处理指令(pi),添加伪元素。(/desc>pelement(/inclmod>(omitclas)pi</omitclas>(/grovplan}7.1.4.3有效的SGML文档树林规划当HyTime引擎处理HyTime文档时,产生出包含HyTime类和属性的“有效的SGML文档树林”。默认情况下,合法SGML树林使用HyTime默认树林规划构建。但是,当使用hydoc元素形式的grovplan属性为文档构建合法SGML树林时,HyTime文档元素能命名不同树林规划以便使用(见7.1.4.1)。7.1.4.4树林定义元素任何定位地址最终定位源是树林,由树林根代表。树林定义元素形式使能对groves做明确引用。如果其未被构建,对树林定义引用导致构建此树林。树林定义将源数据(“树林源”)与树林构造过程定51 GB/T16965--20091ISOIIEC10744:1997义相联系,也可选择与树林规划相联系。对于每个树林源和树林构造过程组合,一个HyTime引擎只构建一个树林。如果两个或多个树林定义共享树林源和树林构造过程,被构建树林的树林规划是类和性质集合的联合,这些类和性质集由树林定义的树林规划进行定义。树林规划被树林定义说明,然后起到像是被构造树林过滤器的作用,正如作为定位地址元素说明的树林规划过滤器一样,但是应用到所有基于此特殊树林定义的进一步处理中。元素形式原生树林定义(pgrovdeD定义这类树林,构建它的数据不属于树林(例如,未解析SGML文档)。属性树林源(grovesrc)涉及包含源数据的实体。属性树林构造过程(grovecon)给将被使用的树林构造过程命名。如果grovecon未被说明,树林源实体记法将定义树林构造过程。注156:为树林构造过程定义的属性值会通过使用避用体系结构的DSFE设施被说明(见A5.3)。属性树林规划(grovplan)涉及控制树林结构的树林规划。如果grovplan没有被说明,树林规划就是树林构造过程使用的默认树林规划。(也可能是性质集为源实体记法定义的默认树林规划。)元素形式次生树林定义(agrovdef)定义那些从现有树林的节点中构建的树林(例如,SGML文档树林)。属性树林源(grovesrc)直接或间接地定位构建次生树林的节点。属性树林构造过程(grovecon)给将被使用的树林构造过程命名。树林构造过程必须是为次生树林进行说明。属性树林规划(grovplan)涉及控制树林结构的树林规划。如果grovplan未被说明,树林规划就是树林构造过程使用的默认树林规划。支持grovedef选项将允许pgrovdef和agrovdef都被使用。(!--原生树林定义一)(![%pgrovdef;[(!elementpgrovdef~原生树林定义一一条:7144--一0(%HyCFC;)*~属性[10cs]:pgrovdef-一一公共属性[GenArc]:dale,dvlatt,etfullnm,id,ireftype,lextype,opacity-一一公共属性[b柏e]:activity,conloc,dtxtatt,valueref一一公共属性[10cg]:refctl,refloc,reftype,rflocspn-.)(!attllstpgrovdef一原生树林定义一~条:71.4.4-一grovesrc一树林源一EljTITY#PaQUZREDGrovecon~树林构建过程一NAME一一Lextype:NOTATION-一#IMPLIED一默认:本身就存在于树林源中一qrovplan一树林规划一CDATA一引用一~引用类型:grovplam一#IMPLIED一默认:树林默认树林规划)]])(!一pgrovdef-一)(!一次生树林定义一)(![%agrovdef;[(!elementagrovdef一次生树林定义一一条:7144一一0(%HyCFC:)*一属性[10cs]:agrovdef一一-公共属性[GenArc]:dafe,dvlatt,etfullnm,id,ireftype,lextype,opacity-一52 GB/T16965--2009/ISO/1EC10744:1997一公共属性[base]:activity,conloc,dtxtatt,valueref-一--公共属性[10cs]:refctl,reflcc,reftype,rflocspn-一)(!attlistagrovdef一次生树林定义一~条:7144~grovesrcCDATA一引用~#REQUIREDgrovecon一树林构造过程一NAME#REQUZREDgroVplan一树林规划一CDATA一引用~~引用类型:grovplan--#IMPLIED—constructionprocess.~~默认:树林构造过程的默认树林规划。一>33)(!一agrovdef-一)7.2定位源所有定位地址元素形式都使用属性形式定位源(10csrc)。所有定位地址通过从一组被另一个定位定位地址的节点中选择一些节点给其定位,或通过对树林或groves直接或间接引用给其定位。属性定位源(10csrc)直接或间接给定位地址的定位源地址。当支持清楚树林规划时,定位地址元素能涉及定位源groves使用的树林规划(见7.1.4.1)。当定位源被省略或是定位源是对文档、子文档或数据实体的引用时,此定位源是隐含的。隐式定位源由隐式定位源属性说明(见7.3)。当定位源是树林定义元素时,定位源是按树林定义所定义的方式构建的树林的树林根。当系统不能从被定位为数据源数据中构建原生树林时,属性不能构造树林(cantcnst)指示期望系统响应:或者报告RHE(“差错”),或者忽略定位地址(“忽略”)。(![%locsrc;[(!attlist—locsrc-一一定位源属性一一条;7.2-一(anchloc,dataloc,FCSIOC,linkloc,listloc,r皿list,nmquery,nmsploc,pathloc,proploc,queryloc,relloc,treeloc)locsrc一定位源一CDATA一引用一一约束:对实体的引用是对构建自这些实体的原生树林的根的引用。一#IMPLIEDCantcnst一不能从已定位数据中构建树林一NAME—Lextype!(”ERROR”l”IGNORE”)一ERROR)]])(![%referatt(!attlist一一referatt-..(!一给定位源定位的Referrer属性一>r一给定位源定位的Referrer属性一一条:73~(anchl。c,dataloc,FCSIoc,linkloc,listloc,nmlist,nmquery,nmsploc,pathloc,proploc,queryloc,relloc,treeloc)referatt一给定位源定位的Referrer属性一CDATA一一Lextype:AFfORCON-一#I船LIED一约束:已命名属性或内容,必须被referrer展示并且必须是可引用的。一)]]>(!~referatt-一)7.4多重定位属性形式多重定位允许定位元素具有排序和重复省略性质。如果非多重定位地址元素规定muhloc属性,这并非RHE,但是HyTime引擎将忽略这些属性。多重定位自身已排好序。属性定位排序(ordering)指明该多重定位顺序对应用程序是否有意义。(“有序”或“无序”)注158:该属性可能允许HyTime引擎优化对单个定位的访问。此属性集(set)通过忽略所有结果节点表中的重复节点,把多重定位作为是有序集合处理。(![%multloc;[(!attlist~multloc-一一多重定位属性~一条:74一(anchloc,dataloc,FCSloc,linkloc,listloc,mixedloc,nmmeloc,nmlist,nmquery,nmsploc,patldoc,proploc,queryloc,relloc,treeloc)ordering一定位的顺序有意义吗?~(noorderordered)7 GB/T16965--2009/ISO/IEC1074411997orderedset一通过忽略重复使多重定位成为集合一(notsetIset)notset)]])(!一multloc一一)7.5树类型Groves定义两种截然不同的树类型:内容树和子节点树。节点内容性质形成内容树,这样展示内容性质的节点是属性值中节点的双亲。节点的子节点性质形成子节点树,如果第二个节点是第一个节点的源,就可以说第一个节点存在于以第二个节点的子节点为根的树中。注159:SGML文档树林中元素的树及其内容是内容树。元素树及其全部子节点型性质(属性,元素类型,以及内容)是子节点树。属性树类型(treetype)控制被定位地址当作其定位源使用的树是内容树(“content”)还是子节点树(“subnode”)。注160:当定位地址使用树林根作为子节点树时,将树林中每个节点都作为其地址源定位。对于listloc,nameloc,nmlist,nmquery,nmsploc,queryloc,anddataloc树类型属性将被忽略,除非其是定位跨度。《!一树类型属性一)7.7引用控制属性形式引用类型(reftype)和引用解决控制(refctl)允许应用程序控制目标和引用的解决范围。(reftype属性在SGML扩展设施的通用体系结构中定义,此属性控制直接ID引用;见A5.5ID直接引用类型控制。)引用是声明值描述了IDREF,IDREFS,ENTITY,或ENTITIES的属性;属性或数据内容被lextype属性声明为包含引用,此lextype属性的lexmodel包含IDREF,IDREFS,ENTITY,或ENTI—TIES,或者通过可选择的refloe设施(见7.8引用定位地址)定义为可引用属性或内容来定义(见7.8引用定位地址)。属性ID引用由属性名说明,并且内容ID引用使用保留名称“#CONTENT”。保留名“#ALL”意思是“属性值中所有ID引用和这个元素类型的数据内容”。失败的引用符合引用解决控制属性(refrange,reftype,等等。),或符合其他属性的数量或类型。只有当(如果)应用程序要求完全解决引用时才意识到失败是RHE。此类失败总是RHE,然而,如果其单独由标记决定(例如,说明的1SREFS数目与reftype描述的数目不相同。)7.7.1引用元素类型属性引用元素类型(reftype)将引用属性的名称(或#CONTENT)与最终目标必须符合的元素类型相联系。元素类型可以指定为单个GI,其后可能有事件指示器;GI组模型或保留字“#ANY”,这意味着对于相应属性的任何目标都可接受。如果支持refmodel选项,模型组可以是任何有效SGML模型组。当元素类型表不是重复OR组,或当其是不带事件指示器的单个GI,引用被限制在已命名类型的56 GB/T16965--2009/ISO/IEC10744:1997单个实例中。如果不支持引用模型选项,模型组被限制在单一(可能可重复)GI、重复或非重复GI的OR组中。注163:换句话说,可能的简单表的目标是GI。特殊引用属性通过个别地指定元素类型,能无视与“#ALL”相关的约束。这些约束是引用目标约束;如果refrange属性允许,可以使用立即定位地址。如果约束是单个GI,元素地址必须属于此元素类型。如果约柬是模型组,元素地址必须满足模型组,按其出现在产生于地址的节点表中的顺序,引用类型约束应用于该地址中。注164:例如,如果reftype规范是“#ALL(B,c)”,两个元素满足此re{type,第一个元素类型是⋯B,第二个元素类型是“C”。这个节点表能被两个1D引用地址,第一是对元素B引用,第二是对元素C引用}或者也可被间接地址引用,最终此地址按顺序给元素B和C定位。注165:reffype属性允许属性值是结构。结构定义为SGML元素类型,结构中实例被看成是元素。属性值中不直接出现结构,相反是引用被用来指向这些结构。应用程序设计者可以用refrange属性要求在没有间接定位地址的情况下引用结构,并且/或者要求它们在文档中先于引用,以便能保持接近开始标签和允许进行有效处理。注166:常规reftype注给引用提供“roeta”引用类型(句法有些不同)函数,被HyTime语言定义,此函数限制ID引用目标的体系结构形式,不是其元素类型。应用程序设计者能通过说明reftype属性施加更多约束,将会限制目标元素类型。(!一引用元素类型~)(![%reftype}[(!attlist—reftype一一引用类型属性~一条:771~#ALLreftype一引用元素类型一CDATA—Lextype:((”#ALL”,(GIImodelgroupI”#ANY”))?,(A"nI"ORCON,(GIImodelgroupI”#ANY”))*)一一约束:给定的仅出现一次的AXTNAME或#CONTENT;应用于地址的最终对象的类型,不包含任何立即定位。一约束:如果不支持refmodel选项,就是局限于重复或非重复的模型组或组。模型组中的标签必须是Gls.一”#ALL#ANY”一常量一>]])(!~reftype.一)7.7.2引用解析范围属性引用解析范匿(refrange)将引用属性(或内容)名称与解析范围相联系。对于单独引用,通过用不同范围说明这些引用的名称,能忽略与“#ALL”关联的解析范围。有四种解析范围,按自由度增序列出;就是说,表中靠后的范围包含其之前范围的解析。B向后直接引用:在相同文档(或子文档)中先于引用的确定局部元素。D直接引用:相同文档(或子文档)中作为引用的确定局部元素。注167:直接引用可以向前引用或向后引用。注168:直接引用可以用来给定位地址元素定位,尽管其不是定位地址元素。换句话说,定位地址元素可以被来自引用范围是“D”的属性引用“提及”。I间接引用:相同文档(或子文档)中定位作为引用,通过定位地址元素被直接引用。这个解析范围要求支持定位地址模型。如果不支持此模型,这个解析范围被当作是“D”范围,不是被当作RHE。x外部引用:任何文档(或子文档)中的定位。此解析范围要求支持“exref”选项。如果不支持此选项,此解析范围被当作是“I”范围,不被当作是RHE。注169:refrange设施允许使用引用属性(例如,超链)的元素处理被优化。换句话说,纯粹局部引用能被优化。57 GB/T16965--2009/ISO/IEC10744:19977.7.3引用解析级别考虑到定位路径引用自这些属性(或内容)中,属性引用解析级别(reflevel)将引用属性(或内容)名称与定位路径步最大数目相联系。分支定位路径长度是路径中最长的分支长度。第一个步被引用就开始计数。注170:换句话说,引用本身不被计数。注171:间接引用指示器,从最初引用到目标定位,包古通常对处理目标对象应用程序透明的“定位路径”。间接引用透明性允许当目标移动时修正定位路径,对应用程序不产生影响。当reflevel被指定,但定位路径步被定位时,此透明性可能丧失。用不同级别指定单独引用名称时,与。#ALL”相关的解析级别能被忽略。没有指定最高解析级别的引用是完全解决。解析级别被指定为无记法非零整数形式,代表与此元素相关的定位路径地址步的最大数量。如果引用目标本身是reflevel指定引用(或其目标是,等等)。解析将在其中任何一些指定的最早点处被终止。注172:一些例子:——如果元素A有带有reflevel6的IDREF,解析会终止超过其6个步(整体第七层);——如果元素B是A的引用目标并且有带有reflevel3的IDREF,解析会终止超过B的3个步(超过A4步,总体第五层);——如果元素C是B引用目标并且有未指定(无限制)reflevel的IDREF,解折将终止超过C的2个步(超过A4步,总体第五层),因为最早指定的终止点(元素B的IDREF)起支配作用。(!一引用解析控制一)(![%refctl;[(!attlist—refctl一一引用解析控制属性一~章:773一#ALLrefrange一引用解析范围一一条:7.7.2一一B对确定局部元素向前引用D确定局部元素,之前或之后I被定位地址允许X间接目标,对引用会是外部。CDATA—LextⅫpe:((”#ALL”,(⋯B|¨D”】¨I”I”X”))?,(ATFORCON,(⋯Bl”D”l”I”I⋯X’))*)一一约束:给定的仅出现一次的ATiNglE或#CONTEklT。其声明值或lextype必须包含IDREF。~”#ALLX”一常量一reflevel一引用解析层次一一IDREF解析不能超出的层次,与此元素相关一CDATA—Lextype:((”#ALL”,unzi)?,(ATTORCON,unzi)*)一一约束:给定的仅出现一次的ATTNAME或#CONTENT。其声明值或l枉type必须包含IDREF。一#I}mLIED~默认:完全解析一)]])‘!一refloc-->《!一引用定位跨度~>(![%refloc;%spaJlloc;[(!entity%rfspnatt’一rflocspn-一一引用定位跨度一一条;7.8--#A工Lrflocspn一引用定位跨度一一可引用属性的名称对,当一对中两个属性都被指定时可以给跨度定位。一CDATA--Lextype:(A_ITORCON,ATTORCON)+一一一约束t已命名属性必须是可引用属性。一#IMPLIED一常量一’>(!attlist%rfspnatt;)(!attlist#NOTATION%rfspnatt;))]])(!一HTMLA(锚点)元素(来自HTML32)一>(!NOTATIONURLPUBLIC”一//IETF/RFCl738//NOTATIONUniformEesourceLocator//EN。’)(!entity≈locsrc”INCLUDE”>(!entity%impsrc”INCLUDE”)]]>(!一nmsploc一一)7.9.4混合定位地址元素形式混合定位地址(mixedloc)通过包含其他定位地址元素给对象定位。因此mixedloe等同于给每一个包含的定位地址元素附ID并创建命名空间定位地址,此命名空间定位地址的名称列表列出这些ID(只有这些ID)并且其定位源是mixedloc出现的文档树林的SGMLDOC节点。(!一混合定位地址一)(![%mixedloc;[(!elementmixedloc一混合定位地址一一条:7.9.4一一起定位的组定位。一一0(%loc;)*一可选属性[10cs]:multloc,spanloc,treetype-.一公共属性[GenArc];dale,dvlatt,etfullnm,id,ireftype,lextype,opacity--一公共属性[base]:activity,conloc,dtxtatt,valueref--~公共属性[10cs]:refctl,refloc,reftype,rflocspn--)]]>(}一mixedloc-一)7.9.5已命名定位地址元素形式已命名定位地址(nameloe)是专业化混合定位地址,包含唯一名称列表或nmquery元素。名称列表元素形式从名称空间定位地址元素形式获得(见7.9.3名称空间定位地址)。nmquery元素形式从询问定位地址元素形式获得(见7.11.1查询定位地址)。(!一已命名定位地址一)(![%nameloc“]])(!~nameloc-一>7.10坐标定位坐标定位是通过维规范的相应数日给表或树中节点序列定位的元素形式。见6.8坐标规范,获取关于坐标和维规范的更多信息。7.10.1节点定位节点定位是坐标定位,其中量程是节点表或树中的节点。节点既可以被看做是节点表成员也可被看做是树根(或是子节点,或者当节点有孩子性质时,是内容树的根)。这项能力形成4种类型的节点定位地址:——“列表定位地址”(Iistloc)给从节点列表中选出的一个或更多的节点地址。其定位源是节点列表;——“树定位地址”(treeloc)通过选择每层中祖先节点的传统方式给树的单个节点地址。其定位源是节点表,表中每个节点都被看做树根#——“路径定位地址”(pathloc)通过把树看做矩阵给从该树中选出的若干节点组成的节点表定位。其定位源是节点表,表中的每一个节点都被看做树根;——“相对定位地址”(relloc)给从一棵树的一个或多个节点组成的节点表定位,依靠去与给定起始节点的关系。其定位源是节点表,表中每个节点都被看做是树根。7.10.1.1节点列衰树林基本组织结构是节点表。HyTime将节点表当作其中节点是量的单轴坐标空间,通过这种方式给该节点表中的节点定位。通过维规范的相应数目给节点序列定位。解析任何定位地址的结果常常是一个节点列表(可能为空)。注184:能被定位的最大节点列表由最高的量程计数限度值决定,此限度值由HyTime体系结构通过声明指定(见6.3HyTime支持声明)。7.10.1.2列衰定位地址元素形式列表定位地址(1istloc)是坐标定位地址,它对从由其定位源提供的节点列表中选出的节点进行定位。其定位源是一个节点列表,被看做一个列表。(!一列表定位地址一)(![%listloc;[(!elementlistloc一列表定位地址~一条:710l2一一给节点列表中节点定位一一0(%dimlist;)”一属性[base]:overrun-一一属性[10cs]:locsrc,impsrc-一一可选属性[10cs]:multloc,referatt,spanloc,treetype-一一公共属性[GenArc]:dale,dvlatt,etfullnm,id,ireftype,lextype,opacity--一公共属性[base]:activity,conloc,dtxtatt,valueref-·一公共属性[10cs]:refctl,refloc,reftype,rflocspn-一>65 GB/T16965--2009/ISO/IEC10744:1997(!entity%locsrc”INCLUDE”)(!entity%impsrc”INCLUDE“)(!entity%overriLn”INcLIm”>]])(!一listloo-一)7.10.1.3树组合当一棵树或路径地址的定位源是节点列表时,此列表中每个节点通常都被看做是某棵独立树的根,定位地址依序应用到每个树中。结果是按树根在定位源节点表中出现的次序从每棵树中选出的节点组成的单个节点表。但是,属性形式treecom可以和多重定位源一起使用,将节点列表看做是带有普通(想象的)双亲节点的单个树的成员,从而将多个多重源的树组合成一个树。结果和非多重源的树的相同:对于treeloc的情况是单个节点,而对于pathloc的情况则是一个节点表。这就允许基于树的定位地址从多重定位源中迸箨单个树。注185,既然树定位中包括根层臻。当痿寸袭譬潭蚋树较合并时,某一特定根节点是可以被选择的。属性树组合(treecom)说明}爹伞多重多个多重源的树是否被合并(“treecom”或“ntreecom”)。(!一树组合属性~>(![%treecoQ;[(!attlist—treecom--一树组合属性一一条:710l3一(pathloc,treeloc)treecom一树组合~一合并多重起始树一(ntreecomltreecom)ntreecom)]])(!一treecom-一)7.10.1.4树定位地址元素形式树定位地址(treeloc)通过从根开始,在每一层从可定位范围中选择一个节点的传统方式给树的单个节点定位。被定位的树是内容树或是子节点树,取决于treetype属性值(见7.5树类型)。节点通过应用到连续可定位范围的单轴标记符被选择。每个标记符起到像维规范中第一个标记符那样的作用;第二个标记不指定,其隐含值为⋯1。因此,每个标记符都从可定位范围中选择单个节点。根层(除非有多重根)的可定位范围是单个节点。第二层的可定位范围是根节点的孩子(或子节点)。其自身被单轴标记符定位,该标记符在其内部定位一个节点。树的较低层次可以通过连续轴标记符的递归应用程序定位,该标记符标记最后选择节点的孩子(或子节点)。轴标记符表过去常常给树中节点定位,称为“树位置规范”(treepos)。注186:例如,在具有以下结构的文档中;(body>(chapter>(para)(/pan)(para)(/para>(/chapter)(/body>(annex)(figure>(/figure>(figure)(/figure)</mmex)</book)树位置..){!⋯1一>(!一l1一)(!~111一)(!~111一)(!~112一)第三个“figure”元素可以通过把“book”作为根加以标识,按如下树定位规范被标识出来66-一0卜舡}}22}1L_一 GB/T16965--2009/ISO/IEC10744:1997(treeloc>123</treeloc>其中,“l”选定“book”(根),“2”选定“annex”(根的第二个子节点),“3”选定第三个“figure”(annex的第三个子节点)。《!一树定位地址一)(![%treelcc“(!elementtreeloc一树定位地址一一条:710.14一一在树中按传统方法定位节点一一0(%mazklist;)一约束:已解析的轴标记符被解释为只包含第一个标记符的单一的维规范列表,第二个隐含的标记符值为1。~~属性[b聃e];伽ernn一~属性[1aes]llocsr℃,impsrc-一一可选属性[10ts]laultloe,referatt,spanloc,treecom,treetype-.~公共属性[GeIlArc]:dale,dvlatt,etfullnm,id,ireftype,lextype,opacity-一一公共属性[b鹋e]:activity,conloc,dtxtatt,valueref-一一公共属性[10csU:refctl,rgfloc,reftype,rfloespn--)(!entity%locsrc”INCLUDE”)(!entity%impsrc”INCLUDE”)(!entity%overrun“INCLUDE”)33>(!一treeloc-->7.10.1.5路径定位地址元素形式路径定位地址(pathloc)是坐标定位地址,通过把树看作一个矩阵给树定位,矩阵的行是树的层次,矩阵的列是路径。除了所有坐标定位所需的选项和模块外,路径定位地址还需要“pathloc”选项和“muhloc”选项支持。HyT/me中,树的路径是给定叶子的祖先构成的节点序列,也包括能推出该叶子的节点。树被看做包含所有路径的“路径列表”,这些路径按左叶子优先的顺序排列。注187:每个叶子只出现在一个路径中。非叶子节点出现在所有能推出叶子的路径中。通过包含在维规范列表中的维规范的对,可以定位路径列表。——一对中的第一个维规范选择路径。其可定位范围是路径列表;——第二个维规范在每个并发的选定路径中选择节点。每个路径是一个独立的可定位范围,其第一个量程是根节点,最后一个量程是叶子。除非为pathloc的overrun属性指定值为“trunc”,否则维规范必须避免越界最短路径。注188:按照类似于矩阵的情况,维规范对的第一个dimspec选择一个或多个连续列(它们是到叶子的路径),第二个则在选定的列中选择一行或多行。例如,要选择:——所有叶子;1—1(/dimspec>(dimspec>一11(/dimspec>——根的所有子孙;(dimspec>1—1(/dimspec>(dimspec>22(/dimspec>——第一个子节点(即先序遍历次序的第~个根的最早子节点)的所有孙子,假设这个子节点有3个叶子后代,并且这些叶子是其孙子或孙子的后代;(dimspec>13(/dimspec>(dimspec)41(/dimspec>——除根和其孩子外的所有节点。67 GB/T16965--200911SO/IEC10744:19973—1(/dimspec>注189:在7.10.I.4树定位地址的“book”例子中,可通过对树的最后一个叶子指定一个pathloe来定位第三个“figure”元素,如下所示:《dimspee>一1l(/dimspee>最后路径(dimspee>一11</dimspec>最后叶子所选定的节点形成节点列表,其顺序是按树的左表优先遍历顺序。如果指定了multloe属性⋯set,每个节点在节点表中只能出现一次,即使其可能已经在从其发生的多个路径中被选择过。注190:可以通过标记符函数建立维规范列表,该函数可在树中任何地方定位节点。例如,在SGML树林中,它可以检测通用标识符从而定位是“chaptertitle”元素的所有节点。(!~路径定位地址一)7.10.1.6相对定位地址元素形式相对定位地址(reline)是坐标定位地址,可以按树中节点的相互关系给其定位。属性起始节点(strtnode)用于定位那些其相关节点将被定位的节点。定位源给出现起始节点的树的根定位。如果起始节点不在含有定位源中指定的根的树中出现,就产生一个RHE。如果定位源是带有多于一个节点的节点列表,每个节点都将被当作一棵独立树的根。如果一棵树被作为定位源定位,同时该树没有起始节点被定位,则这应该被看作是个差错(error)还是应该被忽略(ignore)就由属性非起始节点(nostart)指明。如果strtnode属性被省略,定位源中的节点将被作为起始节点使用。属性与起始节点的关系(relation)指定树的可定位范围,节点就从该范围中选出。relloc的内容是一个维规范,它从关系属性指定的节点表中选择节点。下面的列表为每个允许的关系说明其代表的名字和可定位范围。可定位范围中的节点和被选择的节点总是按树的左叶子优先遍历次序列出。祖先(anc)从定位源到起始节点双亲的所有节点。注191:例子;(i1)=root(一11)一parent兄长(esib)起始节点的(左侧)兄长。注192:例子}(11)一oldestesib(一11)=youngestesib弟弟(ysib)弟弟(右侧)。注193:例子:(11)=oldestysib(一11)一youngestysib父亲(parent)等同于带有(一11)维规范的“anc”。实际的维规范必须为空。孩子(children)起始节点的孩子。68 GB/T16965--2009/ISO/IEC10744:1997注194:例子:(11)=firstchild,(一11)=lastchild前续(precedng)树中起始节点之前出现的所有节点。后续({ollowng)树中起始节点之后出现的所有节点。(!一相对定位地址一)(![%relloc;[《!elementrelloc~相对定位地址一一一条:7.10.16..~在树中给与起始节点相关的节点定位一-O(%dimlist;)一Constraint:resolvedaxismarkersareinterpretedasasinglelistofdimensionspecifications一-一约束:已解析的轴标记符被解释为维规范的列表~一属性[b*e]:overron-一一属性[10cs]:locsrc,impsrc,relloc-.一可选属性[10cs]:multloc,referatt,spanloc,treetype-.一公共属性[㈨r03:dale,dvlatt,etfullnm,id,ireftype,lextype,opacity-.一公共属性[base]:activity,conloc,dtxtatt,valueref-一一公共属性[ices]:refctl,refloc,reftype,rflocspm一翻%#IMPLIEDnostartE日鼬R~相对定位地址~~条:7i0.1.6--一起始节点一~相关节点将被定位的起始节点一~引用一~默认:定位源树的根一一无开始一一如果没有为定位源指定起始节点情况下期望的系统行为一一Lextype:(”ERROR”_¨IGNORE”)一relation~与起始节点的关系~(ancchildrenlesiblfollowngparentprecedngIysib)parent)(!entity%locsrc”INCLUDE”)(!entity}impsrc”INCLUDE”)(!entity%OverrlLrL”INCLUDE”)]])(!一relloc-一)7.10.2数据定位地址元素形式数据定位地址(dataloc)定位已经被数据分隔树林构造过程标记过的字符数据,该过程使用词汇类别名字或dataloc元素形式的filter属性指定的HyLex匹配字符串。dataloc形式使用坐标规范从继承于定位源的完整标记列表中选择标记。(关于树林和数据分隔树林构造的描述见A.4.4.2数据分隔树林构造(DATATOK)。)注195:换句话说,dataloc等同于给标记列表使用列表定位地址,该列表由数据分隔树林构造过程创建,然后要么返回包含标记的节点,要么返回字符数据节点列表,这些字符数据节点是标记符的源头。与dataloc等同的完全定位梯阶在下面说明。注196:纯文本树林构造过程能用来从未组织的字符数据中创建树林,dataloc或数据分隔树林构造过程可以被应用到其中。可以通过直接创建grovedef元素,或是将纯文本树林构造过程与包含被标记的文本的数据实体相联系,然后将此实体命名为数据定位地址的定位源,完成此过程。dataloc形式的数据分隔记法可能会是HyTime数据分隔记法(HyDatTok)或HyTime词汇记法(HyLexTok)。HyDatTok和HyLexTok都是派生自数据分隔树林结构(datatok)记法形式(见A.4.4.2数据分隔树林结构(DATATOK))。当数据分隔记法是HyDatTok时,只有下面定义的词法类型会被当作过滤器属性值使用。当数据分隔记法是HyLexTok时,任何HyI。ex表达都可以被当69裟一 GB/T’6965--2009/ISO/IEC10744:1997作过滤器值使用。HyLexTok记法的记法出处源头(superdcn)是HyTime词法模型(HyLex)记法(见A.2.3HyTime词法模型记法(HyLex))。datatok记法为HyDatTok和HyLexTok都提供树林构造语义,而HyLex记法为HyLexTok提供配对标记规范句法。属性分隔过滤器(filter)指定匹配表达,该表达在数据分隔过程中将用来识别定位源中的标记。注197:词汇类别名称,比如任何为HyDatTok允许的值,都是有效的hylextok匹配表达。下面的词汇类别是在HyTime词汇类别定义文档中专门为和dataloc元素形式一起使用而定义的,这些词汇类别必须被支持dataloe形式但不支持词汇分类的系统支持。在每一个这种类别中,“character”意思是以下节点类型的任何一个:datachar、sdata、extdata和subdoc。这些节点类型在语义上都被当作字符处理。str非规范化字符串:定位源中的每个字符都是标记。norm规范化文本:除RS,RE和sPEcHAR(空格)的所有字符。注198:注意,在引用的具体句法中,“Charles’andLinda’sAhyssinians”是4个规范化的标记。word字记法:所有名称字符。注199:注意,在具体引用句法中,“Charles’andLinda’sAbyssinians”是五字的记法。NAMESGML名称:根据GB/T14814—1993标准构造的名称。sint有符号整数:数字串,可以以符号或正号开始。UTCdateUTC日期:UTC中的有效日期,格式为yyyy-mm-dd。UTCtimeUTC时间:UTC中的有效时间,十进制格式为hh:mm;ss。UTCUTC日期和时间:DATE在前的DATE和TIME记法对。line每个标记包含发生在RS/RE对之间的字符,也可能发生在关闭标记符和RE之间或发生在RS和开放标记符之间。属性记号或数据(tokerdat)指定数据定位地址是返回在数据分隔树林(tokens)中记法串节点,还是返回在与记法(data)相应的定位源中的数据字符。默认为返回数据。(![%datatok;[(!notationHyDatTok—HyTime数据分隔一~适合于数据分隔树林构造器。~一条:710.2一一Lextype:(”LINE”I”NAME””NORM”l”SINT”】¨STR”“UTC“l”UTCDATE”l”UTCTIME”I”WORD”)~PUBLIC”GB/T16965--2009//NOTATIONHyTimeDataTokenizer//RM”一属性[iocs]:HyDatTok--一公共属性[GenArc]:altreps,included,superdcn-一一公共属性[ba8e]:bosdatt-一一公共属性[10cs]:egrvplar-一>(!attlist#NOTATIONHyDatTok—HyTime数据分隔一一条:7.10.2~HyBaseN蛐#FIXEDdatatok一来自datatok形式的属性一catsrcCDATA#IMPL皿cattokenCDATA#IMPLIEDcatresCDATA#I髓LIRDboundary(sodeodIsodiecIisceodIisciecIinmodel)isciecmaxtoksz如姗R#IMPLIED)(![%HyLexTok;[(!entity%ddattok”HyLexTok”)]]>(!entity%ddattok一默认数据分隔记法一一条:710.2-一”HyDatTok”(!elementdatatok一数据分隔树林定义一~条:7102一一从另一个树林的数据中产生datatok树林~一0(#PCDATA)一属性Floes]:datatok-一一可选属性[iocs]:dlhylex一公共属性[GenAre]:dale,dvlatt,etfullnm,id,ireftype,lextype,opacity-一一公共属性[base]:activity,conloc,dtxtatt,valueref-一一公共属性[ioes]:refctl,refloc,reftype,rflocspn-一(!attlistdatatok一数据定位地址一~条:7102一HyBaseNAME#FIXEDagrovdef一来自agrovdef的属性一grovesrcCDATA#REOUIREDgroveconNOTATION(HyDatTokHyLexTok)#FIXED%ddattok~来自datatok记法形式的属性(经由DARE)一71 GB/T16965--2009/ISO/IEC10744:199772catsrcCDATA#I髓LIEDcattokenCDATA#IMPLIEDcatresCDATA#I髓LIEDboundary(sodeodlsodieclisceodIisciecinmodel)isciecmaxtokszNUMBER#I岫LIED>33)(!一datatok-一)(!一数据定位地址一)(Ientity%locsrc”INcLImE”)(!entity%impsrc”INCL【JDE”>(!entity%overrun”INCLUDE”)]])(!一dataloc--)注200:任何数据定位地址都能被定位梯阶代替,该梯阶使用清楚的树林定义将数据分隔树林构造过程与将被记法化的源数据联系起来,如下所示(见A.4.4.2)。“datatok”元素是次生树林定义元素(agrovdef),该元素使用dataloc的定位源作为树林构造器的树林源并且使用datalok的过滤器属性值作为datatoc的过滤器属性值(映射到使用DAFE设施的NotNames属性;见A5.3)。Dataloc内容和相关定位地址属性变为listloc的内容和属性,该listloc定位由数据分隔创建的记法。接下来显式的定位梯阶按下面发挥作用:——肪tatok元素通过记法化树林的源文本的内容(它与dataloc的定位源相对应)产生数据分隔树林;——第一个proploc元素给数据分隔树林中所有的tokenstr节点定位,补充记法化的根(tokroot)节点字符串性质的内容;——Llstloc元素从pmploc返回的表中选择记号化字符串(tokenstr)节点。Listloc使用的坐标地址与dataloc指定的坐标地址相符合。如果dataloc的takordat属性值是“tokrns”,这就是dataloc返回的表; GB/T16965--2009/ISO/IEC10744:1997——第二个proploc元素定位listloc元素返回的tokenstr节点的源性质。定位结果是~个字符数据节点列表,该列表来自于起始源文本节点,这些节点与Iistloc选择的记法字符相符合。如果dataloc的tokordat属性值是“data”,则这就是dataloe返回的列表。(!DOGl%,PEDatalocDef[(?ISl0744ArcBaseHyTime>(!NOTATIONHyTimePUBLIC”GB/T16965--2009//NOTATIONAFDRARCBASEHypermedia/Time-basedStructuringLanguage(HyTime)//翻”)(!ATTLIST#NOTATIONH妒imeArcDocFNAME#FIXEDHyOccArcDataFNAME#FIXEDHyBridArcDTDCDATA#FIXED”HyTime”ArcovantCDATA#FIXED”NAMELFN9”ArcOptCDATA世FI)皿D”locs”locsCDATA#FIXED”proplocnmsplocpgrovdef”(!NOTATIONSGMLPUBLIC”GB/T14814--1993//NOTATIONStandardGeneralizedMarkupI锄91lage//删”>(!ENTITYHyTi聪PUBLIC”印/T16965--2009//DTDAFDBNeta—DTDHypermedia/Time-basedStructuringLanguage(Hyfflme)//EN”CnATASe札(!ENTITY%dtokatt~数据分隔属性一一派生自性质集定义要求的附录中的数据分隔树林构造记法。”catsrcUBATA#IMPLIEDcattokenCDATA#IMPLIEDcatresCDATA#IMPLIEDboundary(sodeodlsodieclisceodliscleclinmedel)sedeodnotationNOTATION(datatok)#FIXEDdatatok”)(!NOTATIONdatatokPUBLIC”GB/T16965--2009//NOTATIONDatatokGroveConstructionProcess//EN”)(!ATYLIST#NOTATIONdatatok%dtokatt;)(!ELEMENTdatalocdef00(datatok,(proploclistloc)*))‘!ELEMENTdatatok一0EMPTY>(!ATrLISTdatatokidID#REQUIREDgrovesrcIDREFS#RE。UIP,EDfilterCDATA”str”一.通过DAFE设施规则,数据分隔属性将被解释为数据分隔树林构造属性%dtokattloroveconNOTATIONq:datatokl)datatokHyTimeNAME#FIXEDagrovdefNotNamesCDATA#FIXED”#NOTCONTfilter”)(!ELEMENTproploc—O(#PCDATA))73 GB/T16965--2009/ISO/IEC10744:1997(!ATrLISTproplocID#PaOU∞locsrcIDREF#RE。UIREDHyTimeNAME#FIXED”proploc”ELEMENTlistloc—O(#PCDATA)]>(datatokid:datatok-grovegrovesrc=saqrce-nodes~用幽taloc定位源代替一filter=word)(proploclocsrc。datatok-groveid=strinqs堪roperty>STRINGS(/proploc)(1istloclocsrc=strings-propertyid=token-nodes)1.1(!~和派生自dataloc的di皿specs起同样作用~)(/listloc>SOURCE(/proploc)7.11查询HyTime推荐在queryloc和nmquery元素形式中使用在DSSSL标准(ISO/IEC10179:1996文档式样语义学和规范语言)中定义的标准文档查询语言(SDQL)。SDQL语言包括所有HyTime地址定位形式的等价形式。注201:这就意味着,任何定位梯阶都能部分程度地被等价的SDQL查询代替。但是,任何查询记法,只要它能对树林发挥作用并且返回节点列表作为查询结果,就都能与HyTime一起使用。注20Z:通过为数据记法定义合适的性质集和树林构造过程,可以将任何现有查询机制并人HyTime系统。HyTime定义通用的基于查询的定位地址(quer)doc),它既能被用来进行一般查询又能作为派生于queryloc形式的专业化定位地址的基础。超链接模块按照其在HyTime体系结构语义树林中反映的HyTime特定语义(见8.3),为定位超链接及其锚点定义了两种queryloc形式的定位地址方式,即linkloe和anchloc。调度模块为定位事件调度表中的事件定义了queryloc形式的定位地址,即fscloc(见9.10)。7.11.1查询定位地址元素形式查询定位地址(queryloc)包含能返回节点列表的查询。如果queryloc定位源是多重定位,并且不是跨度定位,此定位源中每个节点都被当作独立查询域的根来处理。属性查询记法(notation)指定了管理查询的数据内容记法,其中的查询通过查询定位地址指定。注203:元素(DAFE)设施的数据属性能用来为query|oc形式元素提供特定记法的属性(见A.5.3)。属性未找到数据(notfound)给除了当查询没有返回任何节点时期望的系统回答:可以是报告RHE74 GB/T16965--2009/1SO/IEC10744:1997(“error”)或忽略此查询定位地址(“ignore”)。(!一查询定位地址一一)(![%queryloc}[(!elementqueryloc一查询定位地址一一条:7111一一通过使用对对象性质的查询在树林中定位对象,这些对象的性质比如用于构造该树林的性质集中定义的那些性质。一一0(%HyCFC;)”一属性[10cs]:locsrc,queryloc,impsrc-一一可选属性[10cs]:multloc,referatt,spanlcc,treetype-一~公共属性[GenArc]:dale,dvlatt,etfullnm,id,ireftype,lextype,opacity-一一公共属性[base]:activity,conloc,dtxtatt,valueref~一公共属性[10cs]:refctl,refloc,reftype,rflocspn-一(!attlistq1】erylocnotationNⅧ#REQUIREDnotfoundNⅧER黜一查询定位地址一一条:7.111一一查询记法一--Lextype:NOTATIOn-一一未找到数据一一Lextypel(”ⅢRROR”1”IGNORE“))(!entity%locsrc”INCLUDE”)《!entity%impsrc”INCLUDE”)]]>(!一q岫ryloc-一)7.”.2名称列表查询元素形式名称列表查询(nmquery)是查询定位地址的专业化形式。其查询域必须或者植根于SGML文档树林中的SGML元素节点的内容树,或者是SGMLDOC节点的实体性质值。属性查询域(qdomain)为查询给位置源定位(qdomain是locsrc的同义词)。(!一名称列表查询定位地址一->(![%nameloc;%queryloc;[(!elementNmquery一名称列表查询定位地址一一条:7112一一通过查询性质来定位元素或实体一一O(%HyCFC;)+一属性[10ts]:locsrc,nmquery,impsrc一一可选属性[10cs]:multloc,referatt,spanloc,treetype-一一公共属性[CmAro]:dale,dvlatt,etfullnm,id,ireftype,lextype,opacity-一一公共属性[base]:activity,conloc,dtxtatt,valueref-一一公共属性[10cs]:refctl,refloc,reftype,rflocspn一)(!attlistnmquery~名称列表查询定位地址一~条:71i2一HyBaseNAME#FI)(EDquerylocHyBnamesCDATA#FIXED”locsrcqdomain”qdomain一查询域一CDATA一引用一#IMPLIED一默认:如为impsrc描述的那样是被隐含的一notation一查询域一NAME一一Lextype:NOTATION-一75 GB/T16965--2009/ISO/IEC10744:1997#RE。uIREDnotfound一束找到数据一NAME—Lextype:(”ERROR”f”I翩ORE”)一ERm)(!entity%locsrc”INCL叩E”)(!entity%impsrc”INCLUDE”)]])(!~珊que‘y-一)7.12书目定位地址元素形式书目定位地址(bibloc)给不期望系统自动访问的信息对象定位。书目定位地址总返回其本身。注204:术语“书目”是指经典的“书目模型”,通过描述引用;它并不表示被引用的对象一定总是印刷文档。例如,该对象可以是录像带、收音机或电视广播、个人或者组织。注205:即使被定位的对象不一定能被计算机传送,对于某些以书目定位地址形式进行的查询可能存在一些有用的标准。例如,为视频磁带的时间和控制编码(TimeandControlCodeforVideoTape)制定的SMPTE1ZM标准提供可供引用的卷轴名、时间码数字(起始时间)以及持续时间。如果对象能由计算机传送,可以用相同形式的查询使用queryloc。注206:假定对对象的访问由用户来完成,应用程序常通过给出地址本身来引用书目位置。属性书目源(bibsrc)给为bibloc提供内容的其他bibloc元素定位。注207:例如,作为书目人口的bibloc可能有一个bibsre,此bibsre指出在某一特定的图书馆中,各种按类存放的书籍分别放在哪一层。尽管书目定位地址能定位多个对象,它也并不是术语“多重定位地址元素”在本标准中的用法。(!一书目定位地址一>(![%bibloc;[(!elementbibloc~书目定位地址~一条:712~一书目弓l用实际的对象。它代表只能作为数据处理的地址。并且总是返回其本身(书且元素)。一一0(%HY衄C;)+一属性[iocs3:bibloc-一~公共属性[GenArc]:dafe,dvlatt,etfullnm,id,ireftype,lextype,opacity-一一公共属性[base]:activity,conloc,dtxtatt,valueref-一一公共属性[iocs3:refctl,refloc,reftype,rflocspn--.一引用者[10cs]ibibloc:bibsrc-一(!attlistbiblocbibsrcCDATA#IMPLIED]])(!一bibloc~>8超链接模块.一书目定位地址一一条:7.12~~书目起始。另一个bibloc元素,描述该bibloc将应用于的内容一一引用一一一Reftype:bibloc*—·本章描述HyTime中可选择超链接模块。8.1概念和定义超链接是在二个或者两个以上对象之间的类型关系,每个对象都在这种关系中扮演唯一的角色。注208:不是所有的关系都是超链接。层次(包含),事件进度表(协同关系),和简单的交叉引用(ID/IDREF)是其76 GB/T16965--2009/ISO/IEC10744:1997他类型的关系,由于其缺乏超链接的一些性质,且引进了其自身的性质。注209:术语“hyperlink”比起没有约束的术语“link”更适合区别SGML处理中的“link”,以避免混淆。但是,术语“link”能与约束性更强的形容词一起用,比如在”超文本链接”中,或当上下文清晰的时候没有限定词。在交互型的应用程序中,超链接允许用户以任意方式“遍历”链接,以多种次序访问信息。但是HyTime并不要求表示应用程序一定能在超链接的锚点之间交互式访问。注210:例如,一个HyTime应用程序可能仅仅利用超链接去控制锚点的处理,或者通过在另一个锚点发生的时候静态的呈现一个锚点来“预遍历”超链接。注211:尽管某种程度的超链接能够通过ID和IDREF属性类型来完成,但是超链接模块提供以下的优点:a)超链接模型为链接的描述和遍历规则提供了一套结构形式;b)标准化的链接遍历和解析机制使通用超链接引擎能支持多应用程序(尽管这不是HyTime符合性的要求);c)不是所有的IDREFS都打算提供用户交互或其他条件访问使用I一些仅仅为了文档解释或处理的需要而关联信息(比如,在A.5.6默认值列表中的属性“subdvl”)。当超链接结构形式可用时,它们能被用来区分真正的超链接与其他IDREF的应用,并为交互遍历应用指定遗历规则。注212:在许多情况下,有可能使现成的SGML文档交互引用去符合HyTime,仅仅通过把固定属性加到其属性定义表中,而不用改变文档样式。Refloc设备能适应不使用ID引用定位锚点的超链接的元素类型。8.1.1链接创建作为抽象对象,超链接有三个主要特点:——“链接类型”;——从设计者的角度来看,对象被定位为超链接的“锚点”能够满足多个对象的列表或是链接本身;——在超链接表现关系中,锚点所扮演的语义角色(anchr01)。注213:例如,关系类型中“雇用”可能定义为拥有两种锚点角色——“雇员”和“雇主”。一个雇用链接的事例能够定位两个由单个对象组成的锚点,对象包括:满足雇员角色的人和满足雇主角色的公司(或人)。从单个的雇员到多个雇主的关系能够通过使雇主锚定成一列表来表示。从单个雇主到多个雇员的关系能够通过使雇员锚定成一个列衷来表示。而从多个人到其相对的雇主的关系,则可通过将两者都锚定成对应列表来实现。超链接被表示成元素类型是链接的元素。锚点角色(anchrole)属性定义了锚点角色的名称。每个锚点角色的对象通过与其本身相同名称的锚角色名称的属性被定位(或者通过一个HyName属性映射到锚点角色)。超链接文本(hykink)元素提供了超链接的通用格式。HyTime也定义了专门的超链接格式来反映公共的操作或提供另外的链接语义。超链接的“链接类型”把语义角色和链接相关联。链接类型由应用程序以及应用程序相符合的体系结构定义。其本身由每个链接元素的元素类型(通用识别符)所表示。有了HyTime的所有体系结构格式,应用程序就容易为链接类型定义其他属性,包括能够创建基本类的子类属性。注214:是否决定要多个元素类型或者要带有“子类型”属性的单个类型,这种情况在文档类型设计时经常出现。尽管“子类型”属性对减少通用信息系统的编号数量有利,这个好处用户应该意识到。但是其增加了同样多数量的属性值。另外需要重点考虑的情况是选择了子类型是否能限制其他属性的值,或者使内容模型。如果子类型在这些方面趋向有所不同,那么设计者就需要考虑生成单独的元素类型,或者可能创建应用级的体系结构格式。链接类型的定义同样也定义了锚点的数量并且将它们与语义角色关联起来。应用程序也能为超链接内容定义语义,决定是否把自己作为一个锚点而命名。注215:例如,应用程序能把一个特定链接的内容定义为每个链接事例的解释。注216:锚点标记角色的设计对锚元素类型不是约束。如果愿意,应用程序的设计者能用引用类型属性去实现这样的约束。注217:尽管超链接锚点的数量被约束,能被链接的对象数量并没有限制,因为有些(或全部)锚点可能是列表(如77 GB/T16965--2009/1SO/IEC10744:1997果链接类型的定义允许)。注218:作为类型关系的表示,超链接并不是由用作定位锚点的定位地址的形式来区分。换言之,一个链接锚点无论是被ID,树形位置或者查询定位都不影响在其中建立的关系。然而使用的地址形式会对一些处理产生实际的约束。例如,一个基于英特网的应用程序可能不支持起动超链接锚点的查询,因为在呈现这些锚点前支持查询是不切实际的。应用程序能在不影响超链接意义的情况下改变定位的方式。例如,带有用查询方式去定位锚点链接功能的文档能通过解析查询和用直接的对象定位去代替其自身的方法达到最佳化的发布,而不会对超链接本身产生影响。8.1.2链接遍历在应用程序的请求下,超链接锚点的定位问题会被提供访问这些锚点能力的HyTime引擎解析。注219:例如,超链接元素能表示整个索引项,因为应用程序可能为了格式化索引而请求自动和整批访问索引项。在一些应用程序中,特别是在一些交互型的应用程序中,超链接被用来表示影响访问部分超文本的判定点,表现为超链接的锚点。这样的应用程序需要选择性解析锚点地址并访问这些锚点。选择性访问一个超链接中的锚点被叫作“遍历”。应用程序能指定遍历是否允许与每个锚点关联依靠的是链接遍历规则(1inktray)属性。注220:在HyTime中,遍历被超链接模型所定义。然而,定位地址的伴随解析是必需的,用它去定位选定的锚点,它是对象识别的一个方面并在基址与定位地址模型中定义。遍历仅仅发生在锚点之间或者隶属于锚点列表的相邻锚点之间,不可能在其链接元素本身上来回链接(除非链接本身就是个锚点)。锚点能够被来自外面的链接访问和在链接内称为“启动锚点”的遍历访问。典型的“双向链接”就是拥有两个锚点,且两者都是启动锚点的链接。注221:应用程序能提供方法去访问链接元素和在这个标准中定义为不可访问的锚点。当链接不是本身的锚点或者不是其本身启动锚点,它被称为独立的,就像它的锚点上下文语境独立一样。特别地,链接元素可能在一篇与所有的锚点分离的文档中。从锚点的观点看,独立的链接是“不可见的”,除非作用到它锚点本身。但是,HyTime应用程序能根据请求生成可用的超链接的参数,包括独立超链接元素的任何内容。注222:另外,当访问链接元素本身时,尽管链接并不像锚点一样命名自己,应用程序能为访问链接锚点选择提供便利。换言之,应用程序会考虑每一个链接总是其本身的锚点,从而允许移动到链接元素本身(并不是为了描述关系的目的)。但是,这种行为在HyTime中是不允许的。当超链接把其作为自己的一个锚点命名自己时,其也是个启动锚点,也就使所说的“上下文语义”。因为链接能在一些可到达的阅读语境出现,此时它被当作一个启动锚点。上下文链接(clink)元素形式代表用上下文链接去创建交叉引用的典型应用。当一个锚点是一列表或者一个对应的列表时,其就有关联的列表遍历规则,此规则定义了怎样遍历或者是否允许从列表的一选项遍历到另外的选项(“列表遍历”)。列表被当作链表,有可能是循环链表。列表遍历是有方向的,要么向左或右,或者是双向的。如果链表被当作循环的,则从开始点到最后点遍历,或从最后到开始,或者双向的遍历都是允许的(取决于列表的方向)。注223:例如,如果一个列表锚点允许“相邻列表遍历”,系统表示将会提供“前一个”和“后一个”按键去反应列表遍历选项,就像在同一超链接中为列表中遍历到另个锚点提供一种结构方式。当一个超链接中两个或多个锚点是对应的列表锚点时,从一个锚点遍历到另外个锚点总是从列表中一节点到另外一个对应的列表中这样的锚点的对应节点。一致的列表锚点可能有相同的列表遍历规则。注224:例如,像在一个体育队和另外一个体育队的两个队员之间的“防御性匹配”关系能被表示成对应的锚点,每个锚点对应一支球队。当调度模型被支持时,就可能确定在时间和空间中位置和大小,来表示访问的锚点和通过anchloc定位地址去定位链接或其本身的锚点作为调度事件的内容来预览(参看8.3.2超链接锚点定位地址)。78 GB/T16965--2009/ISO/[EC10744:19978.1.3遍历规则属性形式超链接遍历规则(traverse)提供了一套属性,能控制超链接锚点之间和列表锚点成员之间的遍历。属性链接遍历规则(1inkrav)能确定每个锚点是否是一个启动锚点,以及指定什么遍历被允许访问锚点从同一链接的另外锚点来访问(“内部遍历”)。基本的遍历选项在下列列表中呈现。一些可以被组台起来。为了讨论锚点遍历,术语“到达”、“离开”和“遍历”有下列特定的含义:遍历在同一个超链接中从锚点到另外锚点的运动。遍历能被“形象化”作为通过链接从一个锚点移动到另一个锚点。不管其他链接是否可能使用同一对象作为锚点,遍历总是关于单个链接的。到达到达超链接中的锚点是不同于想象中的链接遍历。举例来说,在一个典型的在线演示文稿,滚动文档到锚点发生的点将组成到达这个锚点。到达总是从“外部”到链接。特别地,遍历到碰巧是另一个链接的锚点,那将会构成关于第二个链接的到达此锚点。离开从链接的锚点移到不是同一个链接的锚点的地方。举例来说,正在遍历一个锚点,滚动到其他地方会构成离开。离开总是与被用作遍历锚点的链接有关。特别地,如果两个链接共用同一个对象作为一个锚点,通过第一个链接遍历到此对象,那么第二个链接遍历就是关于第一个链接的离开。注225:换言之,给定一个链接的两个锚点,锚点A和锚点B,读者会“saxid竹‘‘到达”锚点A,“遍历到”锚点B,然后“离开”锚点B。基本的遍历选项如下:——随着到达的遍历(⋯E)。像这样到达的此锚点是个启动锚点,能遍历链接的任何的其他锚点而不被禁止遍历其本身。“E”选项并不意味着有能力在返回之后离开锚点或者遍历此锚点。注226:外部到达并不构成遍历锚点。一一返回(⋯R’)。仅能返回到遍历到锚点的锚点。注227:例如,当遍历的时候,返回锚点会呈现在一个弹出窗口中,直到弹出窗口消失才会允许其他的操作。另外,被许多超文本浏览器提供的典型的“back”功能并不是这里定义的返回功能,这样调用的方便性通常并不与锚点直接相关。换句话说,一个严格的返回必须被与该锚点遍历到的交互锚点直接。——内部(“I”)。遍历了这个链接的锚点,能遍历同一链接中的任何锚点。——离开(⋯D)。遍历了这个锚点,都能离开此锚点和此超链接。注228:例如,当遍历时,文档视图可能简单地“滚动”到这个锚点,读者可以自由滚动处理或者定位到这锚点范围外的另外位置。——无迸一步遍历(⋯N)。已遍历了这个点,而不可能进一步的遍历。注229:例如,在模拟仿真中代表决定点的超链接中,“N”锚点能表示导致模拟终止的决定。——禁止遍历(“P”)。从任何超链接的其他锚点到此锚点的遍历都是禁止的。如果不允许离开的锚点是另一个链接的锚点或者包含另外超链接的锚点,当这锚点已经被遍历了,那么是不允许遍历那些链接的,因为这样做构成了锚点的离开功能。然而,如果这个锚点被当作一允许离开的锚点遍历,或者不是超链接的访问,那么离开的约束是无效的。注230:换言之,超链接能影响到锚点或者来自锚点的移动,仅仅依照关于该超链接解析。借助同样的标记,设计者和作者能够使其遍历的选择得到展现,也期望到达这样一个程度,处理系统能完全支持遍历规则(然而,特殊的遍历规则规范不能担保能访问到,或者对访问超链接锚点产生约束。换句话说,遍历规则规范代表了作者和设计者的意图,但是不能保证这意图是否能实现)。注231:应用程序能基于数据对象的状态把数据访问策略与数据对象相关联,数据对象视为超链接的锚点,与遍历状况和行为无关。但是,这样的策略超越了HyTime的遍历规则范围(尽管这HyTime活动跟踪策略很容易被用作定义这样的策略和与其相关的数据对象和超链接——见6.7.3)。79 GB/T16965--2009/lSO/IEC10744:1997这些基本的遍历选项能以特定的组合方式组合起来,形成linktray属性的关键字如下:I从同一个链接的锚点不断遍历。R遍历后返回。D遍历后离开。A任何遍历或者离开(等价EID)。N从同一个链接的锚点遍历后就不再遍历了。P禁止遍历到这个锚点。ID遍历或离开。RD返回或离开。EI到达后遍历,从同一个链接的锚点不断遍历。ER到达后遍历,从同一个链接的锚点开始遍历后返回。ED到达后遍历,从同一个链接的锚点开始遍历后离开。EN到达后遍历,从同一个链接的锚点开始遍历后就不再遍历。EP到达后遍历,禁止遍历到这个锚点(也是禁止返回)。ERD到达后遍历,返回,或者离开(只有当这里有超过超链接的两个锚点是,这个ERD选项才会不同于A选项)。linktrav属性的值可能是每个锚点或者是全部锚点的关键字。注232:比展示出的linktrav关键字更复杂的遍历规则能通过规范化所有链接成二进制链接或者通过定义特定的遍历规范机制去实现。属性列表遍历(1isttrav)应用于任何列表或者相关的列表锚点和定义,对于每个锚点,列表遍历是被允许的。一个列表锚点的节点按其被定位的顺序列出。除了“N”(不遍历)选项外,这个列表被当作链接列表。当“环绕”被允许,那么链列表是循环链表,其第一个节点会被链接到最后个节点。注233:为了链接遍历,每一个列表锚点成员被当成分开的可遍历的对象,因此浏览器基于请求从链接锚点遍历到另一个锚点的典型行为,会呈现出所有锚点的列表,包括任何列表锚点的独立组件。对于相关的列表遍历,从相关列表成员的遍历总是一个对应列表锚点的相关成员。可能的列表遍历选项是:N没有列表遍历的可能。已经遍历到列表的一个成员,只有一种可能选项去遍历超链接的另外锚点(间接允许遍历同一个锚点的另外一个成员)。注234:换言之,这里没有下一个或前一个行为,但是当链接的遍历被请求时,锚点的另外成员能够通过从呈现的选择列表中被遍历。L左遍历。从列表中一个节点到前一个成员遍历。R右遍历。从列表中的节点到下一个成员的遍历。A相邻遍历。从列表中从节点到任意一个相邻节点的遍历。Lw左环绕:左侧遍历,当从列表中的第一个节点开始遍历时遍历到列表的结束。RW右环绕:右侧遍历,当从列表中的最后一个节点开始遍历时遍历到列表的开始。AW相邻环绕:可以两个方向遍历,当遍历到列表的任意一端时重复。Listtrav属性的值可以是每个列表锚点或者是所有列表的某个锚点。(!~遍历属性一)(![%traverse;[(!attllst一遍历一~遍历属性一~条:813一一(agglink,hyli呔,illnk)linktrav一超链接遍历规则一~超链接锚点问遍历:A任何遍历或者离开(EID)80 GB/T16965--2009/IS0/IEC10744:1997D内部到达后离开E外部到达后遍历I内部到达后遍历N内部到达后不遍历P不内部遍历R内部到达后返回遍历一NAMES—Lextype:(”A¨|”EI”l”髓”|¨∞””口⋯IEP”ERD”|”I”l”ID”|¨D”c¨N”l”P”I⋯R”RD”)+一一约束:一个对一个锚点或者一个对多个一Alisttrav一列表遍历规则一一在列表成员阅遍历:A相邻遍历(左和右)L左遍历N无遍历R右遍历w环绕遍历一NAMES—Lextype;(⋯AI”AW””L”l”Lw”l”N”J”R”【”RW”)+一一约束:一个对一个列表锚点或一个对全部类表锚点一N>]])(!一遍历一)8.2超链接体系结构形式HyTime定义了下列的元素形式,应用程序能用它们去表示任意的链接类型。——超链接(hylink)是最灵活的。其能有任意多的锚点并且能够在所有锚点中保持完全的独立;——上下文链接(clink)代表了简单的、一般的交叉引用;——聚合链接(agglink)代表了聚合关系;——可变链接(varlink)代表了在同一个链接类型的多个事例中的拥有不同的锚点角色;——独立链接(ilink)为超链接提供了可选择的句法,锚点地址被单个的IDREFS属性指定,而不是为每个锚点角色指定分开的属性。8.2.1超链接元素形式超链接(hylink)是一种在文本中的位置与锚点位置无关的超链接。位置的意义由应用程序决定。注235;超链接能用在不能够改变锚点(事实上这是投有写访问)的情况下。如果有两个锚点,一个可以改变,那么用上下文链接就会更方便。注236:链接类型可能是个独立链接,包含外部主题词表和索引地址,各种不同版本的索引,以及图形用户界面对象,比如菜单和单选按钮集。注237:能够在hylink表上建模的超链接的一个有用的应用就是“性质链接”。当协作的作者或审阅者注文档时,其允许特定的性质类型与位置相关联。有两类锚点:“主题”,标识了性质被关联的地址;。性质值”,标识了性质的值。遍历规则必须至少允许始于主题并返回性质值的遍历,尽管设计者可以选择构造双向链接的方式。属性锚点角色(anchrole)通过指定各自的角色名称指明了锚点的数量。相同角色名不能被用于多个锚点(通过锚点角色名定位的锚点)。仅当“manyanch”选项被支持,并且该值被指定为无值或者大于⋯2的时候,锚点才能超过两个。锚点角色在从属中必须保持不变。每个锚点角色名都能被下列两个关键字之一描述:#LIST锚点是“列表锚点”:锚点可能是包含一个或两个以上节点的节点列表。#CORLIST锚点是一个“相关列表锚点”:锚点可能是包含一个或两个以上节点的节点列表。另外,在同一个超链接中,对于相应列表锚点的各个成员,在所有的其他相关列表锚点中必须有相应的成员与其对应。如果仅有一个#COIq:LIST锚点,将其视为81 GB/T16965--2009/ISO/1EC10744:1997普通的#LIST锚点。非列表锚点称为单例锚点(singletonanchors),单例锚点可以被解析为只有一个节点。每个锚点角色(自身锚点除外)必须有一个引用的属性,属性的名称与锚点角色的名称相同。每个属性直接或间接地对锚点角色成员进行定位,这些属性一般被引用到链接的“锚点定位属性”。注238;对属性规定的值必须是IDREF,IDREFS,ENTITY,ENTITIES或者定位地址,通过refloe功能,属性必须被指定(见7.8的定位地址)。单例锚点使用RHE来定位多个对象。注239;通过使用HyNames结构化重命名属性,用来定位超链接锚点的属性名能映射到锚点角色名。例如,下列HyNames说明了锚点角色名“employees”到“emplDs”的属性名之间的映射关系:HyNdmesNAME#FIXED”employeesempIDs”重映射过程总会被HyTime处理器识别,但是当属性没有在meta—DTD结构中被声明时,重映射会被一般的体系结构处理器忽略掉。(就像这种情况,如果元素直接起始自于超链接形式,而不是一个继承于超链接形式的体系结构形式。)注240:应用设计者能够通过reftype属性去约束元素类型。属性锚点存在的约束(anchcstr)为每个锚点定义了锚点能否忽略,或如果锚点没有描述锚点定位属性,链接元素本身是否可以看作锚点。属性值是一个关键字列表,一个关键字对应一个锚点或所有锚点。在从属文档中,对于给定链接类型来说锚点约束必须是常量。当锚点属性被忽略或者属性值为空字符申(”)时,锚点存在约束开始起作用。如果属性没有出现在元素的开始标签处,且取默认值,而非#IMPLIED、#CONREF,或者值为空字符串的属性都被看成该属性已经被指定值。注241:不指定锚点定位属性和定位一个空节点列表之间是有差别的。根据由emptyanc属性指定的规则进行验证,对空节点列表进行定位的锚点是有效的。这可能锚点存在的约束关键字有以下几种:必需(REQUIRED)必需锚点:锚点是必须的并且不能链接到他本身。对于必须锚点的定位属性正常情自身(SELF)省略(OMIT)条件(COND)况下有一个字面上的默认值或者默认的设定值,或者由#REQUIREDor#FIXED规定的默认值。默认情况下,所有的锚点都是必需的。自身锚点:如果锚点没有指定定位属性,那么这个超链接本身就是这个锚点。自身锚点的定位属性值通常由#IMPLIED设定值设定或者该属性不存在(超链接总是个锚点)。可省略的锚点:如果没有为这个锚点指定锚点定位属性,那么此锚点对于超链接来说相当于链接不存在:角色从关系实例中省略。可省略的锚点定位属性正常情况下有一个由#IMPLIED指定的值。条件链接锚点:如果没有为这锚点指定锚点定位属性,此锚点当被省略(就像OMIT)。另外,如果链接的所有锚点是条件的,并且没有锚点定位属性被指定或仅有一个保留,那么这些元素被当作其HyTimeti体系结构形式是HyBird那样被处理:不认为它是链接而是体系结构化处理。对条件链接锚点的锚定定位属性正常情况下有个由#IMPLIED指定的值。属性空锚点是差错吗?(emptyanc)对于每个锚点来说,说明锚点作为一个空列表(“ERROR”)或者不是(“NOTERROR”)是否是差错。该值要么是每个锚点有一个关键值或者要么是所有锚点仅有一个关键值。空锚点规则仅仅应用于这样的锚点,其本身定位属性已经被指定,或者在一个元素开始标记上被指定,或者因为这些属性有默认值而不是#IMPLIED或者#CONREF。注242:换言之,empytanc并不适用于省略的或条件的锚点。所有的链接必须要有至少两个锚点。对链接来说拥有零或一个锚点是RHE的(除非存在约束锚点属性的条件值被指定,以至于缺少足够的锚点,从而导致元素不是一个超链接)。注243:例如,二进制链接如果有一个自身锚点和一个可省略的锚点,由于该链接只允许含有一个锚点(那个自身锚点),从而会忽略一个锚点,这就是一个差错。然而,如果可省略锚点被条件链接锚点替代,那么省略这锚点就不再是个错误,因为这样的元素不被当作链接了。82 GB/T16965--20091ISO/IEC10744:1997(![%hylink;[(!elementhylink一超链接关系一一条:82l一一0(%啦西℃;)“~属性[1inks]:hylink一一一可选属性[1inks]:traverse-一一公共属性[GeIlArc]÷dale,dvlatt,etfullnm,id,irefmodl,ireftype,lextype,opacity-.一公共属性[hse]:activity,conloc,dtxtatt,valueref-一一公共属性[10cs]:refctl,refloc,reftype,rflocspn-一(!attlisthvlinkanchrole∞ATA#礤脚ImanchcstrNAMESREQUIREDemptyancNA}也S一超链接关系一一条}8.2.1一一锚点角色一一Lextype:(Nmvm,(”#LIST⋯I#CORLIST”)?)+~一约束:一个链接所有的#CORLIST锚点必须有相同的成员数一~常量一一锚点存在约束一一Lextype:(”REQUIRED””SELF”|¨0MIT”I”COND”)+一一约束:一个对一个锚点或一个对所有锚点一一约束一一空锚点是个错误吗?~一Lextype:CERROR“|¨NOTERROR”)+一一一约束:一个对一个锚点或~个对所有锚点一一锚点定位属性:每个非自身锚点角色拥有一个锚点定位属性,属性名与锚点角色名相同(除非由结构化属性重命名属性重映射过)一)]])(!一超链接一>8.2.2上下文链接元素形式上下文链接(clink)代表了绝大多数普通交叉引用形式。上下链接形式起始自超链接形式。注Z44:任何超链接潜在地可能是“上下文链接”,可通过使用自身作为自己的一个锚点并且使该锚点成为一个遍历启动锚点。上下文链接类型表示了引用的类型。这里有两个锚点角色:“引用标记”,是一个链接元素;“引用主题”,由属性引用主题(refusb)进行甄别。引用主题可能是一个列表。注245:在标准的文档中,上下文链接是最常见的文档超链接配置的优化;它能够用普通引用元素来模拟作为脚注引用和图形引用。如果有更复杂配置要求(像更多锚点),超链接元素形式能被使用。如果引用标记在文档中仅是一点而不是一个对象,那么它可以为空。注246:当上下文链接元素位于起所在的上下文时,它可以使用共用的不透明属性去指定他们适“透明”的。请参见A.5.2。(![%agglink;L(!elementagglink~聚合链接~一节823~一0(%HyCFC;)’一属性[1inks]:agglznk一可选属性[1inks]:traverse-一一公共属性[GerlArc]:dale,dvlatt,etfullnm,id,ireftype,lextype,opacity-一一公共属性[base]:activity,conloc,dtxtatt,valueref-一一公共属性[10cs]:refctl,refloc,reftype,rflocsprp-(!attlistagglink~聚合链接一~节823一HyHaseNAME#FIXEDhyliIll【anchroleCDATA#FIXED”aggmembers#LIST”anchcstrNAMES”selfrequired”loctypeCDATA”membersIDLOC”members一聚合成员~CDATA一引用~~注意:因为成员是由定位地址类型IDLOC默认给定,其值就像IDREFS一样被默认解释,虽然解释可以通过说明loctype属性的不同值进行变更。一#IMPLIED一默认:省略或条件的一一约束:如果没被指定,必须在anchcstr中指定条件~)]])(!~聚合链接一) GB/T16965--2009/ISO/IEC10744:19978.2.4可变链接元素形式可变链接(varlink)代表超链接对于一个给定的链接类型,锚点角色不需要保持不变。不像单个的锚点定位属性,可变链接形式会用锚点说明(anchspec)子元素去定义每个锚点角色和定位锚点成员。锚点说明元素内容包含锚点的访问。锚点角色属性指定锚角色名。如果没有锚点角色属性被指定,那么锚点说明元素的元素类型被用作锚点角色(anchrole)。如果在单个可变链接中的多锚点说明元素存在同样锚点角色,那么它定位的这些节点,按照锚点说明元素的出现顺序排列,将结合起来形成单个成员列表。只有当“多锚点”(manyanch)选项被支持,并指定无值或大于2的值的时候,锚点的成员能超过两个。属性锚点有个多成员的属性?(muhmen)指出无论锚点是否允许多成员(列表),以及多个成员能其他锚点的成员或单个成员相关。如果在单个可变链接的多个锚点说明元素拥有相同的锚点角色,那么必须给属性multmem指定相同的值,或是“列表”或“相关列表”。其他属性在超链接形式中被定义。可变链接元素可能是自身锚点,需要为这可变链接元素形式的锚点角色属性指定一个值去说明。为了关联锚点角色的链接类型,与给定的可变链接元素相关的链接类型是一个并集,该并集是为单个文本中的元素类型命名的所有锚点角色名称的并集(例如,好像所有的锚点角色被清楚地声明并给予一个锚点存在的省略约束)。(!一可变链接一)(![%ilink;L(!elementilir】】c一独立链接一一条:8.25一一086 GB/T16965--2009/ISO/IEC10744:1997(%Hy汀C;)*一属性[1inks]:ilink-一一可选属性[1iI】】【s]:traverse-一一公共属性[GenArc]:dale,dvlatt,etfullnm,id,ireftype,lextype,opacity-一一公共属性[base]:activity,conloc,dtxtatt,valueref-一一公共属性[10cs]:refctl,refloc,reftype,rflocspn-一)(!attlistilink一独立链接一一条:825一anchrole一锚点角色一CDATA~Lextype:(NAME,(”#AGG””#LIST””#CORLIST”)?)+一一约束:一个对应一个锚点一#REQUIRED一约柬一linkends一链接结束一IDREFS一引用一一约束:一个对应一个锚点角色,除非当第一个锚点是链接元素本身时,第一个ID可以省略~#REQUIRED)]])(!一度量一一>一颗粒定义一一条:92l一一颗粒名称一一颗粒的名字被定义。被定义的颗粒名不能作为SGML的规范化使用(也就是说,它们是区分大小写的)。一一Lextype:颗粒一一约束:度量城的唯一性一一约束:不能与SMU同名(忽略大小写)一一颗粒定义记法一一用于指定被定义的颗粒和度量域的SMU之间的关系的记法。一一Lextype:NOTATION-一9.2.2HyTime颗粒定义记法缺省情况下,HyTime颗粒定义记法(HyGrand)被用于定义颗粒。一个HyGrand表述定义了~个颗粒(即量程类型)作为“引用”颗粒的比率。比率作为一对数字被指定,第一个是分子,第二个是分母。引用颗粒可以是以前被定义的任何一个没有引用的(直接或间接)颗粒。(!一日yTime颗粒定义记法一)(![%HyGrar*d;[(!notationHyGrmld~Hj,Time颗粒定义记法一一条:922一一颗粒和它的度量域的SMU之间的数学关系被指定为SMU,或者是同一个域中的另一个颗粒这两者中所定义的颗粒的比率。一一Lextype:(比率,(颗粒SMU))一一一约束:颗粒不能被根据自身直接或间接定义。一PUBLIC”GB/T16965--2009//NOTATIONHyTimeGranuleDefinitionNotation//EN”一公共属性[GenArc]:altreps,included,superdcm一一公共属性[base]:bosdatt-一一公共属性[1ecs]:eq”plan-一]])(!~HyGrand-一)9.2.3有用的度量域HyTime包括了度量虚时间(virTime),虚空间(virSpace),实际时间(Slseeond)和实际空间91 GB/T16965--200911S011EC10744:1997(Slmeter),除此之外,还有普通量程的显式域定义(gQuantum)(见9.2.3.2)。注263:颗粒名不同对于应用而言是有意义的,即使它们与HyTime是等效的(例如,在Slmeter域的“thumb”和“inch”)。注264:大范围的颗粒为不同的应用提供了方便的选择。注265:在计算机中的实际度量不是一个连续统一体。在显示器或者打印机上,每一秒就有一些不连续的计算机时钟和一些不连续的分辨率的点出现。这样简化了对HyTime的度量计算。9.2.3.1公共标准度量单位以下记法声明提供了大多数超媒体应用所必需的标准度量单位。{!~度量单位一)(![%sched;[《!notationgQuantum一普通量程~一普通量程的引用单位一PUBLIC”钮/T16965--2009//NOTATIONVirtualMeasurem明tUnit//EN”(!notationSIsecond一国际单位黼秒一一实际时间的引用单位一P【IBLIc”GB/T16965--2009//NOTATIONs、陌t骶Internationalsecond//EN”)(!notationSImeter一国际单位制米一一实际长度的引用单位~PUBLIC”GB/T16965--2009//NOTATIONSystemsInternationalmeter//EN”(!notationvirTime一虚拟时间一一虚拟时间的引用单位PUBLIC”∞/T16965--2009//NOTATIONVirtualMeasurementUnit//EN”《!~sched-一)9.2.3.2度量域定义HyTime为有用的SMU的记法声明定义了五种度量域,可以使用以下SGML正式公共标识符来在公共文本中引用:“GB/T169652009//TEXTUsefulMeasure删虮tDomainDefinitions//EN”“度量”和“颗粒”的元素和属性列表声明没有包括在其中。它们和体系结构形式的定义是相同的,除非“颗粒”内容被声明为#PCDATA。注266:因为颗粒集是无限的,这些度量域的定义必定是不完整的。因此,一个颗粒的缺乏不能被当作是拒绝。使用在9.2.i度量域定义中所描述的设施,颗粒可以轻易地增加。例如,颗粒能代表各种计算机系统中的时钟点。9.2.3.2.1通用量程(measuresⅢu=gQuantum)(granulegn=quanta>1lgQu锄tum92 (granulegn=bit-combination>(/measure>9.2.3.2.2虚拟时间Il1l1GB/T16965--2009/ISO/IEC10744:1997quantumgn=vtu>1virTine1vtu(/measure>9.2.3.2.3虚拟空间(measuresmu2virSpace>1(/measure>9.2.3.2.4国际单位制秒omeasuresmu。Slsecond>gn2nsec)fgranulegn=dsec>gn=SMPTE_50)gn=V1250)gn=SMPTE-240M)gn=SMPTF,30)gn=pAL>gn=SECAM)gn;motion-picture)gn=SMPTF一24-drop)gn=PC—tick>gn=second)gn=dasec)gn=ksec)gn=Esec)gn=minute>gn=ql/arter-hour>gn=half—hour>71day21week(!一Yearandthegranulesbasedonitmightnotbeaccurateenoughforsomeapplications一)(!一对于一些应用来讲,年和量程也许不够精确~)(granulegn=year>3652422i0000day(granulegn=decade>i01year(granulegn;century>101decadei0001year(/measure>9.2.3.2.5国际单位制米7meastLresmu2Slmeter>1i000zm(granulegn=zm>1i000am(granulegn=am>1i000fm(granulegn=fm>1i000pm(granulegn=pe)1i000nm(granulegn=angstrom>1i0nm(granulegn=nm>li000um(granulegn=um>li000m(granulegn=mm>li0cml10da(granulegn=da>liOmeter(granulegn=meter>1SImeter101meter(granulegn=hm>lOldami0l1m10001km18521meteri0001№l206265parsec10001缸i00326parsec(granulegn=Pm>i0001TⅢ(granulegn=parsec)3086lTm(granulegn=Em>i000lPⅢ(granulegn=ZⅢ)10001Em(granulegn=Ym>i0001zm(granulegn=microinch>1i000milliinchli000inch(!一point和pica是计算机系统中的常用单位,但对于某些应用可能不够精确。一)(granulegn=point>l12pica16inch13inchl16yard(granulegn=inch>254100cm(granulegn=thumb>1linch(granulegn=hand)41inch(granulegn=Roman-foot>1164100inch(granulegn=foot>121inch(granulegn=Greek-foot>1244100inch(granulegn=Northern-foot>ii10foot(granulegn=cubit>181inch(granulegn=Sumerian-cubit>49510cm2062100inch31foot《granulegn=e11)54yard6lfoot112yard1lperch94 gn=chain)(granulegn=furlong)gn=quarter-mile)gn=mile>gn=league)</measure>9.2.3.3其他标准度量单位166220440176031perch1feet1yardlyard1yard1mileGB/T16965--2009/IS0/1EC10744:1997以下记法声明可以在虚拟现实的应用中或其他要求非暂时的、空间的、普通量程的度量单位的场合中使用。它们包括剩余国际单位制的基本单位和增补单位。(![%sched;[(!notationsIkg~国际单位制千克一一质量引用单位一PUBLIC”GB/T16965--2009//NOTATIONSystemeInternationalkilogram//EN”(!notationSIkelvin~国际单位制开氏温标一一热力学温度引用单位~PUBLIC”GB/T16965一一2009//NOTATIONSystemeInternationalkelvin//EN”]])(!一sched-一>9.4.2范围规范属性形式exspec包括单独的属性名义上的范围规范(exspec),它把调度范围与元素相关联,如果想要在多个位置或用不同的大小来复制或重复元素,则可以指定多种调度范围。注275:一种事件不同的语义没有被定义。这意味着可以用这样的方式来定义一种应用,这种方式是事件的目标地址依据事件被分成几部分,每个事件有一个副本,或者两个事件构成的联合,并有很多的可能性。99 GB/T16965--2009/ISO/IEC10744:1997‘!~范围规范一)(![%sched;[(!attllst—exspec--~名义上的范围规范~~条:942~(事件,modscope,proscope)exspec~范围规范一CDATA~日I用~一Reftype:(extentlextlist)+一#髓0uIRED)]])(![%sched;[《!entity%dexspec一默认范围规范记法一一条19.4.5--”#I旺LID“)(!一sched-一)9.4.5调度范围列表元素形式调度范围列表(extlist)描述了有限坐标空间的范围列表。(!一范围列表一){![%sched;[{![%HyExtLst;L《!entity%dextlist”HyExtLst”)]])(!entity%dextlist默认范围列表记法·条:94.5一”#ImLIED”(!elementextlist一范围列表一一条:945—103 GB/T16965--2009/ISO/IEC10744:1997一个或多个轴的范围列表。~o(%HyCFC)}%dimlist;Iextentextllst)*一约束:如果没有指定程度列表记法,内容受限为(extentextlist)一一属性[sched]:extlist一公共属性[GeIIArc]:dafe,dvlatt,etfullnm,id,ireftype,lextype,opacity一一公共属性[base]:activity,conloc,dtxtatt,valueref一~公共属性[10cs]:refctl,refloc,reftype,rflocspn~一引用[sched]:dim=ref:elemspec,exspec:exspec,grpdex:grpdex-一(!attlistextlist一范围列表一一条:945一notation一范围列表记法一NAME一一Lextype:NOTATION-一%dextlist}一默认:内容被约束为(extentlextlist)*¨)]])(!一sched--)9.4.6HyTime范围列表记法HyTime范围列表记法是轴标记列表的一种扩展形式,其中的dimspecs由轴标记继承而来,范围又由dimspecs继承而来。列表可能包含被构建的extlists范围,但是这些合并将对单层次列表造成影响。范围列表记法处理器必须注意轴的数量,这些轴包含在范围规范应用中控制轴的顺序调度中。被嵌套的范围和范围列表也许仅包括在轴标记列表之内的范围规范界限中。注281:换句话说,范围规范不能在存在其他有效范围规范的情况下发生。一个被嵌套的元素可能在轴的一个完全周期内只出现在维规范的前后。(!一HyTime范围列表记法一)(![%HyExtLst;[(!notationHyExtlst—HyTime范围列表记法一一范围列表也许是指定的范围,一部分是另一个范围列表或者是轴标记列表,其全部或部分显式地由标记函数器输人或返回。一PUBLIC”e8/Ti6965--2009//NOTATIONHyTim“entListNotation//EN”一属性[sched]:HyExtLst~一公共属性[GenArc]:altreps,included,superdcn一一公共属性[base3;bosdatt一~公共属性[10cs]:egrvpimn-一)(!--HyExtLst-一)9.5事件调度元素形式事件调度(evsched)是一个事件列表,每个事件调度在坐标空间的所有轴上各有一个维。在句法上连续事件能够以作为“事件组”出现,以便公共性质能够与之相关联。在一个坐标空间中可以有不止一个事件调度,并且不管在相同或不同的调度中,多个事件可能潜在地存在于同一个位置。注282:应用必须确定多个事件能否恰当地存在于同一个位置,并且它们的意义也如此。104 GB/T16965--2009/1SO/1EC10744:1997HyTime在事件调度中没有隐式的固有关系,除非被同一个fes元素包含或引用的事件调度存在于同一个FCS中。并且,当使用时投影设施,baton和baton规则可能涉及到投影的调度,并且baton和baton规则可能涉及对象修改的调度。注283:其他关系可以由应用通过使用元素类型、属性、层次和超链接定义。注284:应用能定义事件调度的几种类型。例如,它可能允许不同种类多媒体事件交互混合在普通的“多媒体调度”中,或者它可能定义被限制到特殊事件类型的特定的调度。一个特定类型的例子可以是一个“故事板”调度,这个调度的元素在特定的虚拟时间期内是图片,调度在这段期间内被各类型的“分解”元素分割开来。(!一事件调度一>(![%sched;[(!elementevsched一事件调度一一一条;9.5-.-0(eventevgrp)’一属性[sched]:sched一一可选属性Esched]:pulsemap一一公共属性[GenArc]:dale,dvlatt,etfullnm,id.ireftype,lextype,opacity一一公共属性[base]:activity,conloc,dtxtatt,valueref一一公共属性Dock]:refctl,refloc,reftype,rflocspn一一引用[sched]:dimref:elemspec,dimref:schdspec,pdimref:prjtarg,pulsemap:pulsemap,rFCSloc:prjsrc一一引用[rend]:batrule:scheds,batrule:targschd,modrule:events,prorule:sources,prorule:targschd,wandrule:evscheds--)33)(!一objalign-一)9.5.2事件组元素形式事件组(evgrp)是在调度中连续指定的元素集。它包含的元素可以是事件或事件组。这些句法容器的意义主要是定义应用。然而,HyTime确实为grpdex和grprepet属性形式定义了某些语法,这些有助于事件组上下文中事件的重复应用和源范围的表达(见9.4.3)。注287:在下列情况下,grpdex和grprepet属性形式有用:——在音乐程序中,二分音符的时间段给了四分之三音符(“三份”);——在幻灯片放映时,压缩幻灯片序列的预定时间以配合音乐伴奏时间I——当创建pulsemap时,用以避免必须单独指定重复了的脉冲。(f一事件组一)(![%sched;[(fentity%sehed”INCLUDE”)33)(!一HyCalSpc-一)9.9.2日历规范元素形式日历规范(calspec)元素类型根据标记函数(markfun)(见6.8.1.2)。轴标记列表记法使用在数据上下文中(见6.8.1)根据对应的H历和时刻来指明单个标记。在使用HyCalSpc记法时,日历规范被用于表达被校准的轴维。日历规范内容总是被表示在HyTime日历标记函数记法(HyCalFun)中,就像是HyCalSpc记法(见9.9.1),除了返回轴标记。如果日历规范不指明一年(通过指明Julian日期或fulldate),则年龄通过以前指定的或隐式指定的(即之前的语法)calspec推测。如果没有之前指定的年,则该年为该轴的第一年。如果calspec作为维规范的第一个标记使用,则返回一个正标记,从轴的始端开始计数,其数值为内容中的日期和时间相应的量程的数字。如果calspec作为维规范的第二个标记使用,则返回一个负标记,从轴的结尾向后计数,给出内容中指出的日期和时间相应的量程数。115 GB/T16965--2009/1S0/IEC10744:1997(!一规范日历一)(![%calspec;[9.10有限坐标空间定位地址元素形式为FCS定位地:lJf=(FCSIoc)在有限的坐标空问在FCS“选择边界”范围所包含的事件rood—scopes和proscopes的地址。FCSloc寻址(“选择”)事件、modseopes、和/或proscopes的集合对象,或是他们调度的修改符,或者投影符的集合。FCSIoc的定位源必须是一个或更多FCS、evsched、wand或者baton元素。如果没有默认定位源,必须指定定位源属性。如果定位源包括多个对象,它们联合FCSs全部有轴的同~数量程。116 GB/T16965--2009/ISO/IEC10744:1997FCSIoc的内容是在程度上指明定义了界定选择边界的范围。范围允许多个。维的表示由根据HMUs所指定的轴属性的所有服务于定位源的调度元素表达,或者如果定位源是FCS则根据MDUs。属性选择精确度(select)定义了所选择的对象的精确度通过fcsloe的边界所包含的每个事件的多少指明在FCS的每个轴,属性指明了事件是否必须完全的在选择范围(#ALL)内,量程的最小数字必须在选择范围(数字)内,或者如果事件被选择并在选择界限之内恰有一个量程(#ANY)。值为1是对于每一个轴用来指明轴属性定位源(如果定位源为fcs)或axisord属性(如果定位源是调度表),或者是所有轴的值为1。属性事件或对象?(objects)指明,FCSIoc定位的事件,modscopes,且/或者选定的proscopes(默认“事件”)或对象、修改器,并且/或者投影符是否由其(“对象”)调度的。当对象属性的值是“对象”时,FCSloc与定位梯阶是等效的,通过为fcsloc定位源做性质定位寻址是由fcsloc所选的“对象”的事件、modscopes、proscopes的性质。属性直接调度类型选择(dsdtypes)限定选择构建的种类。dsdtypes属性值由记号列表表示,包括相应的关键词与事件(“#EVENT”)、modscope(“#MODSCOP”)、proscope(“#PROSCOP”)元素形式和GIS的从属元素形式。关键词#ALL将导致所有事件、modscopes和proscopes被选择。如果#ALL没有指定,将只按记号值的从属元素类型选择。所有类型的事件、modscopes和proscopes,如果值包含有关于这些类型的关键字将被选择。另外,所有元素的GI,在dsdtypes性质的值以记号出现则事件、modscopes或proscopes将被选择。注313:如果是指定多余,例如,#PROSCOP和proscope元素的GI元素的dsdtypes属性值,虽然选样做不会导致差错。前面主题词和GI的任何组合也许用于dsdtypes属性的值。如果没有指定值,默认值将取决于根据下表指定的元素形式:”#EVENT””#MODSCOP””#PROSCOP””#ALL”如果支持绘制模块,三个另外的属性也许被用于建立更加进一步的选择标准。属性投影并且/或者直接(prjdiret)指明或为事件、modscopes和proscopes的集合,fesloe从中选择直接或通过locsrc元素(drctonly)调度的事件、modscopes和proscopesby,或为投影在loesrc元素的事件、modscopes和proscopes(projonly),或者两个都包括(drctproj)。属性投影源(prjsrc)被用于限制所选定的投影事件、proscopes和modscopes的调度或由事件、modscope、proscope、evgrp、modgrp和progrp的那些evsched、wand、baton或者FCS从属元素指明。如果prjdrct属性值是drctonly,值被忽略。如果值不被规范,所选投影的事件、modscopes和proscopes不会限定其源。属性被投影(prjby)被用于限定通过baton、progrp和proscope从属元素的值来投影所选的事件、proscopes和modscopes。如果prjdrct属性的值是drctonly,值被忽略。如果值没有指明,投影选定的事件、modscopes和proscopes不会限制用来指明其投影到locsrc的元素。(!一有限坐标空间定位地址一)(![%FCSIoc“(![%HyExtLst}[(!entity%dFCSlcnt”HyExtLst”)]])(!entity%dFCSlcnt一默认FCSIoc范围列表记法一”#REQUIRED”(!elementd曲。∞一~呲髓 GB/T16965--2009/ISO/IEC10744:1997118FCSIoc一有限坐标空间定位地址一~条:7.10.2一一地址events,modscopes,andproscopes(ortheobjects,modifiers,andprojectorsthey—contain)在有限的坐标空间一一约束:定位起始必须是FCS,事件调度、war】d或者baton--一0(%dimlist;lextent}extlist)*一约束:如果事件列表标记没有被指定,上下文必须只包含事件和事件列表标记一属性[base3:overrun一一属性[10cs]:locsrc,impsrc-一一属性[sched3:FCSIoc-一一可选属性[10cs]:multloc,referatt,spanloc,treetype-一一可选属性[sched]:rFCSloc-一一公共属性[GenArc]:dafe,dvlatt,etfullnm,id,ireftype,lextype,opacity-一一公共属性[base]:activity,conloc,dtxtatt,valueref一~公共属性[10cs];refctl,refloc,reftype,rflocspn-一)(Ientity%impsrc”INCLUDE”)(!entity%overrun”INCLUDE”)]])(!一FCSloc-一)(![%FCSIoc;%project;[(fattlist—rFCSloc-.(FCSIoc)”#EVENT””#MODSCOP””#PROSCOP””#AIJL”一有限坐标空间地点地址解释模块一一条:7i02~ GB/T16965--2009/ISO/1EC10744:1997prjdirct~直接或投影~一基于标时的目标的选择:drctonly:(Directonly)不要选择事件、modscopes和proscopes在可选元素的投影projonly:(只投影)不要选择直接在指定元素的调度中的事件、=odscopes和pro-scopesdrctproj:(直接或投影)不要包含待选的直接或间接的事件、modscopes和pro-scopes-一(drctonlydrctprojprojonly)drctonlyprjsrc一投影起始一一事件、modscopes和问接proscopes在locsrc元素的调度,选择仅直接地预定或在那些指定的元素。一CDATA~引用一一-Reftype:(baton|eventlevgrpevschedFCSImodgrplmodscope}progrpproscopelwand)“一约束:值被忽略,如果prjdrct的值是drctonly--#IMPLIED一默认:无投影起始约束一prjby~投影一一事件、modscopes和间接proscopes在locsrc元素的调度,选择仅由指定的投影的投影元素。一CDATA一引用一一Reftype:(batonIprogrpIprorulelproscope)“一约束:值被忽略,如果prjdrct的值是drctonly。一#IMPLIED一默认:没有投影元素约束一)]])(!一FCSIoc,投影一)10绘制模块本章介绍了HyTime的可选绘制模块,包括修改设施和事件投影设施。本模块需要调度模块的支持,并且至少支持绘制模块的“修改”和“投影”选项中的一个。HyTime的修改和投影设施允许按标准化方式说明文档的应用绘制的一些参数。在10.2对象修改中介绍的修改,说明信息对象的处理。10.3中介绍了投影,说明事件的语义复制、修改符范围和投影符范围在调度之间的转换,或许在此过程中改变它们的位置和范围。事件和modscopes范围被投影时,它们的对象和修改符在起始语境中可能已经被转变,或者形式并没有变化。一个完全的绘制可以包括几个投影和/或修改集,在10.4中描述了表达完整绘制的容器形式。10.1公共绘制属性修改和投影绘制形式都使用下列属性形式。10.1.1选定的精度当属性选择精度(select)在baton、progrp和proscope中使用时,它用来指定事件、modscopes和proscope的精度。当选择精度属性在wand、modgrp和modscope中使用时,它用来指定事件、mods—cope(它的对象和修改符将被转变)。这个属性确定在每个修改以及投影中必须包含多少事件、修改符范围、投影符范围,这是为了符合对象修改和投影应用的要求。注314:投影符可以应用到事件、修改符范围和投影符范围中。修改符可以应用到信息对象和其他修改符中,但不包括投影。对于FCS中的每一个坐标轴,事件、修改符范围、或将要被投影的投影符范围、或者是对象或将要被转变的修改符范围,选择属性指定了它们的范围,这些范围必须完全包含在修改的修改符范围或者投影的投影符范围(全部)中,以便选择。同时,在修改的修改符范围或者投影的投影符范围(数字)中,必须提供最小的度量单位用来选择,即使只有一个在MDU在修改符范围或者投影的投影符范围(任何)中,它也会被选择。当且仅当所有的轴都满足指定的最小要求时,修改和投影才会发生。对于一个wand,如果没有指定值,只有对象、事件的修改以及修改符范围都完全在wand预定的修1】g GB/T16965--2009/ISO/IEC10744:1997改符范围的时候才能被修改(所有)。对于一个修改组或者修改符范围,它的默认值与最邻近的包含修改组或wand有效值相同。对于一个baton,如果没有指定值,只有当事件、修改符范围和投影符范围都完全在事件投影符预定的投影符范围中的时候才能被投影(Pg有)。对于一个投影组或者投影符范围,它的默认值与最邻近的包含投影组或事件投影符的有效值相同。属性影响部分(portion)指定了一个修改的修改符范围或一个投影的投影符范围是否被应用到整个被修改或被投影的事件、修改符范围或投影符范围(整个),或者只应用到这个修改的修改符范围或投影和投影符范围配置的一部分(部分)。所有的轴可以使用同一个值,也可以每个轴使用不同的值。对于一个wand,如果没有指定值,这个wand中的所有的修改符范围的默认值就是“全部”。对于一个修改的修改组或者修改符范围,它的默认值与最邻近的包含修改组或wand的有效值相同。对于一个baton,如果没有为它赋值,对于这个baton中的所有的投影符范围的默认值就是“全部”。对于一个投影组或者投影符范围,它的默认值与最邻近的包含投影组或事件投影符的有效值相同。注315:在对象修改的时候,属性部分效果的应用已经超出了纯HyTime处理的领域,正因为如此,纯HyTime处理不仅仅只关心对象和修改符的解释。一旦一个对象或修改符范围已经由于对象修改而被选定,创作者们使用部分属性,不过是规定修改符范围是否作为对象修改过程中一个限制参数。如果对于所有的轴,该属性值为“全部”,修改符范围的区域不会像该参数参数这样被使用。(!一精度选择~)(![%rend;[(!attlist一选择~一精度选择一一条:10.11~(baton,modcjrp,修改符范围,progrp,投影符范围和wand)select一精度选择一#IMPLIEDNAMES#I●日IED一在修改的修改符范围或者投影的投影符范围内必须设置多少事件、修改符范围、或者投影符范围,使得修改和投影能够进行。一一Ⅻype:(”#所有”l”#任何一个”I(1】nzi,grimule?))十一一约束:一个规范只对应一个坐标轴或一个规范对应所有的坐标轴。一一约束:应该根据后面提供的颗粒来指定精确的unzi;如果没有提供颗粒的话,就根据为调度定义的轴聊来指定。一一默认:如果在wa耐或baton中投有指定。#ALL。如果在修改组、修改符范围、投影组或投影符范围没有指定,就从wand、baton、事件投影符或投影组中继承。一一修改或投影部分一一修改或投影应用到整个事件、修改符范围或投影符范围(所有),或者仅仅应用到修改符范围和投影符范围(部分)共同指定的部分。一一Lextype:(”所有”I”部分”)+一一约束:一个规范只对应一个坐标轴或一个说明对应所有的坐标轴一一默认:如果在对象修改符或事件投影符中没有指定。#所有如果在修改组、修改符范围、投影组或投影符范围没有指定,就从对象修改符、修改组、事件投影符或投影组中继承。一(!entity%sched”INCLUDE”)]]>(!一rend-一)10.2对象修改尽管本标准的范围中不包括对象的语义以及对它们的修改,但是把对象和它们修改符之间的关系按标准方式说明出来可能会有用。注316:例如,由不知道任何音响效果的人来执行生成连接音响效果盒的修补指令。注317;尽管对象修改是HyTime的可选设施并需要“修改”选项的支持,修改选项并不需要应用支持,应用中的修改能被合并成应用处理从而不能被独立地规定。10.2.1对象修改符对象修改符在对象绘制时作用于事件的对象。注318:对象修改符的明显例子包括颜色映射函数和音频处理规则。由应用而不是本标准定义对象修改符。】20 GB/T16965--2009/ISO/IEC10744:1997注319:工业集团也可能为对象修改符定义有用的集合,用于公共使用。对象修改符可以通过任何元素类型或数据表示出来。注320:特别的,它可以根据一种数据内容记法以信息表达的方式表现出来。注321:对象修改符可以不是一个元素。对象修改符本身受对象修改的约束。10.2.2修改符之间的直接联系(修改规范)元素形式的修改符规则(modrule)把一个或多个事件、事件组、事件调度、修改符范围、修改组与一个修改对象的wand或修改符修补联系起来(见10.2.4);这些联系表明修改符和修改符修补对一些元素进行修改,这些元素包括由事件调度的对象(事件包含在事件组和事件凋度中),或者由修改符范围调度的修改符(修改符包含在修改组和事件修改符中)。属性事件和事件组(events)标识事件、事件组、事件调度、修改范围、修改组以及wands,其中wands的对象和修改符将被修改。属性修改符和修改符修Sb(modifier)标识了将要被应用的修改符和修改符修补。(!~修改规则一)(![%modify;[(!element--modrule-一一修改符规则一~条:1022一一0(%HyCFC;)*一属性[rend]:修改符规则一一公共属性[GenArc]:dale,dvlatt,etfullnm,id,ireftype,lextype,opacity-.一公共属性[base]:activity,conlcc,dtxtatt,valueref一一公共属性[iocs3:refctl,refloc,reftype,rflocspn-一一引用[r∞d3:rendrule-一(!attlist--modrule_一一修改符规则~一条:i022-一events一事件和修改符范围一CDATA一引用一一引用类别:(事件I事件组|事件调度I修改符范围}修改组I事件修改符)*¨#FeQUZⅫmmodifier一修改符和修改符修补一(DATA一引用一一约束;只能有一个修改符和修改符修补一#REQUIRED)(!entity%rend”INCLUDE”)]])10.2.3有限坐标空间中修改符之间通过位置的联合在HyTime中,调度中出现的对象修改符叫“wands”;借助修改符修补(见10.2.4),wands与一个或多个事件通过“wand规则”相联系(见10.2.3.1)。在一个wand中,由一个叫“修改符范围”的元素调度修改符,就像事件调度信息对象一样。修改符范围定义了受其作用的FCS区域,这些事件被包含在相关联的事件调度中(或者由调度符范围调度修改符),这个区域将会被修改。注322:“wand”是一个权威的象征。考虑到HyTime没有定义修改语义,将它与魔术联系起来看更适合。此魔术的含义与事件投影设施中的baton相对(见10.3投影),尽管baton也是一个权威的象征,它具有HyTime定义的语义。10.2.3.1Wand规则元素形式wand规则(wandrule)把一个或多个事件调度(这些事件的对象将被修改)和一个修改其对象的wand或wand修补(见10.2.4)联系起来。修改wand和wand修补调度修改符,事件调度和]2] GB/T16965--2009/ISO/IEC10744:1997wands将这些修改符应用到对象和修改符调度,其中修改符范围包含在修改wand、事件调度和wand的修改符范围中。注323:协同定位标准需要触发修改,用选择和修改wands的部分属性、修改组以及修改符范围能灵活的指定这些修改(见10.1.1选择精度)。属性事件调度(evscheds)标识了包括调度将要被修改的对象的事件的事件调度,和/或标识了包括修改符将被修改的修改符范围的wands。wand或wand修补(wand)属性标识wand修改和wand修补。注324:HyTime允许对相同的对象或标识符使用不止一个wand或修改符规则来指定修改应用。应用可以限制这种现象,和/或定义这多个修改的效果。然而,单个wand规则只能与一个wand和wand修补联系。使用Wand修补使修改应用得更清楚。注325:尽管wand规则形式允许将不同的wand和/或不同的调度联系起来,这并不是说所有的wand可以互相交换;它们必须按调度的性质和/或将要修改的wands进行设计。注326:在10.2.4中对wand修补和修改符修补都进行了讨论。注327:绘制所需的Wand规则和标示符修改规则可一起作为“绘制规则”(见10.4)。在任何绘制中,为调度修改指定的所有修改必须在此调度修改应用之前制定。注328:HyTime没有规范在文档或超文档中必须避免循环修改,比如一个修改符对自身进行修改。但是,这也许是合理的,因为一些HyTime引擎能检测这种循环,而且某些应用能够避免、制造和/或处理这种循环。(!一Wand规则一)(![%wand;[(!elementwandrule一-Wand规则一~条:10231—0(%HyCFC;)’一属性[rend]:wand规则一一公共属性[GerlArc]:dafe,dvlatt,etfullnm,id,ireftype,lextype,opacity-一公共属性[base]:activity,conlcc,dtxtatt,v-alueref一一公共属性[iocs]{refctl,reflcc,reftype,rflocspn-一一引用[rend]:remdimle--(!attllstwandruleevschedsCnATA#REQUIRED∞ATA#IMPLIED—Wand规则一~条:10231~一事件调度一一引用一~引用类别:(evschedwand)*~一约束:所有事件事件和wands必须在合理的FCS上,所有wand属性引用wands-一一Wand或wand修补一一引用一一引用类别:(wandwndl)atch)一一默认:无一>(Ientity%modify”INCLUDE”)]])(!一wand-一)10.2.3.2Wand元素形式wand是修改符范围的调度。Wand中的修改符范围在任何坐标轴上不能重叠。但是,它们之间可以有缝隙,在这些缝隙中没有指定修改。注329:这个规则避免了应用重叠的修改引起顺序模糊的情况。122 GB/T16965--2009/ISO/IEC10744:1997(!一walld一,(![%waod;[(!elementwand一一Wand-一一条:i0232一一0(modgrI)J=odscope)+一属性[sched]:sched一一~属性[rend]:select-一一可选属性[sched]:pulsemap_一一公共属性[GenArc]:dafe,dvlatt,etfullnm,id,ireftype,lextype,opacity-一一公共属性[base]:activity,conloc,dtxtatt,valueref一一公共属性[iocs]:refctl,refloc,reftype,rflocspn-一一引用[schod]:dimref:elemspec,dimref:schdspec,pdimref:prjtarg,pulsemap:pulsemap,rfcsloc:prjsrc一一引用[rend]:batrule:scheds,batrule:targschd,prorule:sources,prorule:targschd,wandrule:wand,wndpatch-.>(!entity%modify”INCLUDE”)]])10.2.3.3修改符范围元素形式修改符范围(modseope)把一个或更多的范围同修改符联系起来,从而指定对象以及出现在这个范围中的修改符。如果为属性对象修改符(modifier)指定一个值,这个值确定将要被应用的对象修改符和/或修改符修补。如果没有指定值,修改符范围只是一个占位符,根据隐式引用设施(见9.8.1)来影响下一个确定的修改符范围的范围,修改符范围本身也直接带有修改参数和语义,与应用定义的形式相同。注330:如果没有为修改符属性指定取值,通过一个或多个附加属性或内容,或者前面二者的综合,对象修改的语义能够通过对象修改直接传递。例如,应用也许定义了一个特殊的元素类型,作为一个不带任何修改语义的占位符使用。(!~修改符范围一)(![%wand.[]]>10.3.1.4罐投影符元素形式维投影符(dimpro)的内容定义了投影函数,这些函数将事件投影的范围、修改符范围和投影符范围投影到目标调度坐标的一个轴的单一维上。属性维投影符记法(notation)指定了该内容的记法。该属性不能为空。注351;因为在内容模型中存在参数实体%marklist,所以在内容中允许使用非零的带符号整数,dimrefs和mark—funs(轴标记和元素),但是标记本身不能组成隐式的记法。如果不用记法属性指定一个记法,就不能解释它;这就是为什么HyTime引擎必需能识别这些记法。注352:可以使用HyDimPro记法(见10.3.1.5)。(!一-DimensionProjector-一)(![%project;[(!attlistdimpro一维投影符一一条:10314--notation一维投影符记法~NAME一-Lextype}记法一%ddimpro;>《!entity%rend”INCLUDE”)]])《!一project-->10.3.1.5HyTime维投影符记法HyTime维投影符记法(HyDimPro)通过在目标调度的一个轴上指定一个单一目标维,隐式地指定了投影函数。所有源事件、修改符范围、投影符范围在对应坐标上的所有维都线性的投影到目标轴的单一范围上,其中投影符范围包含dimpro元素。属性维规范记法(dimspnot)规范了用来描述目标维的记法。如果不支持HyDimSpc,属性维规范记法则不能为空。(!一HyTime维投影符记法~>(![%HyDimHro;[(![%HyDimSpc;[(!entity%dpdimspc一默认维投影符规范记法~一条:i0.3.15~”#REQUIRED”)(!notationHyDiⅢPro—HyTime维投影符记法一~条;1031.5~一通过继承指定维(在目标FCS中)和它在源FCS中对应的维之间的线性关系,定义投影函数。一pUBLIC”GB/T16965--2009//NOTATIONHyTimeExtentProjectorNotation//EN”一属性[rend]:HyDimPrc-一一公共属性[GenAre]:altreps,included,superdcn--一公共属性[base3:bosdatt-一一公共属性[10cs]:egr叩lan_一)(!attlist#NOTATIONSyDimPro—HyTime维投影记法一一条:10315.-dimspnot~维规范记法一-一用来规范目标维的记法一NAME—Lextype:记法一%dpdimspc:、]]>(!一SyDimFrc--)130 GB/T16965--2009/1SO/1EC10744:199710.3.2投影符之间的直接联系事件、事件组、事件调度、修改符范围、修改符范围组、wands、投影符范围、投影符范围组以及batons都能通过“投影符规则”与投影符直接联系起来。10.3.2.1已修改与未修改对象的投影已修改与未修改对象的投影属性(modified)指定了调度对象是否被源事件(或任何被源修改符范围调度的修改符)调度,其中这些事件被任何修改符修改过,这些修改符在投影(“修改”)时,受源事件调度(或wand)的影响,已修改与未修改对象的投影属性(unmodified)指定事件对象(或投影符范围的投影符)在投影时是否未被修改过。(![%modify(!一-modify,project--)10.3.2.2投影符规则元素形式投影符规则(prorule)将一个或多个事件、事件组、事件调度的、修改符范围、修改符组、wands、投影符范围、投影符组(sources)以及batons和一个投影符(见lo.3.1)或投影符序列(见10.3.2.3)直接联系起来。这种关联指明了事件、修改符范围和投影符范围通过投影源(sources)描述构成的元素,被描述为投影符和投影符序列(projectr)的投影符投影,投影目标是目标调度(targschd)属性。事件将仅仅投影到事件调度上,modscopes仅被投影到wands,而proscopes仅被投影到batons。注353:事件、修改符范围和投影符范围的组合能够根据同一个投影符规则投影到各自的调度上。(!一投影符规则一)(![%project;[(felementprorule一投影符规则一一条:10322一~源、投影符和目标调度之间的直接联系。一。0f岳HyCFC;)+一属性[rend]:modified,prorule-一一公共属性[GenArc]:dafe,dvlatt,etfullnm,id,ireftype,lextype,opacity-一一公共属性[base]:activity,conloc,dtxtatt,valueref一一公共属性[10cs]:refctl,refloc,reftype,rflocspn-一一引用[schea]:pdimreffpr]by,rfcsloc:prjby-。一引用[rend]:rendrule-·)(!attlistprorule一投影规则~一条:10.3,2,2一source8一投影源一CDATA一引用一一引用类型:(baton『event『evgrp『evsched【modgrpfmodscopeprogrpIproscopelwand)*一#REQUIRED】31 GB/T16965--2009/ISO/IEC10744:1997projectr口)ATA一投影和投影顺序一一用于从源到目标的投影的投影符和/或投影符顺序一一引用一一引用类型:(projectrproseq)*--#REOUIREDtargschd一目标调度一一投影符和/或投影符顺序将源投影到调度。一CDATA一引用一一引用类型:(evschedlwandIbaton)十一一约束:事件只能投影到事件调度目标;修改符范围只能投影到wands;投影符范围只能投影到batons。一#REQUIY砸D)(!entity%rend”INCLUDE”)]])(!一project--)10.3.2.3投影符序列元素形式的投影符序列(proseq)包含一组投影符的ID或投影符序列。列表中唯一标识的序列决定了不同元素的应用序列。33)10.3.3有限坐标空间中投影符通过位置之间的联系在FCS中通过“batons”可以调度投影符。Batons就像事件调度;它们包括投影符范围和投影符范围组,就像事件和事件组。投影符范围包括投影符,同样,事件包含信息对象。投影符的范围是FCS名义上的区域,包括了事件、修改符范围和/或投影符范围。调度通过一个或更多的“baton规则”限制了投影区域中的事件,修改符范围、投影符范围,这些“baton规则”跟源调度、目标调度以及batons联系起来,其中batons调度用来定义投影函数的投影符。10.3.3.1Baton规则元素形式baton规则(batrule)把一个或多个调度(包括事件调度,wands,和/或batons)与控制其投影的一个baton或者baton序列,以及得到的目标调度联系起来。属性调度(schedule)表示这些调度,属性baton标识baton或baton序列。属性目标调度(targschd)在坐标空间中标识一个或多个事件调度,对它或它们由baton影响的事件将被投影。源调度中的事件、修改符范围和投影符范围将被投影于所有的目标调度中。注354:baton并不创建调度;它通过baton规则向与其关联的目标调度加入成分。在绘制时,HyTime引擎维护每个包含投影事件,修改符范围或投影符范围调度的目标调度的内部形式,并维护可能被直接调度的任何事件、修改符范围或调度符范围。注355:尽管baton规则形式允许应用把不同baton与不同调度联系起来,这并不意味着所有baton是可交换的;它】32 GB/T16965--20091ISO/IEC10744:1997们必须根据所要作用的调度的性质被设计。注356:绘制要求的baton规则可收集到一个“绘制规则”中(见lO.4绘制规则)。在任何绘制中,所有对给定目标调度的投影,必须在把该调度当源调度的投影之前完成。(!~Baton规则一)(![%batonI[(!一baton-一)10.3.3.3投影符范围元素形式投影符范围(proscope)把一个或多个范围用投影符联系起来,用来指定发生在那些范围上的事件、modscopes和proscopes的投影。属性调度投影符(projectr)引用了通过投影符范围调度的投影符。注358:通过调度的投影符或投影符为单独的proscope定义了多个范围的语义。(!一投影符范围~)(![%baton;[(1attlistproscopeprojectrCDATA一投影符范围一一条:1033一一调度范围一一引用一一引用类型:projectr*_-#IMPLIED一默认:无一)(!entity%project”INCLUDE”)]])(!一baton-一)10.3.3.4投影符范围组元素形式的投影符范围组(progrp)是一个容器,用一组投影符范围或其他投影符范围组的元素的集合,在调度中连续地这些元素。这些句法容器完成了恰好符合其事件组的角色,提供相同的特征,尤其是属性形式grpdex和grprepet。(见9.4.3)(!一投影符范围组~>]])《!一reneU一)11符合性对于SGML来说,文档、应用和系统可以都符合该标准。此外,HyTime可以从符合的HyTime应用和系统中区分确认HyTime引擎,但不提供依据本标准的规范对文档的完全确认。11.1符合的HyTime文档如果HyTime文档依从本标准前面的所有条款,并且是如GB/T148141993中定义的符合的SGML文档,则其是一个符合的HyTime文档。注360:规定在选择支持哪些HyTime构造时有广泛的自由度。135 GB/T16965--2009/ISO/IEC10744:1997注361:HyTime的符合性与文档是否符合某个文档体系结构无关。11.1.1基本超链接HyTime文档符合HyTime的文档是一个基本超链接的HyTime文档,如果其HyTime声明如下:(!ATFLIST#NOTATIONHyTineArc20rn请NAMEHyTineArcNamrANAMEHyNamesArcSuprANAMEsHyTineArcIgnDANAMEHyIgriDArcDocFNAME#FI)皿DHyDocArcDTDCDATA”HyTine”ArcQuantCDATA世FIXED”NAMELEN9”ArcDataFNAME#FIXEDHyBridNArcBri血NAME#FIXEDHyBridArcAuto(ArcAutonArcAuto)nArcAutoArcoDtSANAMES”G目1Arcbaselinkslocsrendsched”一仅支持HyTi№属性一h弼cntNUMBER32GellArcCDATA”altrepsincludedsuperdcn”baseCDATA”bos”locsCDATA”nmsplocmultlocrefctlreferattrefloc”linksC/)ATA”hylinkclinkagglinktraverse”exrefsNAMEexrefsmanyanchNUMBER2)11.1.2基本调度HyTime文档符合HyTime的文档是基本调度HyTime文档,如果其HyTime声明如下:(!ATI"LIST#NOTATIONHyTi舱ArcFormANAMEH)『Ti№ArcNamrANAMEHyNamesArcSuprANAMEsHyTineArclgI】DAHⅧHyZgridArcDocFNAME#FIⅫDHyD。cArcmCDATA”HvTime“ArcQuantCDATA#FI)也D”鼢删咖9”ArcDataFNAME#FIXEDHyBridNkrcBri血NAME#FIXEDHyBridArcAuto(ArcAutolnArcAuto)nArcAutoArcOptSANAMES”GenArcbaselinkslotsrendsched”一仅支持HyTine属性一hyqcntNUMBER32GenArcCDATA”altrepsincludedsu∞rdcn”baseCDATA”bosdesct】【tdinspecHyFunkmarkfun”locsCDATA”nmsplocmultlocrefctl”linksCDATA”aggllnkclinkhvlinktraverse”schedCDATA”dinreffcslocHyExSpecHyExtLstmeasure”exrefsNAMEexrefs一约束;可以支持多于3个的轴,但必须支持至少3个才可以成为基础调度文档~iflan’raxesNUMBER3>1I.1.3最小HyTime文档符合HyTime的文档也是最小(和超链接)HyTime文档,如果其HyTime声明如下:注362:最小的HyTime的文档也是最小的超链接HyTime文档,因为真正的最小HyTime文档不会提供高于通用体系结构的设施,因为HyTime没有必要的设施。clink设施的内容为超链接形式在本质上提供了Hy—Time定义的语义,这里的超链接形式用于大多数SGML文档,单文档内基于ID的交叉引用。⋯32一超链接中允许锚点的最大值一一条:6.3一~约束:必须>=2一一默认:无限~一坐标空间中允许的锚点最大值一条:63一一约束:必须>⋯1~默认:无限一 A.1介绍附录A(规范性附录)SGML扩展设施GB/T16965—2009/ISO/IEC10744:1997本附录定义了SGML的扩展设施和一组SGML功能性的扩展,其中功能性扩展在很多超文本和超媒体应用中都需要。这些设施可各自独立使用,而不管有无本标准正文中描述的HyTime设施。它们是:——A.2词法类型定义要求本条包含了创建性质集中所使用的词法类型的要求,也包含了对词法类型在元素属性和内容、查询以及数据分隔树林构造过程的约束。——A.3体系结构形式定义要求本条通过使用一个使能文档体系结构来管理该文档的SGML表示,来描述了体系结构形式正式定义的要求。——A.4性质集语句的定义要求本条包含了创建解析过程结果的正式定义的要求即所谓的“性质集”。还描述了“树林”的基本概念,是从解析结果中构造出来的树结构的群集。——A.5通用体系结构本条定义了总体体系结构的体系结构形式,它是对SGML解析功能的扩展。——A.6正式系统标识符定义要求(FSIDR)本条描述了系统标识符记法的正式定义的要求。——A.7SGML性质集语句本条包含了SGML的性质集定义文档,其中包括SGML扩展谩蟪盼可选模型。支持任何这些设施的应用是指一般作为SGML的扩展设施的应用。A.1.1符合性、一些设施定义了它们自己的符合性要求和说明它们的用途和选项的方法。另外,任何设施的使用必须符合如下的通用要求。A.1.1.1应用约定符合SGML扩展设施应用的约定只影响该设施提供的应用中的特别规范的那些范围。A.1.1.2文档的符合性符合SGML扩展设施应用应要求其文档符合SGML文档要求,但不应禁止本标准在这些文档中允许的任何置标。注378:例如;应用置标约定可以建议只能用某些最少的功能,但是在正式规范允许的范围内,可使用它的功能。A.1.1.3文档编制的符合性符合SGML扩展设施应用系统的文档编制应满足此附录的要求。A.1.1.3.1标准标识标准标识应使用文档编制的自然语言。标准标识文本应醒目地显示:1)在所有出版物前页的醒目位置上(通常是标题页或封面);2)在所有扩展设施程序的标识显示屏上;3)在所有宣传的和培训的资料中。141 GB/T16965--2009/ISO/1EC10744:1997对于应用,该标识文本为:SGML扩展设施应用遵循GB/T16965--2009{超媒体/时基结构化语言》的附录A。对于系统,标识文本是:SGML扩展设施系统遵循GB/T16965--2009{超媒体/时基结构化语言》的附录A。符合SGML扩展设施系统的文档编制应包括相关的系统声明或定义文档。注379:例如:用于正式系统标识符的存储管理器定义文档。A.1.1.3.2扩展设施构造标识该文档编制应能够把扩展设施结构从应用约定和系统函数中区分出来,并且能够把此扩展设施结构标识为已使用的设施的一部分。注380:这一要求的目的是让用户了解哪些结构对于扩展设施系统是普遍的,而哪些是对于某个系统特有的,这能减少有经验的用户学习新系统或应用所花的时间。本标准及附录应该被用于那些为了支持不是为系统或者应用而构造的特定的文档扩展设施的一种引用,例如,如果为了简单,只有一些功能的子集被显示出来,应明确指明还存在其他选择,并且能够在本标准中找到。A.1.1.3.3术语所有扩展设施构造都应使用本标准的术语,翻译成出版物或程序所在地区所使用的国家语言。在整个文档编制过程中都应使用这些标准术语。如果虽然在标准术语中使用了非标准等价,必须在上下文中介绍,并且不应与任何标准术语发生冲突,包括不被支持的或未列人文档的构造术语。A.1.1.3.4应用约定符合SGML扩展设施的系统不应强制应用约定同本附录要求一致。注381:可以对应用约定的违规行为给出警告,但这些警告须与设施差错报告相区分。A.2词法类型定义要求(LTDR)本条陈述了对词法类型的正式定义的要求。“词法类型”是字符串能够符合的字符模式。这种模式叫做“词法模型”。词法类型声明与通过名称与词法模型相关联,词法模型定义了已命名的词法类型。词法类型的定义与这些要求相一致,与HyTime词法模型记法关联使用(HyLex;见A.2.3),以规定属性值和元素内容数据的词法特征(见第5章和A.5.4)。词法类型也用于为字符串或分隔列表提供查询“匹配域”时,这些字符串和分隔满足词法模式(见A.4.4.2)。A.2.1词法类型集词法类型在“词法类型集”中同“词典排序”(见A.2.1.2)和“词法约束”(见A.2.1.3)一起声明。词法类型声明集也可包括记法、数据属性定义列表、参数实体声明,而这些在GB/T14814--1993中都有定义。每一项声明出现在零或多个参数分隔符前后,这在GB/T14814--1993中也有定义。在文档中,词法类型使用声明标识一个或多个词法类型声明集,这些词法类型声明集中的词法类型在文档中是可以的。用于词法类型集的词法类型使用声明必须在此集合中使用词法类型之前出现。DTD或LPD中可以有多个词法类型。从句法上来说,词法类型使用声明是处理指令(PI),不是SGML置标声明。其句法如下所示(使用148141993定义的生成句法):[10]lexicaltypeusedeclaration=pio,。’ISl0744”.s+.’’LEXUSE”.(ps+,lexicaltypesetentityname)+ps*,P1c142 GB/T16965--2009/ISO/IEC10744:1997[11]lexicaltypesetentityname=名称出现在实体参数名名称组件出现的地方。由于词法类型集实体从未在DTD或LPD中被引用过,所以它们必须是独立的}记法、数据属性、参数实体、词典排序、词法约束和其中的词法类型引用都必须在其中声明。注382:一词法类型集应当引用其他词法类型集的“重要”声明使用参数实体。A.2.1.1词法类型词法类型通过“词法类型声明”来定义。词法类型声明采用SGML置标声明,使用下列句法:[12]lexicaltypedeclaration=mdo,’’LEXTYPE”.ps+,lexicaltypeDame,(ps+rlexicographicorderingspecification)?,(ps+·additionallexicalconstraintspecification)*,ps十,lexicalmodelspecification,p8*’mdc[13]lexlcaltypeme=ImeD43lexicographinorderingspecificati∞=rni.”ORDER”.1exicographicorderingnamewherelexicographicorderingnameisthenameofapreviouslydeclaredlexicographicorderingDs]additionallexicalconstraintspecification2rni,”a琚CF.1exicalconstraintnamewherelexicalconstraintncqumeisthenameofapreviouslydeclaredadditionallexicalconstraint[16]lexicalmodelspecification=lexicalmodel(”SPEC”,ps+,externalidentifier)wheremeansthattheexternalidentifieridentifiesalexicaltypedefinition,presumablywritteninanaturallanguage[17]lexicalmodel=(parameter1iteral【externalidentifier).ps+,notationname.dataattributespecification,解释参数文本或数据的地方是由外部标识符模型词法类型使用说明记法标识的。A.2.1.2词典排序计算机系统中的字符按编码表示固定排序,编码分配它们在字符集中的位置。注383:编码表示的十进制整数表示称为“字符数”。在SGML文档中,字符通常可通过其编码表示(位组合);也可以依靠包含定界字符数的串表示,被称为“数字字符引用”。对字符进行比较时,例如当排序、测试词法类型的符合性或测试查询的匹配性时,字符集韵顺序可能不适用。“词法排序”指定了一个基于该比较的待安排字符位置的可选集。143 GB/T16965--2009/ISO/IEC10744:1997注384:尽管选择位置比不局限于排序,其有时仍叫做“排序顺序”。尽管实际上投有永久性字符编号转换(因为重排序一般是暂时的,且对于处理过程来说是内部的),词典排序定义有时仍叫做“排序转换”。词典排序由“词典排序声明”。词典排序声明采用SGML置标声明的形式,其句法如下所示:lIB]lexicographicorderingdeclaration。mdo,”hEXORD”.pa+,lexieographlcorderingname,p8+,lexicographicorderingdefinition,pa”·mdc[19]lexicographicorderingname=name[20]lexicographicorderingdefinition=lexicographicorderingexpression(”SPEC”。ps+,externalidentifier)whereSPECmeaD.sthattheexternalidentifieridentifiesalexicographicorderingdefinition,presumablywritteninanaturallanguage.[21]lexicographicorderingexpression=(parameterliteralexternalidentifier),ps+,notationname,dataattributespecification?wheretheinterpretedpar∞eterliteralorthe由taidentifiedbytheexternalidentifierexpressesalexicographicorderingusingthespecifiednotatiom.A.2.1.3附加的词法约束附加的词法约束通过“词法约束声明”来标识。词法约束声明采用SGML置标声明的形式,句法如下所示:[22]lexicalconstraintdeclaration=mdo,”LEXCO蚪”.pa十,lexicalconstraintname,ps+,lexicalconstraintdefinition.ps*’mdc[23]lexlcalconstraintDame;name[24]lexicalconstraintdefinition=lexicalconstraintexpression(“SPEC“,p8+,externalidentifier)whereSPECmeallsthattheexternalidentifieridentifiesalexicalconstraintdefinition,presumablywritEeninanaturallanguage.[25]lexicalconstraintexpression=(parameteriiteral{externalidentifier),ps+,144 GB/T16965--2009/]S0/LEC10744:1997notationname.dataattributespecification?wheretheinterpretedparameterliteralorthedataidentifiedbytheexternalidentifierexpressesalexicalconstraintusingthespecifiednotation.A.2.2词法模型记法(HyLex)任一词法模型记法可用来定义词法类型。以下是词法建模语言的非强制性起动集,HyLex在此建模语言中定义。(!一Hyrime词法模型记法一)(![%HyLex;[(!notationHyLex—HyTime词法模型记法一一条:A.2.2--PUBLIC”锄/T16965--2009//NOTATIONHyTimelexicalmodelnotation(HyLex)//EN”一属性:HyLex一-一公共属性:altreps,included,superdcn-·)]])《!一·HyLex-一)(!一POSIX常规记法记法一>(![%REGEX;[^(!notationREGEX—POSIX常表达记法一PUBLIC”IS0/IEC9945-211997//NOTATIONPOSIXRegularExpressionNotation//EN”)(!attlist#NOTATIONRE∞【一POSIX常规表达记法一case一区分大小写一~区分大小写匹配或区分大小写一(caseIicase)case>]]>(!一RE血X-->,A.2.3HyTime词法模型记法本条描述了用于本标准的HyTime词法模型记法和一些实例。A.2.3.1句法HyLex模型的句法正式定义为SGML内容模型的句法(见GB/T14814--1993),完全符合词法类型集的具体句法,除了有下列区别:——HyLex模型毫无例外地必须是模型组,但如果不出现整个模型组的指示符或整个模型组包含单一的词法类型名称,就可以忽略分组定界符。洼385:分组定界符是强制性的从属模型组。——从属模型组的替换形式,是由DSO而不是GRPO开始,由DSC而不是GRPC结束的,定义了~个“匹配记号模型”。当HyLex被用来搜索用于词法格局中的数据时,那部分满足匹配记号模型的数据被称为“匹配记号”,并作为查询结果返回。当HyLex是用来描述词法类型的一块数据的时候,匹配记号模型除了能作为一个从属模型组之外没有其他效果。——HyLex模型组和从属模型组都不包括AND连接符。.145 GB/T16065--2009/ISO/IEC10744:1997一内容记号可按GB/T148141993从字面上来翻译,或者按先前声明的词法类型那样翻译。一任何内容记号或模型组都可以跟在保留名称指示符与关键字“NOT”后面。1符合的记号或模型组将匹配那些与其匹配的字符串。注386:HyLex无从约束不匹配模型的属性数量。一任何不是出现在“NOT”后面的内容记号或模型组可以出现在频率指示符之前,或保留名称指示符和或以上的以下关键词之前:命令这个关键字和下列字典排序名称指定字典排序要在其与内容记号或模型组匹配之前应用于数据。核对此关键字及以下附加的词法约束名称规定附加的词法要受与前面的内容象征性或模型组相匹配的数据的约束。没有附加的词法约束所限不影响匹配的过程。注387:内容记号或模型组后面未必同时出现发生指示符和限定符,如果限定的记号或模型组存在于从属模型组之内,新的从属模型组就可以出现在发生指示符之前。A.2.3.2规范化的HyLex模型规范化的HyLex模型使用置标最小化形式,当定义的词法模型本质上是空白分隔记号列表。“规范化”模型可执行以下步骤转换等效的非规范模型:a)在每个文本内容记号后插入“#ORDERsGMLcAsE”作为限定符}b)在自身的匹配符模型里放人标准模型的内容记号。包括#ORDER和#CHECK限定符,不包括发生指示符;注388:例如:把规范化的模型“(NAME#CHECKID,NUMBER+)”改为“([NAME#CHECKID],[NUMBER]+)”。e)在一对按顺序的从属模型组之间插入“s+”;注389:例如,规范化的模型。(NMTOKEN+,(‘#ANY’,NUMBER)*)”becomes“([NMTOKEN]+,s+,([‘#ANY’#ORDERSGMLCASE],s+,[NUMBER])*)”。d)在PLUS或REP发生指示符后面放人从属模型组,如下所示:——(submodel)+变成((submodel),(s+,(submodel))*)——[submodel]*变成([submodel]?,(s+,[submodel])*)注意:如果原来的模型是匹配符,那么对应的从属模型组也匹配记号模型。e)如果HyLex模型是OR组,要转化为新系列HyLex模型的丛书模型组;f)在HyLex模型开头和结尾插入“s*”。注390:本标准中定义词法模型为属性和数据内容的约定评论中,“Lextype”代表具有正规化属性的HyLex模型,而“Ulextype”代表非正规的HyLex模型(见第5章)。A.2.3.3固有词法类型HyLex是SGML—aware的词法模型语言。正因为如此,它定义了固有SGML词法类型集,在任意HyLex表达中自动可用。《!一这个文档由下列公共标识符标识的:“6B/T169652009//NONSGMLLTDRLEXTYPESSGMLLexical田pes//删”。除非另有说明,否则所有非模型词法类型和词典排序都与从那些引用的文档中的声明的具体句法相关联。一一)一)(!LEXORDGENERAL~SGML通用名称字替代一SPECPUBLIC”UB/T14814--1993//NOTATIONLEXORDGeneralnamecasesubstitution//EN”一SGML实体名称字替代GB/T148141993//NOTATIONLEXORDEntitynamecasesubstitution//EN”一SQtL引用具体句法通用名称宇替代一PUBLIC”∞/T14814--1993//NOTATIONLEXORDReferenceconcretesyntaxgemeralnamecasesubstitution//EN”(!一sG‰词法约束一>(!蚴HN删眦N—SGML名称长度约束一SPECPUBLIC”GB/T148141993//NOTATIONLEXCONQUANTITYNamelength//EN”一SG*4L参数实体名称长度约束一GB/T148141993//NOTATIONLEXCONQUANTITYParameterentitynEImelength//EN¨~sGMLm或m名称PUBLIC”GB/T148141993//NOTATIONLEXCONDTDOrLPDname//EN’1一SGML记法名称一一PUBLIC”UB/T148141993//NOTATIONLEXCONNotationname//EN”一S(;ML参数实体名称一PUBLIC”∞/T148141993//NOTATIONLEXCONParameterentityname//EN”)(!LEXCONENTITY~SGML通用实体名称一SPECPUBLIC’’GB/T148141993//NOTATIONLEXCONGeneralentityname//ENl。147多一孑孑一孑}凹椰篙l| GB/T16965--2009/1SO/IEC10744:1997148(!LEXCONGI—sGⅡ通用标识符一SPECPUBLIC”印/T14814--1993//NOTATIONLEXCONGenericIdentifier//EN”)(!LEXCON功~sG虬唯一标识符~SPECPUBLIC”GB/T148141993//NOTATIONLEXCONUniqueIdentifier//EN”一SGML属性名称一PUBLIC”GB/T148141993//NOTATIONLEXCONAttributename//KN”一sG札性质集组件名称~PUBLIC”GB/T169652009//螬∞ATl0Nu强00NPropertySetComponentHame//EN”)(!一SGBL词法类型~)(!LEXTYPEchar一一字符~SPECPUBLIC”驯T16965--2009//NOTATIONLEXTYPECharacter//EN”)(!LEXIXPEDigit—SGML数字一SPECPUBLIC”∞/T14814--1993//NOTATIONLEXTYPECLASSDigits(Digit)//EN”一sG札小写字母一PUBLIC”∞/T148141993//NOTATION12XTYPECLASSLower-caseletters(LCLetter)//EN”(I【JⅨrmMSICHAR—sG吐字符内置标扫描一SPECPUBLIC“UB/T14814--1993//NOTATIONLEXTYPECLASSMarkup-scan-irpcharacters(MSlCHAR)//EN”)(!LEXTYPEMSOCHAR~SGML字符外置标扫描一S嘟PUBLIC”e田/T14814—1993//NOTATIONLEXTYPECLASSMarkup-scar—out-characters(MSOCHAR)//EN”一SGML置标扫描抑制字符一GB/T14814—1993//NOTATIONLEXTYPECLASSMarkup-scan-suppresscharacters(MSSCHAR)//础“一SGML记录结束字符一UB/T14814~1993//NaTATI衄LKXTYPECLASSRecordendcharacter(RE)//EN“一SGML记录起始字符一PUBLIC”UB/T14814--1993//NOTATIONLEXTYPECLASSRecordstartcharacter(RS)//EN”)(!LEXTYPESEPUBAR—SUBL分隔字符一SREC149孑署罗一孑~f GB/T16965--2009/1SO/IEC10744:1997150PUBLIC”GB/T148141993//NOTATIONLE】Ⅱ1PECLASSSeparatorcharacters(SEPCHAR)//EN”>(!LEXTYPESPACE~SGML空格字符一一SPECPUBLIC”GB/T148141993//NOTATIONLEXTYPECLASSSpacecharacter(SPACE)//E矿)(!LEXTYPE∞ⅫcHAR—s就L大写名称字符一SPECPUBLIC“GB/T148141993//NOTATIONLEXTYPECLASSUpper-casenamecharacters(UCNMCHAR)//EN”)(!LEXTYPEERO—SGML实体引用开启一SPECPUBLIC”GB/T14814--1993//NOTATIONLEXTYPEDELIMITEREntityreferenceopen(ERO)//EN”>(!LEXTYPEETAGO—SGML结束标签开启一SPECPUBLIC”GB/T14814--1993//NOTATIONLEXTYPEDELIMITEREn出tagopen(ETAGO)//EN”)(!LEXTYPEGRPc—SGML组关闭一SPECPUBLIC”∞/T148141993//NOTATIONLEXTYPEDELIMITERGroupclose(GRPC)//EN”(!LEXTYPEGRP0~SGML组开启~SPECPUBLIC”印/T14814--1993//NOTATIONLEXTYPEDELIMITERGroupopea(GT4PO)IIEH“(!LEXTYPELIT—SGML文本开始或结束一SPECPUBLIC”GB/T14814--1993//NOTATIONLEXTYPEDELIMITERLiteralstartorend(LIT)//EN”(!LEXTYPEMSC—SGML置标节关闭一151一.U一。≯l|lIll| GB/T16965--2009/ISO/IEC10744:1997152SPECpUBLIC”∞/T14814--1993//NOTATIONLEXTYPEDELIMITERMarkedsectionclose(MSC)//EN”>《!LEXTYPENET—SGML空结束标签一SPECPUBLIC“GB/T14814—1993//NOTATIONLEXTYPEDELIMITERNullend-tag(NET)//EN”一SGML可选定的事件指示器一PUBLIC”(毋/T14814—1993//NOTATIONLFXrYPEDELIMITER。ptionalOccurrenceindicator(OPT)//EN”>《!LEXTYPEOR—SGML或连接器一SPECPUBLIC”锄/T14814--1993//NOTATIONLEXTYPEDELIMITEROrconnector(OR)//Ⅻ”~sG札参数实体引用开启~∞/T14814一1993//HaTATI咖碰XnPEDELIMITERParameterentityreferenceopen(PERO)//EN”一SGML处理指令关闭一14814--1993//NOTATIONLEXTYPEDELIMITERprocessinginstructionclose(PIC)//FⅢ”一SGML处理指令开启一14814--1993//NOTATIONLNETYPEDELIMITERPr∞e88i屿instructionopen(PIO)//删”一SGML需求和可重复的f结论14814-1993//NOTATIONLNETYPEDELIMITERRequiredandrepeatable!inclusion(PLUS)//EN“一SGML引用关闭一14814—1993//NOTATIONLEXTYPEDELIMITERReferenceclose(REFC)//EN”一SGML选定的和可重复的~pUBLIC”GB/T14814--1993//NOTATIONLEXTYPEDELIMITEROptionalandrepeatable(REP)//口”(!LEXTYPERNI—SGML保留名称指示器一啪l罾l|爹一孑一孑一爹一爹一孑 SPECPUBLIC”印/T14814--1993//NOTATIONLEXT”EDELIMITERReservednaJleindicator(RNI)//E矿一SGML序列连接器一PUBLIC”GB/T14814--1993//NOTATIONu强TYPEDELIMITERSequenceconnector(SE0)//EN”)(!LEXTYPESHORTREF—SQ4L短引用一PUBLIC”驯T14814--1993//NOTATIONLEXTYPEDELIMITERShortreference(SHORTREF)//口“一SGaqL开始标签开启一PUBLIC”∞/T14814--1993//NOTATIONLEXTYPEDELIMITERStart-tagopen(STAGO)//口”)(!LEXTYPETAGC—SCML标签关闭一S眦PUBLIC“GB/T14814--1993//NOTATIONLEXTYPEDELIMITERTagclose(TAGC)//E矿一SGML值指示器一PUBLIC”∞/T148141993//NOTATIONLEXTYPEDELIMITERValueindicator(VI)//EN”)(!一SGML词法模型类型~>《!LEXTYPEs—SGML“s”离析器~”I{EIRsISEPCHRESPACE”HyLexLmm]>(!LEXTYPEmindata~SGEL最小数据一”(DigitILCLetterlRElRSlSPACE【SpecialIUCLetter)+”HyLexFunorm])(!LEXTYPENUMBERS—SGML数字一’’NUMBER{’’HyLex)(!LEXTYPEGI—sGML通用标识符一蚌CHECKGI”NAME”HyLex、]])(!一NyOr出一)A.2.4.1HyTime词典排序定义记法(HyOrd)HyOrd记法提供了一类句法,用来表示从字符列表成员到相应的其他字符列表的成员,以及从字符序列到其他字符序列的映射。在上面任~映射中使用的字符列表被描述为SGML文字或十进制字符数字的等同列表。HyOrd规范的句法是:[26]HyOrdspecification=HyOrdseparator*,Hyordstatement,(HyOrdseparator+,Myordstatement)*-Hyordseparator*,L27JHyordseparator=8comment[283HyOrdstatement=correspondentcharactermapping『charactersequencemappingE29]correspondentcharactermapping=characterlistspecification,Hyordseparator*,perotHyordseparator*,characterlistspecification[303charactersequencemapping=characterlistspecification,HyOrdseparator*,vi. GB/T16965--2009/ISO/IEC10744:1997Hyordseparator*,eharacterlistspecificationL31]characterlistspecification=literalcharacterlistnumericcharacterlistL32]literalcharacterlist=(1it.SGMLcharacter*,lit)(1ita,SGMLcharacter*,lita)[33]numericcharacterlist=dso,S*·(number,(s+.number)os*)?DscHyOrd左边的声明必须是包含一个字符以上的列表。如果多个字符序列和某一字符序列满足映射条件,则选择最长的一个序列。右端也是一个字符映射,它必须包含和声明的左端同样个数的字符,除非右端的字符串映射是一个空字符列表。注391:以下是HyOrd一对空,一对一,一对多和多对一的特例。”adh”}rl48]--a对应l,d对应4,h对应8一”j¨=[4278]--j对应dzh-一⋯1’=[12]~i对应12~’’ii”=[133一11发生在1和m之间一”m”=rla]一m对应14一●1,"=n¨一在比较中忽略省略号一”z”=[27]一Z对应27一A.3体系结构形式定义要求(AFDR)本附录陈述了体系结构形式正式定义的要求,由此使能文档体系结构可以管理其文档的SGML描述。注392:HyTime体系结构形式的正式定义满足这些要求(不失一般性)并用来说明它们。A.3.1使能体系结构文档的体系结构,正如此术语在GB/T14814一1993中定义的那样,可以被“环绕”,管理文档表示和处理的各方面。用于环绕体系结构的文档表示要求在文档类型定义(DTD)中被正式地表达——至少在SGML范围内能表示它们。文档的结构也可以是“使能”的,这时它无需指定完整的文档类型。取而代之,使能体系结构定义了称为“体系结构形式”的规则,从而应用设计者可以在他们的文档类型定义中使用这些规则。这些规则与体系结构语义相关联,在“体系结构定义文档”中进行了描述。体系结构形式的正式SGML规范集与使能体系结构声明相关,由“meta—DTD”组成。概念上,体系结构处理有两步。第一步,通用的体系结构处理,通用体系结构引擎依靠它的基础体系结构的meta—DTD验证从属文档是否有效,并可以选择是否为每个基础体系结构产生结构实例。第二步,专有的体系结构引擎既处理相关的体系结构实例,同时也处理从属文档,从而执行和/或验证特殊】57 GB/T16965--2009/ISO/1EC10744:1997体系结构语义是否有效。注393:在实际处理中,这些步也许被组合到特殊体系结构或应用的处理器中。换句话说,一个特殊应用处理在没有做常规体系结构处理的情况下也能实现体系结构定义的语义。A.3.1.1体系结构形式体系结构形式是创建和处理文档组件的规则,就像文档体系结构是创建和处理文档的规则一样。体系结构形式共有以下四种:元素形式该形式由元素类型声明关联属性定义列表声明进行定义。元素类型声明可以有属性形式一个内容模型来约束元素符合这个形式。该形式单独由属性定义列表声明定义。它的属性定义只能用于指定的元素形式。记法形式该形式由记法声明关联属性定义表声明进行定义。数据属性形式该形式为记法单独由属性定义列表声明进行定义。它的属性定义只能用于符合相关记法的数据实体。如果元素类型的实例符合由“ArcName”体系结构定义的元素形式,就称该元素类型为“ArcName元素类型”,尽管该元素类型本身是在一个应用中定义的而非被这个ArcName体系结构所定义。这个ArcName元素类型的实例叫做“ArcName元素”。如果元素、记法、数据部分或属性不符合体系结构形式,就称其为“无体系结构的”。应用DTD可以包括不同使能体系结构的元素类型、符合非正式结构的元素类型(不包括DTD本身表现的环绕结构)以及同时符合多个使能体系结构的元素类型。当多个体系结构控制一个文档,不管对象是不是无体系结构的,每一个类型的规则都被执行。.控制一个DTD的使能体系结构叫做“基础”“体系结构”。DTD从属于该体系结构,并且称DTD的结构继承于基础体系结构。一个使能体系结构本身可以继承于一个或多个基础体系结构。注394:例如,一个完整的HyTime体系结构继承于HyBase体系结构,而HyBase结构又继承于普通体系结构。单个元素不能符合一个给定结构的多个元素类型。但是,它能符合多个属性形式,除非特定结构的规则禁止了该属性形式。注395:继承过来的体系结构不知道它的基础体系结构是否也是从其他体系结构继承过来的。正因为如此,一个元素可能符合两种基础体系结构的元素形式,即使其中一个体系结构继承另一个体系结构发展而来。大部分体系系统结构信息都通过属性表现的,这些属性的分类如下:体系结构属性这些属性描述了体系结构的语义。体系结构定义文档语义上定义了这些属体系结构支持属性体系结构控制属性性,meta-DTD和clientDTDorLPD声明了这些属性,而从属文档实例或LPD中详细描述了这些属性。这些属性描述了从属文档体系结构作为整体来使用的性质,包括体系结构控制属性的名称(下面将介绍)。AFDR中语义上定义了所有体系结构的通用支持属性,并为它们提供了模板。体系结构定义文档语义上定义了特定的体系结构,同样也为这些体系结构提供了模板。从属DTD或LPD中声明了支持属性,同时指定这些属性使用默认定义的参数值。这些属性允许文档实例控制的体系结构解析和处理。AFDR语义上定义了这些属性,并为其提供模板。从属DTD或LPD声明了这些控制属性,从属文档实例或LPD详细描述了这些属性。A.3.1.2体系结构文档对于SGML文档及其各个基础体系结构,存在一种继承于SGML文档的“体系结构文档”。用于基础体系结构的体系结构文档只包括元素类型、记法、属性和数据,这些内容都在基础体系结构的meta-DTD中定义,同时受文档的体系结构控制属性影响。158 GB/T16965--2009/ISO/IEC10744:1997A.3.2SGML约定体系结构形式和元素类型的句法和结构使用SGML置标声明进行严格的描述。声明在各方面都符合有效的SGML句法,除了对属性定义列表句法声明的两个修改,这将会在本附录中接下来的内容中介绍。注396:创建继承于体系结构的DTD时,允许将该声明作为模型使用。它也允许将DTD作为meta—DTD。注397:尽管任何DTD都能当作meta—DTD,但当两者被同时提起的时候,体系结构定义文档(如本标准)使用约定方式将meta-DTD同应用DTDs区分开来。用来定义体系结构的声明其名称使用小写字母。用来定义应用文档类型的声明应符合标准SGML约定;它们的声明名称使用大写字母。作为模块使用的(也就是要将其按具体情况进行本地化并在应用DTD中使用)的声明其名称可以大小写混合使用。一些模板实际上是“模板形式”,因为首先它们必须通过体系结构定义文档定制到模板中,然后,为了能在应用DTD中使用,它们将再次被定制。当这些声明在定制需求优先于应用DTD中使用的需求的时候,这些声明被表示成模板,但是当进一步定制仅仅是可选项的时候(换言之,如果使用者接受推荐的名称和属性值,它们就不需要定制,按原来的形式使用),这些声明被表示成应用声明。A.3.2.1元素形式元素形式由元素形式声明进行定义,并可供选择地与属性列表声明相关联。A.3.2.1.1元素形式声明元素形式的结构在元素类型声明中由“元”内容模型进行定义。由于内容模型中各“元素类型”是真正的体系结构模型,并且意味着“任何元素都符合该模型”,模型可被理解为“元”的。应用DTD从而可以定义多个符合给定体系结构形式的元素类型。此外,只要应用DTD允许包含符合元模型的内容,它就可以有不同的内容模型。指定体系结构(“体系结构定义文档”)的文档,其文本陈述了体系结构是否将任何语义与元素形式的内容相关联。如果文本为空,子元素作为父元素的内容并没有特别的。但是,作为单独的元素,它们仍然有正常的体系结构语义。注398:例如,虽然没有为活动方针联系规则元素的内容定义特殊的HyTime语义,但是该内容中出现的前后链接元素将保留它标准的HyTime语义。针对标准内容模型,元模型能够与包含物的异常情况结合。但是,这两种模型的意义和效果是有区别的。在标准内容模型中,包含物意味着包含元素的出现对于周围其他内容是透明的,它们影响SGML对结束点记录的处理,在体系结构和应用中也能产生语义的序列影响。在元模型中,包含物是一个严格的语义便利,并对包含的元素没有隐含意义。使用元素类型声明的meta-模型中的包含内容,意味着体系结构允许指定形式的元素在文档实例的声明元素内容中任何地方出现,包括下级元素的内容范围。应用设计者在他的DTD中可以进行选择以要求元素成为合适的子元素,或合适的包含物或者同时是这二者。一个元素类型是这个体系结构的包含物这一事实并不能说明它就是这个DTD合适的包含物。注399:一个含有包含物的内容元模型的例子:(!elementdrydoc--弱文档元素一一0(a{bc)*+(XIy)、在SGML中,“(aIbc)*”结构是一个模型组,而“+(Xy)”被称为“包含物的异常情况”。它意味着括号内的元素类型可以在元素结构的任何级别中出现。相反,模型组中的元素类型只能作为“合适的子元素”在紧接的内容中出现。省略的最小限度参数标记符对DTD设计者主要是一个暗示。通过使体系结构元素被标准SGML置标最小限度规则承认,省略的最小限度参数也可能影响体系结构文档构造过程中的体系结构处理(例如:在一个从属文档中的体系结构数据也许暗示了体系结构元素的开始,这个元素包含了体系结构文档中的数据)。159 GB/T16965--2009/IS011EC10744:1997A.3.2.1.2Meta-DTD体系结构定义中定义的声明集作为整体代表一个meta-DTD。在文档实例中,出现体系结构对象时会根据meta—DTD检查此对象是否被允许。其他对象不进行检查。仅当数据出现在meta—DTD允许它出现的地方,才被认为是结构化的。这条规则包括无体系结构元素内容中的数据(除非体系结构处理已禁止此元素的后代,这一点将在A.3.5.3体系结构抑制器属性中描述)。其他情况下,数据不影响依据meta-DTD的检查。注400:这个要求意味着体系结构形式定义不需要规定无体系结构元素类型的出现。例如,在HyTime中,以下内容将会是有效的,即使nameloc形式不含有标题或描述性子元素。(!Ⅱ㈣MyH∞eL“一0(Title?,nmlist+,Desc?))(!ATrLISTMyNameLocHyTimeNAME#FIXEDnameloc(mynameloc)(title>AllkboutOtters(/title>aao</>(deSC>LocatesthesectionON”AthleticAchievements”(/desc>(/mynameloc>文档实例中任何不符合metaDTD的情况都是可报告的体系结构差错(RAE)。特别要指出的是:——在文档实例中,如果元素出现在其体系结构形式被meta—DTD禁止的地方,这就是一个可报告的体系结构差错;——在文档实例中,如果meta—DTD在某处需要数据或一个特定体系结构形式的实例,而所需对象没有在该处出现,这就是一个可报告的体系结构错误;——如果体系结构属性的值不满足其声明的取值时,这是可报告的体系结构差错。体系结构仅仅约束文档实例,不限制文档类型定义的结构。例如,任何文档的DTD能将HyTime声明为基础体系结构,只要它的文档实例符合HyTime。注401:发挥验证作用的体系结构引擎可以选择为报告DTD结构(比如设计效果较差的内容模型),这些DTD结构可能将阻止有效的相容实例的产生,或者允许不协调的实例的产生。meta-DTD是灵活的,不需要阐明上下文中有关联的所有问题;一些元素也许只有与其他相关的元素在一起时才有意义,或者只是其他元素处理的资源。meta—DTD由一个体系结构的所有SGML定义组成,包括该体系结构的所有可选设施(如果存在的话)。反过来,对于任何给定的体系结构实现的系统声明(见A.3.4),将会有一个单一的meta—DTD,它只允许该系统支持的可选设施。而且,对于给定文档可行的实际meta-DTD能够比以上那些都更严格,这要看该文档所要求的设施(见A.3.6.1)。meta—DTD是文档体系结构支持声明必须的,并且约束性更强的metaDTD的约束也能被文档的DTD支持。注402:当应用元素类型的已声明内容或内容模型允许符合元模型体系结构形式的实例的时候,它与体系结构形式的meta模型可以不同。例如,元模型可能是“(alblc)”。应用设计者可能通过使用“(alb)”内容模型而将“c”的可能性合理的排除在外。内容模型“(a1x)”也可能被使用。这样的话,如果“x”不是体系结构的(它不是从任何体系结构的形式继承而来,也不被当作结构化的),“x,’的出现将不是一个体系结构差错(因为为了按照体系结构meta—DTD来确认有效性,无体系结构元素被简单的忽略)。如果⋯X’是体系结构的,那它就是一个RAE。对普通DTD,参数实体可以用来构造meta—DTDs。参数实体声明主要是帮助定制meta—DTD,使其符合体系结构定义文档支持的任何模块化设施。它们能够与标记部分一起使用,同时在ArcOptSA160 GB/T16965--2009/ISO/IEC10744:1997属性(见A.3.5)的协助下,实现自动定制。它们也能为体系结构形式之间的文档关系服务,但是在其他方面没有语义上的意义)。继承使能体系结构的meta-DTD是“继承rneta-DTD”。它的基础体系结构的meta-DTDs是“基础meta—DTDs”。应用DTDs的基础体系结构的raeta—DTDs是该应用的meta—DTDs。A.3.2.1.3属性定义列表声明应用DTD中的体系结构元素类型的属性定义列表包括ArcForm属性,该属性标识了体系结构形式。ArcForm属性是互不相同的,这是因为它的定义是为了各元素类型,这些元素类型的实例要以体系结构中定义的方式进行处理(除非使用了体系结构置标最小化,描述见A3.6.2)。注403:通常,相同类型的每个元素拥有相同的体系结构形式,该形式允许在DTD给ArcForm赋值。但是,这不是必须的:例如,元素类型定义允许它的实例是体系结构形式中的一个。其他属性定义符合A.3.2.3中规定。A.3.2.2属性形式属性形式定义了可以在元素类型的属性定义列表中使用的属性,其中元素类型符合一个或多个元素形式,包括SGMI,处理链属性列表。元素形式与属性共同使用,通过声明关联元素类型的名称进行指明。与常规DTD不同,在meta-DTD中可以有一个以上与相同元素类型关联的属性定义列表声明。甚至,如果关联的元素类型指定为保留名称“#ALL”,属性可在任何体系结构的元素形式中使用。(这些属性就是所谓的“公共属性”)。这两个设施是“AFDRmeta-DTD记法”扩展的一部分,仅用于meta—DTD。相同的属性名称出现在多个声明中并不是出错,但是在后面给同一元素类型关联同名属性的定义是不起任何作用的。声明被按顺序解析。注404:因为SGML需要属性名在它的属性表中必须是唯一的,而公共属性可以在其他所有属性表中出现,设计者应该保证在该体系结构中,公共属性有一个与其他所有属性名都不相同的名称。注405:SGML不允许在应用DTD中指定。#ALp。也不允许多个属性定义表声明关联相同的元紊类型。通过将属性形式命名为属性定义表声明中的相关记法名称,属性形式可以和记法形式一起使用。在meta-DTDs中,对于关联的元素类别,同种范围是可行的。所有体系结构的数据属性形式可以使用关于公共数据属性同样的规则。A.3.2.3属性列表约定本条中的约定描述了元素形式或属性形式中的所有体系结构属性。注406:对于一个给定的元素或记法形式,应用通过使用“ArcNames”属性(见A.3.4.2)可以替换属性的体系结构定义名称。如果文档实例包含的属性值不满足在metaDTD中声明的取值,这是可报告的体系结构差错。注407:由于属性值必须同时满足在meta—DTD和从属DTD中的属性定义,故可能会出现具体婀语义冲突。因为如此,建议在设计meta-DTD时要考虑到所有可能一起使用的从属文档。潜在应用范围越广,具体的句法(特别是它的名称拼写规则)就越接近引用的具体句法(或预期用户群的常见具体句法,这是不相同时的情况)。A.3.2.3.1默认值规定体系结构的属性分为“限制的”或“非限制的”,同时也分为“常量”或“变量”,具体如下:——非限制属性这些属性可以在应用DTD定义,但不是必须的。如果属性不是在从属DTD定义的,这个体系结构能提供一个默认值,当作体系结构meta—DTD中属性定义的一部分,或者对于可隐含的或满足的引用属性,证明默认行为是体系结构定义文档的一部分。通过“#IMPLIED”,“#CONREF”,或字面(也许固定的)的默认值,在属性定义的默认值规定中证明属性的非限制状态。161 GB/T16965--2009/ISO/IEC10744:1997如果没有定义非限制属性,或定义的可隐含属性没有默认值,而且在开始符处也没有指定,体系结构语义处理器在体系结构定义文档中规定的默认值。注408:通过使用通用体系结构的默认值表设施(见A.5.6),应用可以方便地指定可隐含属性的默认值。——限制属性这些属性必须在应用DTD中定义,它们的值必须由应用、默认值或属性规范提供。通过使用“#REQUIRED”,在属性定义的默认值规范中表明属性的限制状态。当体系结构定义文档将体系结构模块化,可选设施能具有和该设施相关的限制属性。从属文档使用的meta—DTD必须包括该文档使用的设施所要求的所有声明。没有用到的可选设施要求的声明不需要被包含。——常量属性体系结构属性的默认值约定可以是记号“#FIXED”加上其后给出的默认值;它表示常量属性,该属性的取值必须总是等于其默认值。注409:如果属性在meta-DTD中是固定的,应用根本不用声明它;这保证它一直取其默认值。或者是,它被声明为一个带默认值的固定属性,这个默认值与体系结构的默认值相同。——变量属性没有被固定的属性是变量属性。在应用DTD中,为变量属性规定的默认值,不管它是不是限制属性,都能够使用SGMI。允许的任何关键字或者是属性值规范。在体系结构定义中用来证明该属性的形式是不相关的。注410:在HyTime体系结构中定义的一些属性对于它们相关的元素形式是可变的,但是对于从属元素形式,这些属性必须是不变的。见第5章。注411:下面列表中给出关于声明值和默认值规定形式的例子,用来表明属性类的每种组合。——Marl出toryNAMES#Iu£QuIRED--Non-mandatory/constantNOTATION#FIXED簿--Non-mandatory/variableWJMBER#IMPLIEDNAME#CONREFNAMESnovamp(orderldisorder)orderCDATA””A.3.2.4处理链接属性SGML处理链接属性列表可以为源文档中声明的基础体系结构指定体系结构属性和体系结构控制属性。当元素既有链接属性又有SGML源的元素的同名属性时,体系结构处理只考虑链接属性,排除体系结构控制属性“ArcNames”(见A.3.5.2)。A.3.3体系结构基础声明通过使用体系结构基础声明,文档指明对体系结构的符合性。ArcBase声明标识了DTD或继承meta—DTD的一个或多个基础体系结构。它不能用于非继承meta—DTD。它应先于关于它所标识的基础体系结构的体系结构支持声明。在一个DTD或meta-DTD中可以有多个ArcBase声明。按照句法来看,ArcBase声明是一个处理指令(PI),而不是SGMI。置标声明。在下面的横板中,这点在具体句法的引用中有体现。使用时,ArcName-|ist参数必须被一个或多个声明为记法名铂:的体系结构名称(ArcName)替换,且彼此间通过SGML的S分隔符隔开(空格)。如果这个DTD或met扩DTD没有为每个指定的ArcName声明一个记法,则产生一个可报告的体系结构差错。声明的名称是符合初始关键字为“ISl0744”的字符串,以及一个或多个分隔符,达到第一个S分隔符。如果客户文档的SGML声明指定普通的大写输入法,声明的名称也要使用大写。162 GB/T16965--2009/ISO/IEC10744:1997名称通常是“ArcBase”,但如果必要的话,使用SGMI。声明的APPINFO参数,能够更改这个名称,以避免更新体系结构到文档时产生冲突(诚然不可能),其中该文档已经有一个以“ISl0744ArcBase”开头的Pls。关于将要被解析的文档,ArcBase只能在DTDs或LPDs中被识别。(!一TEMPLATEFORPIINDTDORDERIVEDMETA-DTD-.)<"ISl0744ArcBaseArcName—list)A.3.3.1APPINFO参数的使能体系结构用法为了确定何时使用使能体系结构,SGML声明的APPINFO参数被解析为以空格划分序列的记号。文档对一个或多个体系结构的符合性依据这些要求进行定义,通过描述关键字“ArcBase”作为记号进行指明。关键字指明了在一个或多个体系结构基础(ArcBase)声明的DTDs或LPDs中指明了潜在存在可能,基础(ArcBase)声明为作为DTD基础的体系结构标识了“体系结构支持声明”。通过指定关键字“ArcBase”为记号,指出需求,定义一个或多个体系结构的文档的一致时必须与这些需求相符。用来指明符合体系结构的APPINFO参数是可以选择性使用的。注412:APPINFO的使用为声明SGML声明中体系结构的使用服务。但是,让体系结构处理声明在DOCTYPE声明中的ArcBase声明体系结构的使用是足够的。这个记号的形式是:ArcBase2”NewBase”这里“ArcBase”不区分大小写。这个记号也能指定文档中的DTDs和LPDs的ArcBase声明的名称,如果它们不同于“ArcBase”。这个形式是:ArcBase3”NewBase”APPINFO参数被认为是记号的s分隔符定界表。当ArcBase声明的名称是ArcBase的时候,将被用于文档中的ArcBase名称的规范是可选的。A.3.4体系结构支持声明DTD(文档类型定义)包括体系结构的支持声明,用于作为各实例基础的体系结构。记法声明标识了体系结构定义文档(如果有的话,包括体系结构的版本)和包含meta-DTD的外部实体。与记法声明相关联的是“体系结构支持属性”的属性定义列表声明。注413:如果定义文档以及/或者meta-DTD不能教访问,这也不一定是差错。因为某些执行过程并不需要访问这些对象。声明的主要目的是声明和指定体系结构支持属性。然而,如果体系结构引擎要产生解析的体系结构文档,meta—DTD则必须是可访问的。在SGML(标准通用置标语言)允许的范围内,体系结构支持声明应该优于其他声明。A.3.4.1体系结构记法声明在AreBase声明中描述的每个基本体系结构名称(ArcName)必须在记法声明中声明为记法名称,此记法声明标识了该体系结构定义文档。(这种记法声明通过使用正式的公共标识符进行标识,公共标识符中的公共文本以“AFDRARCBASE”这两个单词开头描述组件。)这种声明的模板如下所示。在使用时,用实际的体系结构的记法名称替代ArcName,这在AreBase的声明中做了说明。这种符合性体现了体系结构客户要求与AFDR的符合性。(这并不表明要与Hy—Time体系结构保持一致。)(!一体系结构记法声明一)(!一在IYfD或衍生出的雌TA_叩D中的声明模板一>(!NotationArcNam电一ArcName体系结构一一基础体系结构在运用中须与标准GB/T16965对体系结构形式定义的要求~致。PUBLIC”.//NOTA"r10tqAFDR,醵CBASEArcNameArchitecture//.”一约束:ArcName体系结构定义文档的公共ID一、】63 GB/T16965--2009/ISO/IEC10744:1997A.3.4.2体系结构支持属性对每个体系结构记法声明来说,定义强制性体系结构支持属性必须是属性定义列表声明。单独的体系结构还能附加定义它自己的体系结构支持属性。声明模板如下所示。在使用时,体系结构用实际的记法名称替代ArcName,用支持属性的期望值替代规定的默认值。对于非强制的属性,“默认:”传统的注释陈述了没有声明该属性的影响。属性体系结构的形式属性名(ArcFormA)指定了体系结构控制属性(此后称为“ArcForm”属性)的名称,从属DTD必须为每一个体系结构的元素类型和记法定义该属性(ArcFormA),以标识其体系结构的形式(见A.3.5.1)。注414:除非meta—DTD也是从属DTD,否则这一属性不会出现在meta-DTD中。在这种情况下,该属性值是派生自其基郝的体系结构的形式名,而不是派生自从属DTD。举个例子,起始于HyTime的体系结构规定了其自己的体系结构属性名——MyArch。该属性将会运用到起始于MyArch体系结构的从属文档中,而不会出现在MyArchmeta-DTD中。因为MyArch体系结构起始于HyTime,meta-DTD会用HyTime属性定义派生自HyTime元素类型的MyArch元素类型的起始。注415:ArcName能被当作ArcForm属性的名称使用。举例来说,HyTime既是体系结构的名称.也是该体系结构的ArcForm属性的名称。属性体系结构的属性重命名(ArcNamrA)指定了体系结构控制属性(“ArcNames”属性)的名称。该属性允许以其自己的名称替代体系结构的属性名。(见A.3.5.2)属性体系结构的抑制器属性名(ArcSuprA)这一属性指定了体系结构控制属性(“ArcSupr”属性),该属性控制体系构造处理的抑制过程(见A.3.5.3)。属性体系结构的省略数据属性名(ArcIgnDA)指定了体系结构控制属性(“ArcIgnDA”属性)的名称,该属性控制元素的数据内容是否是符合体系结构化的。属性体系结构的文档元素形式名(ArcDovF)指定了文档元素形式(“ArcDoc”形式)的名称。(见A.3.6.1)。属性体系结构meta-DTD实体(ArcDTD)指定了外部实体,其包含体系结构文档实例所遵从的me—ta—DTD。该属性取值可以是带有pero分隔符的参数实体的名称,也可以是一般实体的名称。除了其的量集可以不一致以外,其他的都一定要受限于与客户文档相同的SGML声明。这个不同点由属性体系结构量集(ArcQuant)指定,其就是一连串的“分量一值”对,这可以在SGML声明的量集参数中找到。按照属性值命名分量对应的值代替那些在从属文档sGML声明中的值,适用于meta-DTD和体系结构实例(见A.3.4.3)。如果没有指定任何值,那么在运用SGML名称和实体情形折叠规则之后,meta-DTD实体的名称可以拿来作为体系结构记法的名称。注416:在引用句法方面,这意味着raeta—DTD实体名称一定要大写。下面的三个属性与“体系结构置标(markup)最小化”(这一点在A.3.6.2中描述)有关。属性体系结构的数据形式名(AreDataF)指定体系结构记法形式(“ArcData”形式)的名称,其可以作为外部数据实体的默认名称。属性体系结构的桥接形式名(ArcBridF)指定体系结构(“ArcData”形式)的名称,其将该体系结构和非体系结构的元素或者记法桥接起来。其是体系结构化的但没有确定的体系结构形式的元素的默认体系结构形式。因为其提供了标识属性(ID),所以这类元素通常包括在内。属性体系结构的自动化形式映射(ArcAuto)指明是否将元素类型和外部数据实体记法同等地映射到已命名的体系结构形式中(AreAuto)。当体系结构定义文档模块化体系结构的时候,应用程序设计者可以定义另外的支持属性,这些属性指定了文档支持所需要的设施。附加的支持属性能够用来指定某些文档的性质的属性,还能够用来为体系构造处理的初始化设定参数。体系结构支持属性声明在程序结束的时候被体系结构引擎传给体系结构的语义处理机。当有用的模块化技术运用到HyTime体系结构中,将会产生主要的并且被一些有标识的区段组成】64 GB/T16965--2009/ISO/IEC10744:1997的metaDTD,每个被标识的区段的开始都包含了参数实体引用,其实体名是设施(或者设施的可选择组件)的名称,该设施在有标识的区段中被声明。当那些实体与实体文本“INCLUDE”一起被声明时,该声明包含在meta—DTD中,当实体文本是“IGNORE”时,该声明不被包含在meta—DTD中。属性体系结构选项支持属性名(ArcOptSA)指定一个或多个体系结构支持属性名。这些支持属性列出了参数实体名,这些参数实体的实体文本应该在meta—DTD中被声明为“INCLUDE”。默认的体系结构支持属性就是体系结构选择项(ArcOpt)这一属性。注417:体系结构选项属性对于简单的几乎没有模块化的体系结构来说已经足够了。对于大的模块化的体系结构(如HyTime)来说,当每个模块为被包含在内的可选设施命名时,有各自的选项属性将会带来极大的方便。如果文档所需要的体系结构设施没有在支持声明中被指定,将会产生差错,但是系统并没有必要报告这个差错,因为它也许并不能这么做。然而,如果该声明指定了实际运用中文档并不需要的设施,这也不是RAE。注418:如果可以的话,系统可以免费为那些没有声明支持要求的文档提供设施。如果系统想要处理文档,并且该文档的支持声明指定了系统并不支持的设施(见A.3.4),即使该文档实际中并没有使用那些设施,该系统都必须报告差错。注419:换句话说,系统可以让用户选择忽略“不被支持的设施”这个差错,但是其必须在第一实例中报告该差错。设施的识别暗示了其所依赖的任何设施的自动识别。(!一当AFDmIeta的增设部分被运用到meta-DTD中时使用一>(!一当AFDRMeta的增设部分没有被使用并且meta-DTD没有被看做DTD的一部分时使用~)(!NOTATIONSONL一标准通用置标语言一PUBLIC”GB/T14814—1993//NOTATIONStandardGeneralizedMarkupLanguage//EN”)166(!Entity% GB/T16965--2009/ISO/IEC10744:1997ArcName—ArcName体系结构meta-DTD-一PUBLIC”//DTDAFDRMeta-DTDArcNameAxchitecure//”一一约束:ArcName体系结构meta-DTD的公共I口一)A.3.5体系结构控制属性体系结构控制属性允许体系结构的解析和处理,这种解析和处理通过从属文档实例来控制。体系结构控制属性的名称被指定为对应体系结构支持属性的值(见A3.4.2)。注421:从属元素可能拥有与从属文档所有的基本的体系结构一样多的体系结构控制属性集。体系结构在meta—DTD中不会声明体系结构控制属性。取而代之的是,客户要为那些需要这些属性的元素类型和记法声明这些属性。A.3.5.1体系结构形式属性体系结构控制属性体系结构形式(ArcForm)标识了元素或记法的体系结构形式。它的值就是此元素或者记法所要符合的体系结构形式的名称。属性的实际名不应该是ArcForm;对于每个基本的体系结构来说其一定是唯一的,理想情况下,与从属文档的所有属性名都不能重名。该名称在体系结构记法声明的ArcFormA属性中被指定。客户必须为每个体系结构元素和外部的数据实体声明ArcForm属性,除非使用了体系结构的置标最小化(见A3.6.2)。注422:体系结构引擎用该属性来决定由体系结构指定的过程,该过程由体系结构的语义处理机来完成。利用该属性还可以知道哪些由体系结构定义的属性需要检查。应用处理机通过使用由应用程序定义的元素类型和其他属性来决定要处理的由应用程序指定的过程。在面向对象程序设计中,由应用程序定义的派生类(元素类型)继承其基类(体系结构类型)的所有性质。如果文档实例包含了体系结构的形式属性值,而不是在metaDTD中指定的值,将会产生RAE。注423:换句话说,体系结构集的体系结构形式不能被应用程序扩展(见A.3.6.3)。(!一体系结构的类型属性~)(!一在DTD或衍生出的META-DTD中的声明模板一)(!AttlistElemTypeName一从属元素类型一ArcForm~基础元素形式名一NAME~约柬t在基础体系结构的meta-DTD中定义的元素类型名一#IMPLIED一默认t除非通过自动形式映射或者律系结构化的桥接证明其是体系结构化的,否则被认为是非体系结构化的一)(!Attlist#NOTATIONNotationName一从属记法一ArcForm一基础记法类型名一NAME~约束:在基础体系结构的meta-DTD中被定义的记法类型名一#IMPLIED一默认:除非通过自动形式映射或者体系结构化的桥接证明其是体系结构化的,否则被认为是非体系结构化的一)A.3.5.2体系结构属性重命名体系结构控制属性体系结构属性重命名(ArcNames)为体系结构属性名定义了从属替代名。这个替代名被看作相应命名的定义体系结构的属性或者体系结构的内容。属性承担定义体系结构的属性名,此属性名用来定义替代名,而属性会被体系结构引擎忽略。如果该替代名是“#DEFAuLT”,那么负责定义体系结构属性名的属性通常会被忽略,但是该属性的值不能取自另一个属性,而是用meta-DTD中描述的缺省值来代替。如果该替代名是“#CONTENT”,那么该属性的值存在于从属文档中元素的语义内容中。该语义内容将派生自此元素的数据连成一串,进而转换成属性值。在这种情况下,该语义内容并不会被当作体系结构的内容。注424:除非从属文档中的一些属性值因为使用了“#ARCCONT”而作为体系结构内容的资源,否则体系结构的内】67 GB/T16965--2009/ISO/IEC10744:1997容将会因此不复存在。替代名可能符合或多个三个一组的记号,其中每记号由符合两个名称记号的“#MAPTOKEN”组成。这些指定用户替换出现在这个属性值中的已定义体系结构记号。如果在从属文档中为这个属性指定的值中的记号与第二个记号相同,第记号将其替代。如果将已定义体系结构属性指定“#MAPTO—KEN”,其中该属性的声明值为CDATA,那么在记号被替换之前,这个属性值应该被打上记号。注425:该属性必须被声明为CDATA,因为,举个例子,它可能包含以定义记法RNI开头的记号。通过指定体系结构的属性名“#RACCONT”并且为从属属性命名,体系结构的语义数据内容可能会被当作属性值。在这种情况下,从属文档中的任何语义内容都将被视为非体系结构化的。注426:一如往常,数据必须满足体系结构的形式和应用程序元素类型的语义限制条件。举例来说,虽然注解声明可能与语义内容中解析的字符数据混在一起,但是当数据被当作属性值的时候,这种情况是不允许出现的。单一元素可能包含ArcNames源元素属性和ArcNames链接属性。在ArcNames源元素属性值中,ATTNAME必须引用源元素属性。在ArcNames链接属性值中,ATTNAME首先必须被设定为链接属性名。但是,如果这样链接属性不存在的话,可以使用同样名称的源元素属性(如果存在的话)。如果用这样一种方式(这种方式会引起冲突和复写)来使用ArcNames的话,将会产生RAE。(!一在DTD或衍生出的META-IYPD中的声明模板一>(!AttlistElemTypeName一从属元素类型一ArcNames一体系结构的属性重命名器一一为体系结构属性定义用户名~CDATA—Lextype:((NaME,(ATIDRCON”#DEFAULT”),(”#MAPTOKEN“,NMTOKEN.NMTOKEN)*)I(”#KRCCOt∞”,ATTNAME))*--一约束:被提供的ATTNAME或NAME,#CONTENT,或#ARO=ONT只能出现一次一一约束:体系结构名先于用户名一#I/蛇LIED~常量~一默认。没有重命名一)(!Attlist#NOTATIONNotationName一从属记法一ArcNames一体系结构属性重命名器一-一为体系结构属性定义用户名一CDATA—Lextype;(NAME,(ATTNAMEI”#ImFAULT”),(”#MAPTOEEN”,埘Ⅱ0lⅡ珊,mexr髓N)*)*__一约柬:被提供的ATlwAME或H艘只能出现一次一一约束:体系结构名先于用户名一#IMPLIED一默认:没有重命名一>A.3.5.3体系结构抑制器属性体系结构控制属性体系结构抑制器(ArcSupr)可以为元素的后代抑制(suppress)或修复(restore)体系结构的处理过程。sAreAllsArcFormsArcNone完全抑制后代的所有体系结构处理过程。在这种情况下不能为后代修复体系结构的处理。抑制此元素所有后代的ArcForm属性的体系结构处理过程(除了那些有显式ArcSupr属性的元素外)。不抑制该元素后代的体系结构处理过程。如果体系结构的处理过程被继承的话,该属性值也许是默认的(implied)。如果元素有被处理过的ArcSupr属性,它的ArcForm属性一般也会被处理。除非其最近的祖先(有明确的ArcSupr属性值)抑制了ArcForm属性的处理过程,不然它的ArcForm属性将会被处理。如果元素(该元素的ArcForm属性被处理过了)的ArcForm属性有默认值,它会被认为是非体系结构化的。168 GB/T16965--2009/ISo/me10744t1997注427:举个例子,“sArcAll”按照元素所包含的内容的程度来抑制所有体系结构的处理过程,而“sArcForm”存在这种可能性:继承体元素的ArcSupr属性能够在其所包含的内容的范围内修复其处理过程。注428:如果体系结构的元素被用作其他方面时,对体系结构的处理过程的抑制是非常有用的。例如,在HyTime文档中显示或编辑HyTime源元素。注429:一旦AreForm被指定,meta-model检测就要暂时中止。该元素可能因此包含任何体系结构的元素,甚至包含那些根本就不是AreCFC的一部分的元素(那就是说,那只可能发生在一些其他的体系结构的元素的内容中)。这也是有可能出现的,因为体系结构的处理过程被抑制,并且因此不需要该处理过程的上下文,该上下文可能已经被遗漏的元素所建立。(!一体系结构抑制器属性一一)(!~在D叨或衍生出的/4ETA-IYiD中的声明模板一)(!AttlistElemTypeName~从属元素类型~ArcSupr一体系结构抑制器一~抑制体系结构的处理~(sArcAllsArcFormsArcNone)#IMPLIED一默认:被继承一>A.3.5.4体系结构忽略数据属性体系结构控制属性体系结构忽略数据(ArclgnDA)控制元素的数据内容是否被看作是体系结构化的。nArclgnD数据不会被忽略。如果数据出现在未被meta—DTD允许的范围,将会出错。cArclgnD数据有条件地被忽略。当且仅当数据出现在metaDTD不允许的范围内时,数据才会被忽略。ArclgnD数据总是被忽略。如果体系结构的处理过程被继承的话,该属性值也许是隐式的。如果文档元素没有被指定确定的值,该属性将会被设置为cArclgnD。(!一体系结构忽略数据属性一)不使用AFDRMeta扩展的meta-DTD是有效的meta—DTD,如果声明中包括了有效性SGML置标声明。A.3.8.2文档和继承meta-DTD的符合性从符合体系结构继承而来的文档和meta—DTD应通过在体系结构支持记法声明中包含下列状态做简要说明:基本体系结构的使用与本标准GB/T16965--2009体系结构形式定义要求相一致。A.3.8.3符合的体系结构引擎符合体系结构引擎可能既是通用的又是体系结构明确的。通用体系结构引擎支持独立于体系结构语义的体系结构处理。特殊的体系结构引擎只为那些设计好的体系结构提供体系结构处理。如果体系结构引擎符合本条中的要求,那么它是符合的体系结构引擎。体系结构引擎的任何形式都可能是有效的体系结构引擎。A.3.8.3.1文档符合性符合的体系结构引擎应该包括它的文档要符合SGML文档,而且它不应该禁止任何14814--1993结构和这个文档所允许的文档。注437:举个列子,应用结构规定可以建议只有某个最小的功能可以使用,但如果被正式的规范所允许,它将不会禁止其他的功能。A.3.8.3.2文档编制的符合性符合体系结构的引擎的文档应该符合标准的要求(见1I.5)。A.3.8.3.3应用约定符合体系结构的引擎将不会加强它的应用标准,就好像它们是本标准的要求一样。17】 GB/T16965--2009/ISO/1EC10744:1997注438:给出了违反应用标准的警告,但必须把它们和体系结构的差错报告区分开来。A.3.8.4确认体系结构引擎如果存在差错,有效的体系结构引擎将找到并且报告可报告的体系结构差错(RAE),而且在没有差错的时候将不报告差错。如此的引擎可以有选择地报告其他的差错,而且可能再有潜在的威胁,而不是差错时进行警告。A.3.8.4.1体系结构消息标识体系结构差错报告包括可选择的报告,将会以一种体系结构消息的方式被确认,这种方式会把差错的报告和任何其他的消息包括体系结构潜在差错的警告消息清晰地区分出来。A.3.8.4.2体系结构消息内容包括可选择的报告的体系结构差错信息报告,将指出差错的详细性质和位置,以为了修正。注439:这个要求明确的允许实施者最大限度地满足它们的用户的方便和系统要求。A.3.8.5体系结构系统声明体系结构系统声明就是在GB/T14814--1993中定义的SGML系统声明,这个声明在子节中进行了修改。新参数AFDR支持(AFDR)详细说明系统是不是有效的体系结构引擎,并且说明系统是不是有能力进行体系结构的例证。这个参数当又能用在体系结构引擎的时候,要满足SGML声明中的SDIF参数支持。[343A19DRsupportoptions=’’AFDR”.ps十,’’VALIDATE”.ps十(”YES”I”NO”).Ps十·”CONSTRUCT”,Ps+(”YES”I”NO”、在这里:VALIDATE的意思是所有的可报告的体系结构差错将会被发现和报告。CONSTRUCT的意思是引擎有能力根据从属文档创建出体系结构列子。A.4性质集定义要求本条陈述了对正常定义信息类型的要求,计数处理器让HyTime和DSSSI。应用程序能够使用。本条可以被引用为“性质集定义要求”。注440:性质集计划支持HyTime和DSSSL处理,通过提供这些处理需要的信息表示计数法特定的数据。它们并不有意做成一般的模型使计数法特定数据在任意处理中都可用。A.4.1概念和术语“记号处理器”对起始数据的操作,这些起始数据要由计数法知道的表示,故能识别由起始数据描述的信息。注441:例如,SGML分析器和HyTime引擎都是对其各自的记号处理器.GB/T14814—1993(SGMI.)和16965(HyTime)。“性质集”定义的信息类型能被DSSSL和HyTime应用程序的记号处理器返回。对于记号的性质集定义了一个处理器对记号的每个类型的信息,这样就能识别为已知的一个“完全性质集”。注442:SGML性质集和HyTime性质集定义了符台标准的完全性质集。其他记号的完全性质集能否被定义,则取决于这些记号有多类似SGMI,和HyTime。“树林构造过程”使用了记号处理器去识别由性质集定义的“类”及其“性质”,并代替识别的事例作172 GB/T16965--20091ISO/IEC10744:1997为“节点”在一个图形构造中就称为的“树林”。注443:树林(Grove)是“性质值的图表表示(GraphRepresentationofPropertyValuEs)”的首字母缩写。注444:例如,SGML分析器就是一个操作起始数据的过程,而起始数据是由GB/T14814--1993定义的SGML记号。SGML树林构造过程使用SGML分析器去识别由SGML性质集定义的类和性质的事例,然后在一个SGML树林中表示已识别的事例。这里有两类构造过程:“原生的”和“次生的”。原生树林构造过程在特定的记号操作数据,并产生一个树林作为“原生树林”。次生树林构造过程在其他树林节点上操作数据,并产生一个树林作为“次生树林”。原生树林构造过程使用的性质值被称为“原生性质集”;相应的次生树林构造过程使用的性质值称为“次生性质集”。树林构造过程中不需要识别和包含,在树林中所有类和属性的实例都定义在结果树林的属性集中。一个“树林规划”被用作去确定在性质集中哪些类和性质在树林中被包括(或被排除)。树林规划包括在性质集中的所有类和性质被称为“完全树林规划”。树林与完全树林规划一起被称为“完全树林”。注445:完全树林与其性质集联系;一个完备的性质集与其记法联系。A.4.1.1性质集性质集在“性质集定义文档”中被定义,在本条中定义的符合“性质集定义体系结构”的一个SGML文档。这个性质集定义结构meta—DTD是被公共标记符“GB/T169652009//NOTATIONAFDRARCBASEPropertySetDefinitionArchitecture//EN”标识的。注意,尽管它们是技术结构形式,出现在本条中的元素类型和属性定义直接用作性质集定义文档的文档类型。所以其在本标准中作为元素类型被引用。性质集由“性质集组件”组成:类、性质、列举值(性质的)和标准化规则(比较字符串性质值)。一些性质集组件可以在所有的性质集中发生;它们被称作“内部组件”。性质集定义结构为每个组件类型定义了一个元素类型;元素都遵照了相关类型的那些类型定义组件规则。一个性质集的组件能被组织称一个或多个分离的“模型”。模型允许类和性质组合起来去反映它们之间的重要区别,那些差别可能是从完全树林规划去包含或排除它们的基础。注446:在SGML性质集中,这些差别包括:——可用的规范文档(那是SGML,DSSSL,或者HyTime);——仅当一个可选的设施可用时,性质是否存在(例如,隐式的链接)l并且——性质是否关联到源数据(例如,普通的定位符),是否关联到由源数据描述的抽象概念(例如,元素和性质),或者两者(例如,数据字符)。A.4.1.2类和性质类是同种类型信息的集合。类有类名并提供了有序的性质集。每个性质也会被指定一个性质名和一个“性质编号”。在性质集的范围内定义它们的类名是唯一的,性质名在定义它们的类中也是唯一的。按照它们在属性集定义文档中定义的顺序类对每个属性都分配了属性编号类提供的第一个性质的编码值为1。在相同的类中,随后定义的性质的编码由它相邻的性质所决定。注447:为了决定性质编号,在模块中性质定义的发生是非实质的,无论它发生在一个类定义的内容中还是独立的内容中。注448:因为内在性质定义被认为在每个性质集定义文档的开始时就要出现,每个类的第一少数内在性质;这就产生了这样一种作用:性质数字赋值给内在的性质在所有类中都是一样的有效。尽管性质被包含在所有给定的树林方案中,但性质编号对于所有树林是恒定不变的。性质有一个“声明的数据类型”,这个表明了值节点的类型允许展示性质。一个已声明的数据类型是下列的一种:node节点。】73 GB/T16965--2009/ISO/IEC10744:1997nodelistnmndlist包含零个或多个节点的顺序列表。由多个节点组成的有序列表。且列表中的每个节点都有一个“名称性质”,其值是唯一的。命名节点列表也叫做名称空问。名称性质数据类型一定是字符串或者节点,并且在单一命名节点列表的所有名称属性必须有相同的数据类型。注意:事实上,这里有两种不同类型的命名节点列表,“字符串命名”和“节点命名”。首先,每个节点通过一个字符串来标识;第二,每个节点被另外节点识别。在一个字符串命名节点列表中收集所有节点“名字”性质值,生成有别于此列表的一栏名字。同样地,在节点命名列表中收集所有节点名性质的值,生成有别于此列表的一栏节点。enum表示一个枚举集的值;一个枚举器。char抽象字符。在树林里具体表达式的“char”字符值必须允许任何“char”类型与其他的“char”值能够区别。并且每个“char”的语义应该是确定的。具体表达可能或者也许不会依赖于DOC、UNICODE和其他的字符集。string空值或者更多的抽象有序列表。strlist有零个或多个字符串的有序列表。integer整型。intlist零或者更多整型的有序列表。boolean布尔值。compname性质集组件名。cnmlist空值或更多有序组件名列表。基本数据类型主要有节点、枚举、字符、字符串、整型和组件名数据类型。链表数据类型有节点链表、字符串链表、整形链表和cnmlist数据类型。注449;字符串数据类型尽管被描述为一列字符,但仍然被认为是最基本的数据类型。数据类型含有节点,节点链表或者是组件链表的性质叫做“节点型”。定义其他数据类型的性质叫做“非节点型”。数据类型是字符串的性质应该有一个关联的“标准化规则”,当与涉及的性质值作比较时包含一个字符串名字节点列表名去查找一个节点,这个规则就会被咨询。在性质定义时能够指定条件,在这些条件下性质将不会应用到提供它的类的实例中。节点的性质不应该赋予空值(注意这不同于列表性质的空值)。A.4.1.3节点节点是一个有序的“性质分配”集,每个节点就一个“值”关联一个性质名。此性质名是由节点的类提供的性质名称,其顺序就决定了性质分配的次序。如果节点有性质分配相关其性质名的一个值,那么此节点被称“对应”一个性质“展示”一个值。非正式地,这“节点的性质”是为节点展示一个值的性质。节点被称为这样性质的“拥有者”。A.4.1.4树林节点存在于一个有向图中,有向图中的每个节点通过标签弧连接到其他节点。对于每个节点型性质的节点都有一个值的每个节点,存在这样的弧,从展示节点到值节点,此标记是节点型性质的名字。注450:非正式地,当有节点以它的一个性质值的形式出现时,节点“指向”另外一个节点。在节点型性质集值出现的节点涉及节点性质,其由三个可能的“节点关系类型”中的一个展现,“子节点”,“内部引用节点”或“自由引用节点”。节点型性质能够被其相关的类型当作“子节点性质”,“引用节点性质”,或者“自由引用节点性质”;同样地,图像中的弧线能被相关的类型赋值分配给弧相关性质。节点出现在子节点性质的值称为一个关于展现节点值的“次要节点”(或子节点),此节点展现的值174 GB/T16965—2009/ISO/IEC10744:1997称为子节点的“起始”。每个节点可能仅有一个子节点性质的值出现。“兄弟”节点以子节点性质值出现就是其他的节点了,如果还有任何节点,都是以相同子节点性质值出现。图的子节点弧线连同节点一起称为“子节点树”。引用节点,或“内部引用节点”,弧进一步在其子节点树中链接到此节点。这样的弧线可能导致图形包含循环和交叉。树林是节点集合,它被子节点树和更远一层被两个节点集之间的节点弧链接在一起。每个树林都有一个是子节点树根的节点;这节点是“树林根”,并且其是在树林中唯一没有起始的节点。节点型性质的剩余种类是自由引用节点,~个自由引用节点弧链接一个节点和同一个和其他树林的节点集。树林集也因此链接成为一个“超树林”。注451:超树林不应该与超文档混淆的,或者可由一个超文本的处理产生的超树林。任何由自由引用弧连接的都是一个超树林,而仅仅树林由超文档处理产生。A.4.1.5内容树至多一个节点的性质被指定为节点“内容性质”。节点的内容性质必须是一个子节点性质或一个字符串,或是字符性质。如果节点的内容性质是一个子节点性质,那么此性质仍然是节点的“孩子性质”。在表示节点的孩子性质的值中出现的节点,就称为节点的“孩子”,此节点本身称为孩子节点的“父亲”。如果节点有孩子而无父亲是“内容树的根节点”。其他节点通过孩子性质可由一个内容树根节点到达,形成的一个有序树称为“内容树”。注452:如果节点有一个父节点,那么此父节点也是这个节点的起始。注453:事实上树林能包含一个不相交内容树的集合,这也是为什么被称为一个树林的原因了。注454:树林的树寻址是通常基于内容树,而不是子节点数。那是因为子节点的树形排序法依赖于性质定义的顺序,而内容树形排序法依赖节点列表在性质值中的顺序——那是真正信息被树林所表示。因为这个原因,当涉及树林时,未修改的术语“树”的意思是“内容树”。如果节点的内容性质是一个字符或者字符串性质,此性质也就是众所周知的节点“数据性质”,节点数据是此数据性质的值。有孩子性质的一个节点的数据是它每个孩子节点的数据,这样的数据被节点的“数据分离器性质”的值分离,如果有这样一个。A.4.1.6树林规划应用对于任何给定的处理内容,一个树林规划被用作确定在内容中什么节点类型和什么性质是重要的。当构建一个树林时,此信息能被用作阻止资源浪费在不合理的数据占用过程。或者用作屏蔽一个已存在的树林,隐藏那些不关心的部分。注445:被用作确定树林规蛔的句法非常不同。例直¨.HyTime和DSSSL每个都定义了确定树林规划的方法(见7.1.4.1)。申请树林规划的作用是移动的,从被一个给定的树林构建过程借助给定的树林资源在理论上构建完整的树林来看,树林规划并不包括所有的类和性质事例。当类的事例(那是,一个节点)从一个树林上移开时:——节点将远离任何节点性质的节点所呈现的值。如果此性质是一个节点型性质(那不是一个列表性质),一个空值将会为此性质被展示;——如果节点有一个孩子性质,并且此节点从树林移开的原因仅是其本身的类被树林规划所排斥;·如果类指定以类的节点为根的内容树是从树林“剪除”,以节点的孩子性质集为值的每个节点是从树林移开;·如果类指定以类的节点为根的内容树不从树林中“剪除”,那么作为节点孩子性质的值存在的节点或者节点列表被插入到节点出现的子节点性质值中。——如果节点有孩子性质,由于某个原因被移开而不是其本身的类通过树林规划被排除,在孩子性质值的每个节点从树林被移除;——当节点值被无孩子的子节点性质表示时,每个节点将被移除;175 GB/T16965--2009/ISO/IEC10744:1997——当性质的实例(那是一个被赋值的节点)被从节点上移除;——性质名从“所有性质名称”的内在性质节点所呈现的值上移除;——如果性质是一个子节点性质,性质名称从“所有性质名称”的内在性质节点所呈现的值上移除;——如果此性质是这节点的孩子性质,那么节点的“孩子性质名”的内在性质所呈现的值将被空值代替;——如果此性质是节点的数据性质,那么节点的“数据性质名称”的内在性质所呈现的值将被一个空值代替;——如果此性质是节点的数据分离器性质,那么节点的“数据分离器性质名”的内在性质所呈现的值将被一个空值代替;——如果此性质是一个子节点性质,那么节点性质所呈现的值将从树林上移除;——如果此性质是一个非节点型性质,那么此性质将从相关节点的性质列表上移除。A.4.2性质集定义体系结构性质集正式地以一个遵照元素类型性质集定义的SGML元素表示。属性记法规范文档(nsd)是一个记法名称,其声明标识包含源数据记法规范的文档。其必须被基本性质集规范说明(那些用在构造原生树林);而不被辅助性质集说明(那些用在构造次生树林)。属性树林构造规范文档(gcsd)是一个记法名称,其本身的声明标识包含树林构造过程规范的文档。如果记法规范文档不包括一个树林构造过程规范,或者性质集定义不是为辅助性质集,那么记法名必须被说明(!一性质集定义一>(!elementpropset一性质集定义一条:A4.2一----0((descnote)*,(classdefnormdef)*,psmodule*)属性:clausnot,propset-一(!attlistpropset一性质集定义一条:A42-一nsd一记法规范文档一NAME一一Lextype:NOTATION--#IMPLIED一默认:辅助性质集一一约束:必须为基本性质集而被说明,不能为辅助性质集而不说明一gcsd一树林构造规范文档一NAME—Lextype;记法一#IMPLIED一默认:nsd-一一约束:必须为辅助性质集而被指定一)属性形式条记法(clsusnot)指定用作识别本条的记法。本条记法可能为整个性质集指定,为一个组件,或者为在一个组件中的一特定性质而被指定。在本标准定义的属性集使用由这子旬中定义的记法。本条被字符串识别,如下:——第一个字符是条数,第二个识别子条,第三个识别子子条,第四个识别子子子条,而零表示没有条结构的任何层次;——最后数字识别段落号。产品,注意事项和列表项目是作为分开段落计算的;——相关的数字码以“FIGn”的形式存在,这里⋯171’是数字编号;——任何超过9的数字被一个十六进制的字母代替;注456:这里没有超过15的数预备。176 GB/T16965--2009/ISO/IEC10744t1997——定义本标准的条的引用的形式是4xxx,这里XXX是十进制子句数并且Y是这段落数;——以本标准的附加物的形式存在的条的引用的前缀是“x”,这里“x”是附加物的字母。注457:这个格式是ISO/IEC13673:1994的6.3节中用到的父集,这个标准定义了GB/T14814--1993的组件如何在符合测试的范围内被标识,对定义条和附加物的规定没有在ISO/1EC13673中出现。(!一条记法一一>(!attlist..clausnot-一条记法~一条:A42一(propset,classdef,propdef,normdef)clausnot一条记法一NAME—Lextype:记法一#IMPLIED一默认:记法定义在A.4.2--)A.4.2.1共享构造性质集是由“性质集组件”组成的:类、特征、标准化规则(对于比较字符串性质值)、枚举值(的性质)。所以,一个性质集的定义由性质集组件定义组成。依据句法,每个性质集组件定义是一个元素;通过性质集组件类型的定义可以决定元素的类型。许多属性被超过~个性质集定义元素类型提供。这些属性与构建的命名有关,与用描述此组件的规范文档也有关。这里同样有两个描述性的元素类型,其被用在多类型组件的定义。A.4.2.1.1组件名它们也能以文档的方式在程序的内部为了内部的通信而使用,或者为了其他的目的使用,因为使用的差异,甚至每个组件定义可以达到三个名字属性:rcsnm属性引用具体句法(Rcs)名(rcsnm)指定一种命名形式,符合SGML相关具体句法。appnm属性应用名(appnm)指定一个名称的形式,其比引用具体句法名的限制要少,但是依然有能力约束作为名称的编程语言句法。例如,其应用程序名“处理指令”,当约束一个编程语言时,根据此语言可能会成为“ProcessingInstruction”,“processing-instruction”,或者“PROCESSINGINSTRUCTl0N”。fullnm属性全名({ullnm)指定一个未被限制的,在文档中适合使用的名称形式。为定义给定性质集组件元素类型,可以是rcsnm、appnm和fullnm中任意一个,或者三种命名形式都提供。在后面的两种情况中,多形式包含了单个名称空间,意味着同一个组件的多形式名能被识别,没有一个组件的名称能和同一类型的另外组件名相同。(!一组件名一)(!attlist一引用具体句法中的命名一条:A4211一(enumdef,normdef,propdef,psmodule)rcsrlm一引用具体句法一NAME一约束:在组件命名空间中唯一-.#REQUIRED(!attlist一一appnm_‘~应用程序名一一条:A42.11一(classdef,enumdef,normdef,propdef,psmodule)appnm一应用程序名一CDATA一约束:在组件命名空间中唯一#IMPLIED一默认:rcsnm-一)(!attllst—fullnm-一一全名一 GB/T16965--2009/ISO/IEC10744:1997~条:A42.11一(classdef,enumdef,normdef,propdef,psmodule)fullnm一全名一CDATA一约束:在组件命名空间中唯一#IMPLIED一默认:appnm--)A.4.2.1.2规范和条属性形式规范和条(spec)由与有规范文档的组件和那个文档中的条相关联的属性组成。条记法属性形式能被用作指定本条规范记法,如果其和一个性质集规范的整个条记法不同。属性规范文档(sd)是一个记法名,它的声明能标识包含性质集组件规范的文档。默认的规范文档是对主要性质集的记法规范文档,或者是为一个辅助性质集的树林构造规范文档。属性规范文档的条(clause)标识定义此组件的规范文档条。(!attlist(!一规范和条~)一规范和条~一条:A42.12-一(classdef,propdef,normdef)sd一规范文档~NAME—Lextype:记法一#IMPLIED一默认设定:主要性质集的记法规范文档;辅助性质集的树林构造规范文档~Clause一规范文档的条一CDATA一约束:被clausnot指定的记法一#IMPLIED~默认:如果是propdef,与classdef有相同的句;否则没有一A.4.2.1.3描述性元素元素类型描述(desc)描述了性质集组件。元素类型解释性注释(note)能被用作去补充描述。(!一描述性元素一)一性质集组件的描述~一条:A421.3~~解释注解一一条:A.4.213~一0(#PCDATA))A.4.2.1.4默认树林规划的成员属性默认树林规划的成员(de{auh)指出了在性质集中默认树林规划中组件是否被包括。(!attlist一默认值..(!一默认树林规划的成员~)一默认树林规划的成员一一条;A.4214~(psmodule,classdef,propdef)默认值一默认树林规划的成员一(defaultlndefault)ndefault)A.4.2.2模型性质集组件的集合可以作为性质集模型类型的孩子元素集合起来。那样其就可以从树林规划中作178叫=一 GB/T16965--2009/ISO/IEC10744:1997为一组被包括或排斥。出现在模型外的性质集组件是每一个树林规划都必需的}它们自动地包含可能不会被排除在任何树林规划之外。注458:标准化规则的使用不被树林规划影响,也不被是否在模型内或外部定义所影响。属性模型依赖(dependon)标识其组件必须包含在任何一个包含组件的模型,依赖模型的依存关系尽管不需要在模型依赖属性值中明确地被命名,但其同样被认为依赖于一个模型。依赖模型的依存关系尽管不需要在模型依赖属性值中明确的被命名,但其同样被认为依赖于一个模型。(!attlistclassdefID#REQUIREDconpropNAm#IMPLIEDprune(prune【nprune)~类定义一一条:A42.3一~Rcs的值一一~约束:组件命名空间的唯~一内容性质一一约束:节点类性质的RCS名这个类有子节点,字符性质,或字符申一~默认设定:无内容性质~一裁剪内容树~ GB/T16965--2009/ISO/IEC10744:1997~约束:如果内容性质被允许的类集保证是其父亲的内容性质的子集时,可以被裁剪~prunedsepprop一一数据隔离器性质~NAME~约束:类的字符或字符串性质的RCS名称一#IMPLIED~默认:none-一mayadd一-Mayad出-(mayaddImayntadd)mayntadd)A.4.2.4性质定义元素类型性质定义(propdeO定义了一个性质。属性的类名(cn)标识了性质的提供者。类名值一定是在相同模块里的类的RCS名,且此模块也依赖于其他外界的任何模块。如果性质定义在类定义的章里,那么要求类名被省略,这意味着性质在当类的性质定义出现时提供。在定义固有特征时会产生异常(查看A4.3),此时类名被规定成“#ALL”,“#ALL”是指性质提供给所有类的节点。在上下文中仅仅在标准中使用这个关键字,在一般性质组定义时不会使用这个关键字。属性性质值数据类型(datatype)为性质指定呈现的数据类型。如果数据类型是节点型的,节点关系(noderel)属性表示了节点性质值和性质拥有者之间的关心。而且属性允许类(ac)指定允许指定值得节点类。除非节点关系是urfnode。允许类的完全集一定要被指定。当仅仅希望涉及相同性质集节点,允许类可能要指定一个urefnode性质(尽管那些节点可能在其他的树林里边)。Urefnode性质定义不能指定允许类,允许类节点可能是派生自任意性质集合在任意树林里的任意类。当数据类型是nmndlist,属性允许的类名性质(acnmprop),必须为每个允许的类指定性质名,那是作为关于命名节点列表类节点的命名性质。如果数据类型的原型是字符串,那么属性串标准化规则(strnorm)标识着对性质的标准化规则的应用。属性校验类型(vrfytype)用于DSSSL转换语言,详细内容在DSSSL标准中描述。注461:如下是一些属性用法规则:一一指定在性质定义的“可选”鉴定类型,表明对性质表示信息所呈现的值,关于树林表示在起始形式中能被过程自动的管理,并能把树林转变成起始形式}——“派生”的验证类型在性质定义中,表明性质所呈现的值从树林中其他性质值中可推导出来。当性质集存在(when),如果性质定义元素包含一个类型元素,那么任何不满足条件的节点被元素内容指定将会为这性质展示一个空值。180《!elementpropdef~性质定义一一条:A424—0((descfnote)*,when?,enumdef*)属性:appnm,clausnot,default,fullnm,rcsnm,spec一(!attlistpropdefIDREF#IMPLIED一性质定义一一条:A424一~类名一一性质提供者一一约束:性质集中类的RCS名~一默认:包含类定义一一约束:如果过程定义出现在类定义之外必须被指定 GB/T16965--2009/ISO/1EC10744:1997datatype一属性值的数据类型一(nodenodelistnmndlistjenumcharstringstrlistIintegerintlistbooleanlcompnamecnmlist)#PaQUIREDnoderel一节点关系一(subnodeIirefnodeurefnode)#IMPLIED一默认:无节点一IDREFS#IMPLIEDacnmpropNAIIES#IMPLIEDNAME#IMPLIED一约束:如果数据类型是节点型的,则是必须的。一一允许的类~~约束:在性质集中定义的RCS类名~~默认:没有节点或如果noderel=urefnode,在任何性质集的任何类一一约束:如果数据类型是节点则是必须的,除非noderel=urefnode--~允许类名性质一一约束:一个RCS性质名称,用于各个被允许的类的,必须是各自类的所有的字符串性质或所有的节点性质一一默认:notnmndlist-一一约束:如果数据类型是nm=ndlist则是必须的,否则,可能不被指定一~字符串标准规则一~约束:定义在性质集的标准定义的RCS名字一一默认:none-一一约束:仅仅当数据类型是字符串或字符串列表是可能被指定vrfytype一校验类型一(derivedoptionalother)other(!element一当性质存在~.条:A424-一一对非空值被展现的条件先例一U(#PCDATA)’A.4.2.4.1枚举值定义元素类型枚举值定义(normdef)在内容中定义了一个被允许的性质值。性质的数据类型必须是枚举值。(!一枚举值定义一)(!elementenumdef一枚举值定义一一条:A4.24i一一0(desclnote)+一属性:appnm,fullnm,rcsnm-一)A.4.2.5标准化规则定义元素类型标准化规则定义(normedf)通过在规范文档中访问其本身,定义了字符串规范规则。(!~标准化规则定义一)(!elementnormdef一标准化规则定义一~条:A425一一0(descnote)o一属性:appnm,clausnot,fullnm,rcsnm,spec-一)A.4.3固有性质本条中定义的性质,像“固有性质”包含在每个性质集中。这固定性质定义在任何性质集定义中可能不显示地开始;然而,它们注定在每个性质集定义开始时按照在本条中的顺序出现。】8】 GB/T16965--2009/ISO/IEC10744:1997注意,因为在所有性质集中固有性质被默认地包含,其名称在所有类的性质名中出现。这意味着非固有性质名可以不复制那些固有组件。下列固有性质在所有树林中被所有节点展现:(desc>节点类的名称。(desc>节点在树林的根中出现。节点为了此性质所展示的值将会与他节点本身相关,如果节点是树林的根的话。(desc>所有子节点性质的名称的值被节点所表现,以性质值升序的方式表现。(note>性质值名被树林规则排除,同样也被他的性质值所排除。(desc:)所有的性质名的值被节点所表现,以性质数的升序方式表现。性质值名被树林规则排除,同样也被他的性质值所排除。(desc>节点孩子性质名。(when>节点有一个被树林规则包括的孩子性质。(desc:)节点的数据性质名。(when>节点有一个被树林规则包括的数据性质。节点的数据分离器性质名。(when>节点有一个被树林规则包括的数据分离器性质。(dasc->节点的父节点。此节点有一个父节点。(desc>节点在内容树的根中出现。(note>节点为了此性质所展示的值将会与节点本身相关,如果节点是一个内容树的根的话。(desc)节点的起始。(when>节点有一个起始。节点起始的子节点性质名,这值在包含此节点的地方出现。(When)此节点有一个起始。主树根性质被每个树林的每个节点所展现,尽管如果树林没有主树根,值可能为空。不同于上面定义的性质,主树根性质值依赖于树林构造过程;如果树林将要构建一个主树,那么这树林构造规范文档必须指定它是哪个的树林内容树。注462:树林可能包含一个或两个以上的内容树,也可没有主树,主树的出现必须被树林构造规范文档明确地规定。注463:在SGML树林中,主树根是文档元素。(desc)主要内容树的根节点。树林有主内容树。此源性质仅仅应用于次生树林;其不被原生树林的节点表现,并且其定义不注定被包含在主性质集定义中。注464:意味着在主要性质集中,“起始”不是一个被保留的性质名,也没有为其分配一个性质数。(propdefcn=”#ALL”rcsr*Ⅲ=sourcenodellsturefnode>只有当节点在次生树林中出现时,此性质才能被表示。A.4.4有用的树林构造过程本条定义了对应用程序一般使用的树林构造过程。A.4.4.1值一节点对(VTN)的树林结构树林的使用目的之一是表示定位信息的抽象。树林的每个节点代表一条信息;构造树林的性质集定义了各种可被定位的信息的类型。每个节点能够进一步分解成性质和性质值的列表。而列表性质值能够分解为要素成员。这些元素也能表示多条的需要被定位的信息。节点型性质值表示信息不存在任何问题;因为值是节点,其本身已经是有效的地址。然而,非节点型性质值不是作为独立的节点存在,因此存在的问题是其不能被直接定位。“值节点的树林构造过程”通过定义构造继承于性质值的树林这种方式解决了这一问题。构造的节点被看成是其源性质值对的地址。A.4.4.1.1值一节点对(VTN)的性质集vTN性质集的每个类都符合基本的非节点型数据类型。每个类都有一个数据类型为compname的“源性质”性质,此性质与固有的“源”性质结合之后用来标识特定VTN树林表示的性质值。每个类都有一个“值”性质。如果类名是一个简单数据类型,那么类的值性质数据类型是简单数据类型,但如果是“枚举”类,值性质是一个copname数据类型。如果类的名字是列表数据类型,那么类性质的数据类型是节点列表(具有“子节点”这种节点关系),性质的可取的类是符合简单数据类型的类,这些数据类型构成列表数据类型。字符、字符串和列表类的值性质也可以做为那些类的内容性质。vTN性质集是:(!一值节点对(VTN)性质集一)《!DOCTYPEpropsetPUBLIC”∞/T169652009//DTDPropertySet//EN”[(!NOTATIONVTNPUBLIC”∞/T16965--2009//NOTATIONValue_To-NodeGroveConstructionProcess//EN”】83 CB/T16965—2009/ISo/IEC10744:1997)])(claBsdefrcsAm2en吼fullnra=”enuⅢer北ion”)(propdefrCS/IIn2vahecompname>(desc>enmdef名遵循源性质的值。7classdefrcsllln=charfullnm2”character’‘conprop。value)7elas8defrcsrⅫl=stringconprop2value)(when)字符串不在字符串列表中。(propdefrC£tIllll2valuestring>(classdefrcsr血=lrtrllstfullnm=”stringllst”c唧rop=value>(when>整型不在整型列表中。(propdefrCSI恤=valueinteger>,classdefrcsnm=intlistfullnm=”integerlist’’conprop=value)(when>组件名不在组件列表中。Oregon(/state>(animal>riverotters</animal>arecute由第二步得到的字符串列表是(“Oregon”“riverotters⋯‘arecute”)。注:因为此例子是混合内容的,列表中的第二个字符串在状态State结束标记和Animal开始标记之间是空白。执行时,在处理过程的不同点上连接产生的结果如下(圆括号代表列表,方括号代表结果tokenstr节点):1)无连接:第四步结果:((“Oregon”)()(“river“otters”)(“are”“cute”))第六步结果:(“Oregon㈧river“otters⋯are“‘cute”)第八步字符串标记节点.[“Oregon”][“river”][“otters”][“are”][“cute”]2)连接源,分离字符为“x”:第三步结果:(“OregonXXriverottersXarecute”)第四步结果:(“OregonX”“Xriver”“ottersX⋯‘are⋯‘cute”)第六步结果:(“OregonX”“Xriver”“ottersX”“are⋯‘cute”)第八步tokenstr节点:[“OregonX”][“Xriver”][“ottersX”][“are”][“cute”]3)连接标记,分离字符为“x”:第四步结果:((“Oregon”)()(“river”“otters”)(“are”“cute”))第五步结果:((“Oregon”)()(“riverXotters”)(“areXcute”))第六步结果:(“Oregon”“riverXotters⋯‘areXcute”)第八步tokenstr节点:[“Oregon”][“riverXotters”][“areXcute”]4)连接结果,分离字符为⋯X’:第四步结果:((“0regon”)()(“river”“otters”)(“are”“cute”))第六步结果:(“Oregon”“river”“otters”“are”“cute”)第七步结果:(“Oregonx“verxottersxarexcute”)第八步tokenstr节点:[“Oreg。nx“verxottersxarexcute”]185 GB/T16965--2009/ISO/IEC10744:1997A.4.4.2.1数据分隔性质集datatok性质集是:(!一数据分割性质集一)(!D(XrfYPEpropsetPUBLIC”GB/T16965--2009//DTDPropertySet//EN”[(!姗I衄datatckPtmLIC”∞/T169652009//ⅧI∞DataqbkenizerGroveCnnstructionn∞cess//sN”)]>(propsetgcsd=datatok>Thegroverootresultingfromadatatokenizerprocess(deso>Anodelistoftokenstrings(classdefrcsnm=tokenstrap呻=”tckenizedstrin91conprop=string>(dese>Astringofoneormoret0】cens(propdefrcs珊=stringstring>A.4.4.2.2数字分隔记法形式数字分隔树林构造过程被声明为数字内容记法,从数据分隔记法形式衍生出来。用于数据分隔处理的词法模型可能是内在的过程(比如:用来进行自然语言的词法分析的过程),或是作为记法中的数据单独指定,而该记法的定义包含在数字分隔处理本身的定义之中。词法模型被指定为符合数据特征记法的元素的内容。注465:常用结构的小型元素数据属性的NotName属性可用于映射记法内容到元素属性(见A.5.3)。属性连接源(catsrc)指明通过使用指定分离器字符串执行的起始连接。属性连接标记(cattoken)指明通过使用指定分离器字符串执行的连接标记。属性连接结果(catres)指明通过使用指定分离器字符串执行的连接结果。属性碰撞边界约束(boundary)指定匹配域中满足模型的边界约束,如下:sodeod碰撞必须是从开始到结束域上的。sodiec碰撞必须是开始于起始域,但不一定扩展到结束域。isceod碰撞必须结束在结束域,但不一定开始于起始域。isciec碰撞能够发生在匹配域的任何地方。inmodel边界要求在模型里边表示。注466:边界约束符合⋯(脱字记法)和“$”(美元记法)等POSIX中的正则表达式操作。例如:“sodeod”符合以脱字记法开始美元记法结束的正则表达式。属性最大记号大小(maxtoksz)规定能满足单个匹配记号组的最大字符数。如果试图进行匹配的匹配记号组在maxtoksz范围内匹配不成功,将会产生一个差错。(!一数据表征树林结构处理一)])(propsetnsd=plaintxt>7classdefrcsnm=documentfullnm2”plaintextdocument”conprop2text>(?ISl0744ArcBaseHyrime)(!NOTATIONHyTimePUBLIC”GB/T16965--2009//NOTATIONAFDRARCBASEHypermedia/Time-basedstructuringLanguage(nyTime)//EN”>(!ATZLIST#NOTATIONE坶TimeArcFormANAME#FIXEDHyTimeArcNamrANAME#FIXEDHyNamesArcDocFNAME#FIXEDHyDocArcDTD(DATA#FIXED”HyTime”ArcBridFNAME#FIXEDHyBridArcAutoNAME#FIXEDArcAutoArcOptSACDATA#FIXED”locs”ICCSCDATA#FIXED”nmsploc”)(!ELEMENTurefloc一非受限引用节点定位地址一(#PCDATA)一约束:当CGR文档不作为hypergroveCGR过程的一部分生成时,urefloc内容为”UNANOWN”(!ATILISTureflocidIDH/TimeNAMEnamespcNAMElocsrcENTITYnotnameNAl皿(!ELEMENTnode(nodeprop+)#耽QUIRED#FIXEDnmsploc#FIXEDelements#REQUIRED#FIXEDignore)一树林中的节点一)(!ATrLISTnodeid一节点唯一的ID值一ID#REQUIREDclass一此节点的RCSNM类名NAME#REOUIRED GB/T16965--2009/1SO/1EC10744:1997)(!ATTLTSTnodeproprcsnm~性质的RCS名一NAME#REQUIREDdatatype~数据类型的RCSNM—NAME#REQuIREDnoderel~从性质中节点到显示性质中节点的关系一(sub∞deIurefnodeIirefnodeIprimitive)#REQUIREDisnull~性质为空一(isnull)#IMPLIED~默认值:性质不为空~)(!ELEMENTslsep一.字符串列表分隔符一0EMPTY~数据内容中用以转义分隔符置标的实体一>ENTITYit”(”一左尖括号一)ENTITYgt”<”一右尖括号一)ENTITYapos””1-.单引号(LITA)一)ENTITYamp”&”一与记法一)A.4.5.2构造CGR源的约束CGR文档必须符合下面一些关于CGR源的约束:——空格是不允许出现的(除非按这些规则或SGML的要求明确指出的);——只能用一个“SPACE”字符用来分离那些需要分离的参数;——所有的关键字指定为大写(只有元素内容和CDATA属性值可以为大小写混合);——DocTYPE声明依赖但并不包含开放子集声明(如果有的话),以下面的形式用单行说明:(!D【)c唧证淝PUBLIC”SB/T16965--2009[[DTDCanonicalGroveRepresentation//EN”置标声明的结束由其用单行指定;——如果有子集声明(包括其它CGR文档的实体声明),那么该子集的开始和结束声明符都各自由其自身用多行指定。每个实体声明由其用单行来说明(引用A.4.5.3);——起始标签以下面的形式用多行确定:·STAG0和GI用单行说明;·每个属性都由其自己用单行说明。这些属性都按照其在CGR文档类型属性列表声明中的顺序被说明。不变的属性不需要指定;·TAGC本身在一行内描述。——对结束标签而言,ETAGO和Gl都用单行说明。TAGC由其用一行说明;——除了外部子集声明(前面描述的公共标识符中经常提到)之外,任何树林文档都必须包含一个且仅一个实体(文档实体)。起始性质值由节点元素的字符数据内容表示。起始数据类型由下面的字符串表示:enum枚举值的RCS名(大写)。String字符数据内容就是性质值(也有些例外:字符“(”(左尖括号)、“)”(右189 GB/T16965--2009/ISO/IEC10744:1997尖号)、“”(单引号)和“&”(与记法)分别被通用的实体⋯it、“gt”、“apos”和“amp”取代)。这些实体在CGR文档类型中声明。stringlist一串值的序列,每个值(除最后一个外)后面都跟着一个slsep开始标签。integerbase10整数值的字符形式的描述。componentname组件的RCS名(大写)。Integerlist空格分隔的整数序列。componentnamelist空格分隔的组件名序列。不带值的性质表示isnull性质显示为“ISNULL”(因为该性质的有关款项未得到满足)。节点的IDs根据下条中定义的规则来产生。A.4.S.3给节点分配IDs的运算法则在CGR文档中iref和uref关系类型由SGMI。ID引用表示。节点的IDs磐须按照下面规则产生:~一计数器初始化为0;一一对每个节点元素,计数器的字符串值(base10)加前缀“X”后生成其ID。计数器加1;——对每个uref节点到其节点的弧来说,生成该节点的ID作为内部节点。并且由该ID产生相应的urefloe元素。Urefloc元素按照根节点的生成顺序列表(这样,可以按顺序引用其所表示的节点)。当独立产生CGR文档的时候,不能在其他CGR文档中获得节点的ID用于urefloc元素的内容。为包含那些节点的CGR文档生成实体名也是不可能的。但是,当CGR文档随着权威的代表完全的超树林的树林一起产生的时候,urefloe元素的内容一定是指派给那些节点的ID。并且,每个非受限引用的不同树林都要声明实体。这些实体按下面的要求声明:——计数器初始化为0;~对每个非受限引用的不同树林,按照第一次引用的顺序,计数器的字符串值(base10)加前缀“CGR”后生成实体名。计数器累加1;~一对每个产生的实体名,按照其产生的顺序,以下面韵形式创建实体声明。(!ENTITY础PUBLIC”一//删PE秘0GR//D()c【M唧臆me//E旷CDATA,tibiae)——两个“name”出现的地方用生成的实体名替代。注468:没必要也不需要任何操作来协调在不同树林文档中生成的公共的标识符。这样,相同的树林文档也许会被与之关联的不同树林的不同公共标识符所引用。每实体声明必须以单行包含于内部的DOCTYPE子集声明中,并用单行表示声明的结束(像1.回显示的那样)。注469:产生规范超树的系统决定了刨建将树林文档产生的公共标识符与树林之间关联的映射目录。A.4.8符合性文档或系统可以依照此附录的要求(而不符合标准的其他要求)来支持性质集和树林的使用。符合这些性质集定义需求的系统应该通过下面性质集定义文档(性质集定义文档应该作为系统使用说明的一部分)中的说明:执行中必须符合标准GB/T16965性质集定义要求。A.5通用体系结构通用体系结构为所有SGMI,标准体系机构提供了大量元素、属性和记法形式的可能的用法。通用的体系结构引擎(相对于一般的体系结构引擎)创建一个能够完全反映原文档的语义树林,并对其添加通用体系结构设施中指定的节点与性质,这种树林使用了SGML标准的性质集,该性质集包括通用体190 GB/T16965--2009/IS0/IEC10744:1997系结构所需要的类和性质的定义。通用体系结构可以用作从属文档或者原结构的基础结构。注470:例如,HyTime起始自通用体系结构,并且包括所有通用体系结构设施A.5.1通用体系结构声明模板通用体系结构支持的通用形式声明如下:(!一通用体系结构支持声明一)(!一声明DTD或者被引用meta-DTD的模板一)(!NotationGenArc~通用体系结构一一符合标准∞/T16965--2009中体系结构形式定义要求的基本的体系结构一PUBLIC”UB/T169652009//NOTATIONAFDRARCBASEGeneralArchitecture//EN”>(!Attlist#NOTATIONGenArc一通用体系结构~ArcFormANAMEGAFormArcNamrANAMEC妯/nesArcSuprANAMEGASuprArcIgnDANAMEGAIgnDArcDocFNAMEGADocArcDTDCDATA”GenArc”一NAMELEN的长度必须至少是9,因为通用体系结构meta-DTD所用参数实体的名称长为8-一ArcQuantCDATA#FIXED”NAMELEN9“ArcDataFNAMEGABridNArcBridFNAMEGABridArcAuto(ArcAutolnArcAuto)ArcAutoArcOptSANAMES#FI)azD”commattsdcnatts”commatts一公共元素属性选项一CDATA一一Lextype:csname+一一一约束:列出meta-DTD中设置到INCLUDE”中的参数实体一”daledvlistireftypeHyLexNyOrdlextypeopacityⅫG日,dcnatts一公共数据属性选项一CDATA—Lextype类型lcsname+一一约束:列出meta-fffD中设置到“INCLUDE"中的参数实体一”altrepsincludedsuperdcn”irefmodl一”ireftype”的sGlⅡ.模块组一一条:A5.5一(SGMIadlnS觚adl)nS口虹皿d1)(!NOTATIONAFDRMetaPUBLIC”GB/T16965--2009//NOTATIONAFDRMeta-DTDNotation//EN”)《!EntityGellArc一通用体系结构meta-DTI)_一PUBLIC”GB/Ti6965--2009//NOTATIONAFDRMeta-DTDGeneralArchitecture//EN”CDATAAFDRMeta>A.5.2元素的公共属性公共属性由属性形式id、etfullnm和opacity组成,它们分别标识了一个元素、元素的全名及在上下文中元素对于元素的双亲元素来说是不是“不可见的”。元素的唯一标识符(id)为元素在其所出现的文档内部指定一个唯一的名字。注471:因此,在通用体系结构有效时,所有指定“ID”值的属性必须命名为“id”或者用通用体系结构中重命名属性(GANames)重新映射为“ld"。该要求通常由应用关联到体系结构所遵循的规则自动得以满足(见A36.4)。191 GB/T16965--2009/ISO/IEC10744:1997属性元素类型全名(etfullnm)指定了适用于文档编制中的无限定形式名。注472:该属性使名称可运用于程序。属性不透明性(opacity)表示元索关于它的内容是透明的还是不透明的。透明的元素是指内容(如果有的话)在元素出现的上下文中一定是有效的元素,不论是在DTD中还是在meta—DTD中。不透明的元素指通常以其基于内容模型的确认作为规范的元素。注473:元素和及其子元素在不改变它相关内容模式有效性状态的情况下,一定要满足元索双亲的现行模式组要求。换言之,就像元素本身不存在一样,内容将基于父元素的内容模型验证。(!~唯一标识符一)(!一不透明性一)A.5.3数据属性元素(DAFE)在SGML中,元素可以指明数据的内容记法,使得“NOTATION”的值命令通过属性一定要和其内容一致起来。记法可以声明数据属性,而这些属性又通过数据实例展示于那些记法中。然而,因为数据元素有其自身的属性名字空间,元素与某一具体记法一致时需要一种指明元素数据属性的方法,而SGML不提供这种方法。这限制了元素记法的使用。通用体系结构的数据属性元素(DAFE)设置解决了这个问题,它提供了一种将元素属性解释为具有相关记法的元素的数据属性的方式。通过使用这一设置,元素的属性可以从其数据内容记法的数据属性获取,另外还可从于基本体系结构获取。使用DAFE设置时,具有数据内容记法的元素就能被正常处理了,附加条件为:任何与记法的数据属性同名的元素属性都认作是数据属性。其值必须既满足数据属性定义的声明值又得满足元素属性定义的声明值。注474:可见,记法和体系结构形式用法非常类似。然而,记法并不是“体系结构形式”,它们是从属文档中的记法,数据属性元素这个设置的应用反映在通用体系结构的强化SGML文档树林中,而不是个别的体系结构树林中。特别地,强化版的SGML文档树林中的元素节点除了展示“属性”这性质外还展示“数据属性”这个性质(见A7SGML性质集)。】92 GB/T16965--2009/ISO/IEC10744:199≯A.5.3.1数据控制属性此处的属性“NotNames”和“NotSupr”分别类似于ArcNames属性(见A.3.5.2)和ArcSupr属性(见A.3.5.3)。NotNames属性把体系结构记法名映射到替代从属属性名或者元素内容中。当替代名是“#DE—FAULT”时,体系结构属性被映射到它的体系结构默认值,而不能被从属元素指定。利用NotNames,通过指定数据属性名为”#NOTCONT”并对属性值出现的属性命名,可以将和某一记法一致的句法数据内容作为属性值插入。如果“#NOTCONT”被命名为另一属性的替代名,必须采取这种方式。如果“#NOTCONT”未被命名为替代名,元素的内容则不受记法控制。一个替代名后可以跟一个或者多个由#MAPTOKEN后跟两个名字记号所组成的记号三元组。它们为出现在属性值中的体系结构定义记号指定了用户替代。如果从属文档中为该属性指定的值中的一个记号与第二个记号相等,那么它将被第一个记号代替。如果#MAPTOKEN是为一体系结构定义的属性而指定的,且该属性的声明值是CDATA,那么在记号被替代之前属性值应被做上记号。属性元素抑制器的数据属性(NotSupr)抑制元素记法属性的特定记法处理。“sNotAll”值抑制元素和其后代元素的所有记法的特定记法处理。“sNotFrom”值除了抑制元素和其后代元素的特定处理外,还要抑制它自身的NotSupr属性处理。“sNotNone”值用以终止抑制特定记法处理。如果由于NotSupr出现于某祖先元素而使一个元素的特定记法处理受到抑制,那么该元素只能获得常规SGML的处理。其元素属性也将不视为数据属性。(![%ireftype;[(!attlist~ireftype--一ID直接引用元素类型一一条:A5.5~#ALLizeftype—ID直接引用元素类型一CDATA~Lextype;((“#Au”,(GTl模型群f“#ANY”))?,(AT∞RooN,(GIl模型群l“#An”))*)一一约束:一个给定的ATTNAI忸或者#c。N删只能出现一次;类型应用于地址直接目标。一约束:如果不支持irefmode选项模型群就限于可重复或者非可重复的0R群,模型群中的记法必须是G18_一”#ALL#ANY”~常量一>]])(!一直接引用元素类型~)A.5.6默认值列表“默认值列表”是一个设施,通过它应用设计人员就可以以一种反映文档基本框架的方式来控制属性值的分配。A.5。6.1默认值列表属性属性形式dvlatt允许默认属性值和元素联系起来。属性子元素默认值列表(subdvl)指定默认值impliable属性将适用于该属性所指属性的元素的子】94 GB/T16965--2009/ISO/IEC10744:1997元素,属性是递归的(换言之,默认属性可以传给它的子默认值表),属性值是默认表元素的IDs表。属性兄弟默认值列表(sibdvl)指定默认值impliable属性将适用于为其指定属性的元素的更下层兄弟的文档实例中,属性是递归的(换言之,默认属性可以传给它的子默认值表),属性值是默认表元素的IDs表。属性自我默认值列表(selfdvl)指定默认值impliable属性将适用于为其指定属性的元素的文档实例中,属性值是默认表元素的IDs表。注477:同一个默认值表可以把它命名为元素默认值表、其子元素默认值表和其兄弟默认值表来分别说明自身元素、其子元素或者其兄弟元素。在元素结构中随后指定的默认值忽略以前的值,明确地说,subdvl将忽略其祖先的subdvl。一个sibdvl将忽略subdvl,同时也忽略更老的兄弟的sibdvl。注478:换句话说,在指定sibdvl更老的兄弟元素的末端,sibdvl作为它父母的subdvl被有效地处理。即没有把sib—dvl堆积到另一个上,或者堆积到它父母的subdvl上(若有);父母subdvl被在它起作用的点的最近的sibdvl替换。另外,如果在默认值表定义的默认值被定义作为默认设置属性,那么默认值将被重新设置为由默认值表控制类型的最近元素指定的值(子元素默认值表的祖先,默认值表的兄弟)。(!一记法派生起始一>A.5.8符合性文档、应用程序和系统都要和本附录相一致。A.5.8.1符合的通用体系结构文档如果一个通用体系结组件依从本附录的所有条款,并且正如GB/T14814--1993中定义的符合的SGML文档,则它就是一个符合的通用体系结构。A.5.8.1.1最小化通用体系结构文档符合性通用体系结构最小化通用体系结构的声明如下所述:(’ISl0744FSIDRSMBame-listFSIDefDoc=”external-id”)A.6.4.3FSI句法正式系统标识符由一个或更多存储对象规范(一个“SOS序列”)序列组成。把派生自每个SOS的解析的字符按序列的顺序连接起来,并且字符包括字符实体。参引具体句法用来识别FSI中SOS,不论在SGML文档内部还是在SGML文档外部。SOS开始标记通过直接跟存储管理器名(见A.6.4.2)的开始标记开放符来识别,存储管理器名既可以跟SGML⋯S’分离器也可以跟结束标记符。注503:在SOS的属性值文字和内容(SOIs)中SGML数字字符参数可被识别。它们可以用于避免差错记法识别。在SOI中处理记录的开始和记录的结尾,正如在SGML的句法内容中处理的一样。注504:在实践上,这个规则意味着从SOI中删除记录的开始,并且一个记录结尾在SOS开始标记或在SOl的结尾之后也被删除。当支持选择性SOS序列(altsos)选项时,不止一个SOS序列被垂直栏分开。在垂直栏前要求使用结束标记,来明确垂直栏是否是SOI的一部分。希望所有SOS序列都能产生相同字符序列。系统可以自由地选择最方便的序列。当声明实体用法(entuse)SM时(见A.6.6),FSl可以随意地以entuse开始标记开始,这可以用于指定适用于所有实体的属性。entuse开始标记不作为任何选择性SOS序列的部分;它可以独立地应用于选定的选项。开始标记entuse没有对应的结束标记。entuse记法不是存储管理器;它仅用于声明和指定属性。注505:FSI的结构框架如下:Ds]fsi=entusestart-tag?,Sossequence’(or,SOSsequence)*,注506:[36]SOSsequence5SOS+注507:DT]SOS=SOSstart-tag,soi,(sosend-tagl(etago,rage))?A.6.5存储管理器属性定义存储对象规范的设计师能随意地把属性定义列表声明和用于指定声明存储管理器处理器的记法声明联系在一起。除指定存储对象标识符外,属性还用于指定存储访阊的参数。在这些FSIDR要求中定义了规范化存储管理器属性的启动器集。注508:一些存储管理器也许会包括在它的SOI句法中一个或更多这样的属性所表现出的信息,在这种情况下不应该为那个SM定义属性。注509:对于所有SGML记法,声明可以像参数一样传送给记法处理器“数据属性”是有可能的。然而,对于辅助处理记法,仅可以指定属性的默认值;没有办法指定记法个别用法的属性。所以,如果特殊辅助过程需要参数的可选性集,应该为每个集合声明~个不同的记法,但要具有相同的外部识别符。然后几个名字将调用相同辅助过程,但要用不同的参数集。A.6.5.1相关记录属性属性形式记录处理属性(records)包括控制如何以记录或行的形式来解释实体数据的属性。属性记录边界指示器(records)识别用于解释SGML实体记录边界的字符集或字符。关键词“ASIS”意味着不用企图去解释记录组成的输入。使用这个关键词一是因为读取实体主体是以快的形式而不是字符(如数据实体)的形式,再是因为存储对象已经包含了具体句法所需要的记录边界字符。如果知道使用的四个线终端协定(“I。F”、“CR”、“CRl。F”和“LFCR”)之一的话,就可以直接指定它。203 GB/T16965--2009/ISO/IEC10744:1997否则,可以指定“FIND”,并且可以在存储对象(若有)中找到四个中的第一个协定,它可以作为其他存储对象(除非系统使用RMs)记录边界指示器来处理。如果什么都没有找到,这就相当于指定了“ASIS”。关键词“RMS”代表“记录管理系统”,存储管理器是通过字符序列之外的手段(典型地,它知道每个记录的长度)来识别记录边界的。当存储对象中的记录被识别时,在每个记录的开头插入一个记录起始标记,在每个记录的末端插入一个记录结束标记。如果在实体的末端有一个部分记录(一个没有线终端的记录)那么在它之前插入一个开始标记,但是在它之后不插入记录结束标记。注510:如果需要的话,文字SM可以用于插人落后的记录结束标记。属性记录跟踪(tracking)指定实体管理器是否在消息中必须包括记录数信息。注511:特别是在大型存储对象中,有些操作能通过不跟踪记录来改进性能。(!NOTATIONfixed-3P【mLIc”G8/T169652009//NOTATIONFSIDRBCTFFIXED-3BOTFAlgorithm//EN”)(!NOTATIoNfixed-4PUBLIC’诬一垤16965--2009f/NOTATIONFSIDRBCTFFIXED-4BOTFAlgorithm//EN”>A.6.5.3公共存储管理器属性属性形式公共存储管理器属性(smcommon)包括控制公共存储对象访问及SOS解释的属性。207 GB/T16965--2009/ISOIIEC10744:1997属性占用范围(extents)是指定实体占领的存储对象的范围的标记列表记法dimlist。如果实体被分隔和分布到存储对象内的几个区域内,就指定多维规范。注513:例如,这项技术用于插入目前访问的实体的主体。属性zap文件尾(zapeof)指定存储对象的拖尾八字节序列在描述文档尾时是否应该从实体中排除。注514:这是不同于范围属性的功能,因为使用zapeof用户不必知道一个特殊存储对象的拖尾八字节事实上是否是文档尾控制(例如,在DOS中的控制Z八字节)。通常应该为DOS指定Zapeof(这是标准C程序库关于文档的行为)。属性存储管理器字符参引记法(smerd)是在存储管理器固有字符集(固有字符集也许不同于出现FSI文档的字符集)中给一个字符划定参数的单字符。smcrd仅能在SOI或属性值中被识别和只有跟随十进制数时才能被识别。smerd字符带有十进锫散和一个任意分号一起,被带有的在存储管理器的固有字符集中指定的数字字符代替。属性压缩信息(compress)可以用于指定压缩或解压过程,被声明为记法。属性加密信息(enerypt)可以被用于指定加密或解密过程,被声明为记法。注515:包括这样的信息也许被认为是不安全的,甚至表明存储对象是加密的。属性完整性信息(seal)可以用于识别核实过程,被声明为记法。属性注册值是由启动器集、md5和用于在互联网文档传输的封印的标准格式提供的。属性sOI的相关基础(SOIbase)允许指定一个可择性相关基础。它的值必须是指定存储对象的SM的SOl。SOIbase可以为允许相关SOI的所有存储管理器声明。注516:使用SOIbase属性可能不等效于加在前面串与做搜寻的存储管理器的SOI。例如,带FSI的。foosgm(/osfile>注517:一个存储管理器可以首先查找文档实体或foo.sgm,如果不存在,然后查找entities/foo.sgm,在:注518:也许首先查找文档实体或foo.sgm,但是然后是查找文档pubtext/entities/foosgm。ctrl.dat”NDATAsbento)(!ENTITYdocSYSTEM”/entusemodlevel=’33,、(sbentoin=ctrl)5000”NDATARTF)(!ENTITYfigSYSTEM“(entusemodlevel=’11’)7sbentoin=errlafter=doe>2500”NDATAC铡)(!ENTZTYpicsystem”(entusemodlevel;’22’)7sbentoin=ctrlafter=fig>2000“NDATAJPG)ctrlsbento容器实体的entuse标记表明确认容器的修改级1是正确(第二个数字与第一匹配)。doc实体的记法参数表明它是多文档格式(RTF)。sbento标记指明实体存放在ctrl.dat的前5000个八字节中。entuse标记表示实体的修改级是3,并且第二个⋯3表明实体从它前一次修改开始生效。类似地,fig和theandpic实体的entuse标记分别指出第一和第二个版本开始生效。属性机器依赖字信息(machword)指定实体内码的特殊机器的属性。那些属性包括“byte”的位数、用于内码的“word”大小和“word”中“bytes”的变换。词大小可能是2、4、8,或者更多“bytes”(一般分别指半字、字和双字)。这个属性所应用的实体,它的记法虽然逻辑上是便携的,但作为字序列进行编码,而字以特殊机器的方式存储的。它允许实体管理器把每个字转换成处理实体的机器需要的形式。注520:在某些情况下,实体的这些或其他属性,包括压缩技术、一些编码方面和一些交叉形式,可以固定地约束到它的记法或者它的存储管理器中。也许作为属性来指定这些性质是没用的,甚至是不可能的。(!~实体用法属性一)(!~这是一个非强制性的启动器集一)(!NOTATIONentuse一实体用法开始标记~209 GB/T16965--2009/ISO/IEC10744:1997一条:A66一PUBLIC”∞/T169652009//NOTATIONFSIDRSYNTAXEntityUsageStart-tag//EN”)(!ATTLIST#NOTATIONentuse一实体用法开始标记~一条:A66--included~记法数据包含的实体一CDATA--Lextype:ENTITY*一-#IMPLIED一默认:无包含一modlevel一修改级一Ⅲ删丑ERS#IMPLIEDmachword觚ⅢB瓯s”812”~第一:初值为0,修改时增加;第二。应用程序使其生效时设置为第一--LextypeI(WOMBED、NUMPER)-一一默认:无跟踪一一机器依赖字信息一一AKA~ig.endian"或者”little-endian"--~约束:字节类型的大小和字的大小,表示为标准2、4、8字节的转换形式,MSB是最左边的和有限的“1,,_一~规则化的;“812”、“81234”、“812345678”例如:Intel=“621”、“82143”、“821436587"-.一Lextype±(N【m∞,W0ⅫZa)一)A.6.7存储管理嚣记法形式存储管理器是管理实物理对象存储的程序(或程序组合或部分程序)。它与处理从实存储器到称作实体的虚位存储对象映射的实体管理器一起运作,并且作为SGML分析器和存储管理器之间的一个接口。在FSI声明中指定的每个存储管理器名(SMName)必须声明为FSI定义文档里记法声明中的记法名。声明指出存储管理器规范,存储对象规范定义了存储管理器的句法和语义。与记法声明相关联的可以是“存储管理器属性”的属性定义列表声明。注521:如果fsidd不可访问,也不一定是差错。因为程序执行也许不要求访问fsidd。声明的根本目的是警告使用存储管理器的人和声明其要求的所有属性。这种信息通常建立在相关的软件中。除本体系结构定义的基本记法形式外,存储管理器记法声明使用正式公用识别符获得这样的认可,在正式公用识别符中两个大写保留字出现在公用文字描述组件的开始。字是互相分离的并且由一个单SPACE从公用文字描述(在正常化以后)中分开。第一个字是“FSISM”和第二字是LOCAL、PORTA—BLE、GLOBAL或者CONTAINER四个存储管理器轻便类名之一(这些是在以下子条中定义的)。规范化的存储管理器声明和属性的启动器集在下面进行定义。它们的用途是可选的,不要求其符合FSIDR要求。此外,若用到,可以由A.6.5的任何属性来定义它们的属性定义列表或者其他非标准的属性。然而,不应给非标准的存储管理器、属性或者注册属性值命名与标准化的存储管理器、属性或者注册属性值相同的名称。规范化属性的给定默认值(像那些体系结构形式属性)只有当属性不是为存储管理器定义时才起作用。fsidd可指定所有有效默认值,或者使属性是所需的。注522:在启动器集存储管理器记法的声明中,属性FS]Base表明基本记法形式是从定义记法形式的附录中获得的。例如,存储管理器“OSFile”是从局部存储管理器(10calsm)记法形式中获得的,由它的FSlBase属性的“localsm”值指出。A.6.7.1局部存储管理器记法形式记法形式局部存储管理器理(10calsm)是用于一个特殊系统局部的存储管理器。当出现局部存储管理器sOs的FSI(和它认别的存储对象)移到其他系统时,通常需要转换局部存储器管理器的SOS。对于一些SMs和操作系统,如果起始系统目录结构被复制到接收系统,需要的转换可能是纯粹句法的,甚至是不存在的。210 (!notationlocalsl《!一局部存储管理器一)一局部存储管理器一-一条:A67l—GB/T16965--2009/ISO/IEC10744:1997PUBLIC。’GS/T169652009//NOTATIONFSISMLocalStorageManager//EN”一属性:smcommon-一)A.6.7.2启动器集局部存储管理器启动器集局部存储管理器:osfileSOI是一个绝对或相对的文档标识符(即可能包括驱动、路径、文档名、扩展名等)以局部操作系统的文档开放函数认可的形式。osfdSOI是一种数据。存储对象规范定位操作系统读取带有那种数据的文档描述符时创建的存储对。例如,在Unix系统和DOS系统中,fd:0将从标准输入中读取存储对象。osfilesOs(即sOI)的内容遵照局部操作系统的规则。那些规则允许sOI相关联的地方(即一个操作系统的相关文档名)当指定的和当前存储管理器相同时,它通常被解释为相对当前存储对象。(!一局部存储管理器一)(!一部分非强制性的启动器集一)osfile操作系统文档一条:A.67.2~PUBLIC”GB/T169652009//NOTATIONFSISMLOCALOperatingSystemFile//EN”一属性:osfile,smcommon-一) GB/T16965--200911S011EC10744:1997A.6.7.3.1URL便携式存储管理器便携式存储管理器“URL”用于其统一资源定位器符合互联网RFC1738的SOSs。(!一便携式存储管理器~):entities:elgg”osfileonaUni】【systementities/e1.sg“urlF00.SGM”。注525:不是所有中性SOI将对于给定SM格式都是可转换的。中性SO[是很可能是可转换的,当指定折叠,并且它的每一个组件都是一个包含字母数字的文档名时,或者一个文档名和字母数字的扩展名被句点分开,并且文档名的长度被限制到八个字符,扩展名被限制到三个字符。(!一中性文档标识符~)(!~部分非强制性的启动器集一)A.6.7.3.4记法处理器存储管理器启动器集记法存储管理器是:mimetypesOI是MIME类和随意带参数的子类,指定它们在为互联网邮件消息的标题中的Content—Type主体领域中。‘!一MIME类记法处理器存储管理器一)(!~部分非强制性的启动器集.一)(!attlist#NOTATIONmimetype--MIMEcontent类~一条:A6743一FSIBaseNAME#FIXEDdcnsm)A.6.7.4全局性存储管理器记法形式记法形式全局性存储管理器(globalsm)所用的存储管理器的SOSs是不用修改的,因为它们独立于所有实际存储环境。(!notation—PosixTape文档一一条:A671一一通过划分存储对象创建容器来效仿文档系统目录结构,S01是一个文档标识符。215 GB/T16965--2009/ISO/IEC10744:1997PUBLIC”Iso/iEc9945—1:1990//NOTATIONFSISMCONTAINERPosixTapeArchive//EN”一属性:tar,im一一公共属性:smcommon-一)(!attlist#NOTATIONtar~PosixTape文档一一条:A67.7.1~FSIBaseNAME#FIXEDcontnrsm)(!notationMIME—MINE存储管理器一一条:A671一一通过用独特的边界字符串分离被存放的实体、用标题识别或者用内容传递编码等方式创建容器。SOI是multi-part消息的MIME内容ID并且是single-partmessage的空值。一PUBLIC”-//IETF/RFCl521//NOTATIONFSISMCONTAINERMultimediaInternetMailExtensions//EN”一属性:MIME,ir卜一~公共属性:smcommon-一)(!attlist#NOTATIONMIME~MIME存储管理器一一条:A67.7.1一FSIBaseNAME#FIXEDcontnrsm>A.6.7.6.2标准BENTo(sbento)Sbento是一种具有某种性质的容器存储管理器,这种性质是容器不运用其包含实体的名称来存放实体。使用指定包含实体占用的容器范围的维规范列表,sOI根据实体的位置和大小在容器实体中单独地为其定位。如果把包含实体在容器之内进行分隔和分布就指定多维规范。维规范列表的记法是HyTime标记名单记法(marklist))(见6.8)。‘注532:名称“sbento”来自日本单词“bento”:“带有多隔间的箱子或篮子,包含用一种审美方式安排的不同实体的集合”。Sbento是“StandardBentoEntityforNaturalTransportofObjects”的一首字母缩略词。注533:Sbento不禁止重叠包含对象;它是为应用确定重叠是否是有效的。重叠可以成为一项有用的技术,例如,用于识别图表实体的颜色表。颜色表可以作为一个单独的实体来声明,但是它的垂距和大小将决定在存储内图表实体占据的位置。注534:在以下例子中,sbento容器实体“ctrl”存放在局部操作系统文档“ctrl.dat”中。实体“doe”占据“ctrl”的前5000个字符,而实体⋯fig占据接下来2500个字符。(!ENTITYctrlSYSTEM”ctrldat”NDATAsbento)‘!ENTITYdecSYSTEM”(sbentoin=ctrl>15000”)(!ENTITYfigSYSTEM”ctrldat”NDATAsbento>(!ENTITYdocSYSTEM”(sbentoin=ctrl>5000”)(!ENTITYfig216 GB/T16965--2009/ISO/IEC10744:1997SYSTEM”7sbentoin=ctrlafter=doc>2500”、当sbento容器是声明sbento容器的文档实体时,公共属性范围用于指定sbento容器实体组成实体sbento容器数据的文档实体的实存储八字节(见A.6.5.3)。通常,第二个标记指定为“一1”,表明容器占领存储对象的所有剩余的八字节。如果sbento数据是不相邻的,也许还要指定多轴标记对。注536:例如,sbento容器文档也许有一个doctype声明和文档元素开始标记,一起占领文本实体存储对象的前341个八字节。sbento容器将从八字节342开始并且占领剩余的八字节。因而sbento容器实体将声明如下:(!ENTITYbentolSYSTEM”(!一对象自然传送的标准Bento实体一)(!一声明SBKNTO包含实体的模板一)(!一包含实体占据“bentol”实体的第一个500单位一.)(!notationS(a正一标准通用置标语言一条:A572一一为SGML实体定义CDATA-一PUBLIC”UB/T148141993//NOTATIONStandardGeneralizedMarkupLanguage//EN”一属性:标准通用置标语言一一公共属性:altreps,included,superdcn-一)(!NOTATIONSGMLGCPUBLIC”UB/T169652009//NOTATIONSGMLGroveConstructionProcess//EN”、(!NOTATIONDBSSLPUBLIC”ISO/IEC10179:1996//NOTATION218 GB/T16965--2009/ISO/IEC10744:1997DocumentStyleSemanticsandSpecificationLanguage(DSSSL)//口”>(!NOTATIONSyTimePUBLIC”∞/T169652009//NOTATIONHypermedia/Time-hasedStructuringLanguage(HyTime)//EN”)])‘propsetnsd=SGMLgcsd=SGaLCC>定义类和性质用于从SGML文档中解析出来的树林的结构。类和性质可分类如下:·抽象或SGML文档字符串(SDS);·SGML声明、文档prolog或者文档实例;·必须的数据标签支持、范围、短引用、链接、子文档、fpi、体系结构、notset、fsi、genarc,伪元素。ESIS大致与基抽象(baseabstract)、prlgabs0和实例抽象(instanceabstract)--致。《/desc>(!~字符串标准化规范一)fnormdefrcsnm2generalclause。’’d4506”、(desc:)声明具体句法通用名称实例代人法引用具体句法通用名称实例代入法(!~基抽象类和性质一)(psmodulercsnm=baseabsfullnm=”baseabstract”default.)已解析的SGML文档或子文档。树林的根。SGML声明提供应用程序信息。(when>将文本说明为SGKL声明中可用于文档或于文档的APPINFO参数的值。ac=”doctpdclIktpdclcomdclpissep”clause=”71001”>选择所有SGML文档内部节点的规范,这个规范可能需要在其他地方作为irefnodes。‘note>投有性质,除非其中包含短引用抽象(srabs)模式或者链接抽象(1inkabs)模式。无论是说明还是默认的,都赋值性质。lnote,在基模式中由于数据属性。否则,其是其他的允许类型219 GB/T16965--20091IS0/IEC10744:1997没有说明的属性是可暗示属性。7propdefrcsnm;namestringstrnorm。generalclause=”93001’’、当且仅当属性是没有说明的可暗示属性时为真。(propdefrcsnm2tokensepappnm=’’tokensep”fullnm=’’tokenseparator’’charclause=”79400”)节点有attvaltk类的两个或更多孩子。字符不是数字字符引用非SGML字符的结果。7propdefrcsnm。nonsgmlappnm=’’nonsgalbitcombination’’integer>字符是数字字符引用非SGML字符的结果。character(classdefrcsnm=sdatafullnm=”internalspecificcharacterdataentityreferenceresult’’conprop2charclause=’’92101’’、(propdefrcsnm=sysdataappnm=”systemdata”stringclause=’’43041’’、(note>当引用性质数据实体的替换文本时,其是作为系统数据的。7propdefrcsnm=charfullnm=charactercharsd=DSSSL)字符通过映射一sdata-实体体系结构形式和SDATA实体关联起来。执行语句。(propdefrcsnm=sysdataappnm=”systemdata”stringclause=’’80002’’、(/psmodule)(!一关于序言抽象类和属性,O级--77psmodulercsnm=prlgabs0fullnm=”prologabstractlevel0”defaultdependon=basembs>管理解析器的文档类型。当规范多个“动态”文档类型时,每个动态文档类型给出分离解析器,以此类推,生成分离sgmldoc树林。(propdefsubnodercsnm=dtltsappnm=’1doctypesandlinktypes”fullnm=“documenttypesandlinktypes”nmndlistac=’’doctypeiinktype”acnmprop=”namename”cn=sgsldocclause=”71001”)(desc>在prolog中,以声明顺序声明文档类型和连接类型。抽取文档类型声明。220 GB/T16965--2009/IS0/IEC10744:1997在声明的DTD中包括实体声明,实体被作为已声明的,因为其发生在该DTD是起始DTD链接类型中,当这个文档类型是动态的,实体声明在可能被引用的基声明中。名称通过文档类型声明和DTD相关联;以及必要的最外层元素的类型的名称。如果这是动态文档类型,或者没有动态文档类型且是基文档类型,则为真。(note>”管理“文档类型管理分析处理。如果不止一种文档类型被指定为”动态”,每种动态文档类型进行单独分析,其是管理的文档类型,而且因此生成一片单独的树林。在DTD中声明文档或子文档的通用实体。(note>包括实体模糊声明,作为在这个类的描述中的论述。如果DTD为未声明的通用实体名称提供默认声明,在表单中不执行符合此声明,也不执行任何这样的未声明名称,除了在DTD内引用的那些被默认的实体(例如在CDATA里属性值)。其他默认实体在实体sgmldoc类的属性。了解跟随的dfltent。7enumdefrcsnm=subdocappnm。subdocument>实体是内部实体。实体是外部实体。实体是外部数据实体。实体是外部数据实体。(classdefrcsnm=notationfullnm=”datacontentnotation”clause。”1>4000”>外部标识符包括外部公共标识符。(when>外部标识符包括外部公共标识符。外部标识符不是指默认实体的外部标识符。(/psmodule>(!~文档实例抽象类和属性一),psmodulercsilm。instabsfullnm。’’instanceabstract”defaultdependon=baseabs)管理文档类型的文档元素。解析器发现那些在命令中有唯一标识符的文档中的所有元素:父母存在于孩子之前;同胞存在于在左到右的命令里。从管理文档类型中明确声明通用实体由默认实体跟踪。(note>这既包括内部实体,又包括外部实体,而不包括未命名实体。文档中每个实体名称的一个实体与管理文档类型中的默认实体相关联。(!一属性值表示一),propdefirefnodercsnm。entitynodeac=entltycn=attvaltkclause=”79401’’、(when>声明属性值是ENTITY或者ENTITIES。/propdefirefnodercsnm。notationnodeac=notationcn5attvaltkclause=’’79408”、(when>声明属性值是NOTATION/propdefirefnodercsnm5referentnodeac=elementcn=attvaltkclause=”79403’’、(when>声明值是DREF或IDREFS,classdefrCSIlm5elementconprop=contentclause2’’73000”、为元素说明唯一的标识符。,propdefsubnodercsnm5attsappnm2attributesnmndlistac。attasgnacnmprop=nameclause=”79301”、(desc>属性赋值,为命令中的元素中的每个已声明属性,在属性定义列表中定义其。222 GB/T16965—2009/ISO/IEC10744:1997(propdefsubnodercsrm=contentnodelistac2”datacharsdataelementpelementextdatasubdocpimsignch19nrsignrereposusemapuselinkentstartentendssepcoedclmsstartmsendignmnkup”clause=”76001”、《classdefrcsnm=extdataappnm=”external出ta”fullnm2”referencetoexternaldata”clause=”a5500”、《desc>引用外部数据实体的结果。fpropdefrcsr_m2entnaaeappnm=”entityname’’stringstrnorm2entityclause=’’aSlOl”、</psmodule>(!一基8DS类和属性一)(!一Sdata-一>引用PI实体引起处理指令。引用PI实体引起处理指令。(!一实体一)(propdefrcslim=dfltedappnm=defaultedbooleancn=entityclause=’’94412’’、(desc)如果这个生成是由于引用默认实体则为真。(/psmodule)和名称实体引用或段引用一起引用PI实体引起处理指令。引用PI实体没有产生处理指令。fpropdefsubnodeoptionalrcsnm2closeappnm=’’closedelim”fullnm2。’closedelimiter”nodeac=gendelmcn=piclause=”80001’’、(when)引用PI实体没有产生处理指令。(!一属性一)属性不是被隐含的。《!一-字符数据一)在最小文字中,当髓和/或空格符的序列被单个的空格符替换,然后第1个字符通过可能与intrplch性质一起的datachar来描述,其他字符通过intignch来描述。(when>当解释一种文本时,数据字符替换另字符:空格字符代替了属性值文本中的RE或SEPCHAR,或者代替了最小文本中的Ⅱ。数据字符是一个命名字符引用替代者。数据字符是数字字符引用的替代者。(!一特殊字符数据一)ssep,entstart,和entend可能仅仅出现在命名实体引用的名称组中。(classdefrCSDID=ssepappnm=”ssep”fulls。’’sseparator”mayaddclause=’’62100”、,propdefrcsnm=charfullnm2charactercharclause=’’92003’’、字符是命名字符引用的替代者。,classdefrcsnm=commentclause2”a3002。’、注中的字符(不包括com分隔符)。(desc>实体替代文本的开始。(note>结尾将用扩展节点标记。这是由于实体引用是有解析器代替的。(propdefirefnodercsnm=entitynodeac=entityclause=”a5201’’、由解析器代替的实体引用的结尾。字符是命名称符引用的替换。,propdefrcsnm=charfullnm=charactercharclause=”92101”、通用分隔符。可能仅仅对分隔符才会出现这种情况,并且分隔符需要满足的条件是:它是它的父节点的第一个孩子,或者是一个关闭的分隔符属性的值。(when>分隔符的第一个字符和一个命名字符引用一起被输入。(propdefrcsnm=rolestringstrnorm=rcsgenerclause=’’96001FIG30”、(desc>定界符角色的名称。(propdefoptionalrcsnm=origdelmappnm=”originaldelia”fullnm=”orinnaldelimiter”stringclause=”92102FIG22”)(desc>分隔符作为起始符被输人在任何大写代替之前。,classdefrcsnm=nameclause。’’930011’、(desc>置标中的名称。《note>属性值中的名称由attvaltk类型的节点描述出来而不是名称类型。225 GB/T16965--2009/ISO/IEC10744:1997分隔符作为起始符被输入在任何大写代替之前。(classdefrcsnm。rnameappnm=”reservedDame”clause=’’d4701’’、(desc)在被认可作为保留名称的置标的记号。标记中的一个记号作为一个保留名称被识别。文字值的解释。(note)如果文字是被标记(tokenized)的值的属性值文字,文字的值描述属性值是在表示(tokenization)之前而不是解释之后。在置标中的数字,这个置标不是在字符引用中的字符数字。(note)属性值中的数字是由attvaltk类型(而不是数字塑)的节点描述的。(propdefrCSDJn=digits,tringclause:193002”、数字的数值是由数据字符节点的字符属性决定的。属性值声明的是属性值而不是属性值文本。不要将这个与attasgn类相混淆。这仅仅使用在名称记号组中用作名称记号,名称记号(tokens)按眉性值由attvaltk(而不是nmtoken)类型的节点描述。(note)第一个孩子将是gendelmformdo,最后一个是gendelmfordso.标记区域的有效状态。(enumdefrcsnm=ignore)(enumdefrcsnm=cdata)(enumdefrcsnm=rcdata>(ernmdefrcsr.n=document>不是sgmlcsts属性,因为其依赖文档字符集。字符描述包括基集字符数字。基字符集的公共标识符。字符描述包括基集字符数字。字符描述不作为基集数字引入。,classdefrcsnm2syntaxfullnm=“concretesyntax”clause=”d4000”、(note>这表示当前文档的文档字符集的具体语法限制。字符是文档字符集中的字符,而不是句法引用字符集如果GENERALYES在NAMECASE中被指定,则为真。(propdefrcsnm=substentappnm=’’substentitynames”fullnm=’’substituteentitynames”booleanclause=。’d4507。’、皇董耋喜妻堡詈童冀警龛由具体句法说明。每个保留名称是否从引用具体句法的规定中改变都有条件。这个条件按照句法文字的字母顺序出现。’’。⋯⋯⋯(enumdefrcsnm2msichar>(enumdefrcsnm2msochar>(propdefrcsnm2charfullnm2charactercharclause=”95003”、由具体句法形成的字符串和抽象.句法分隔符角色的关联。‘propdefrcsnm2rolestringstrnorm3rcsgenarclause=’。d4612’1、(desc>角色的名称。由具体句法形成的保留名称和抽象一句法文字的关联。符合句法的文字(更准确说,当名字被加上双引号是就变成了符合句法的文字。)在引用具体句法中,符合句法的文字和保留名称是同样的。(classdefrcsllm5capsetappnm=’’capacityset”clause2”d2000”、如果SUBDOC是No则为0。(propdefrcsnm=formalbooleanclause=”d5301。’\如果FORMAL是YES则为真。(/psmodule>(!一sGML关于声明sG虬文档字符串类和属性一)(psmodulercsnm=sdclsdsfullnm=”SGMLdeclarationSGKLdocumentstrina”dependon=basesdsl)(desc)SGML声明是明确指定的。(enumdefrcsnm=implied>(desc>SGML声明是隐含的。(enumdefrcsnm=inherit>(desc>SGML声明派生自SGML文档,这是个子文档。在SGML声明之前也包括任何分隔符;最后一个孩子是gendelmformdc分隔符。(/psmodule>(!一关于序言抽象类和属性,l级~)DTD为未声明的实体声明默认名称。(每个未声明名称都关联了使用实体的这个节点的部分,但是在某些情况下,系统可能不会为每个名称选择同样的实体。)在上述关于描述这个类的讨论中,也包括未明确声明的实体。元素类型声明指定省略标签最小值。,propdefrcsnm=omitendappnm=”omitendtag”booleanclause=“b2203”、(desc>如果结束标签最小值为⋯0则为真。231 GB/T16965--2009/ISO/IEC10744:1997(when>元素类型声明说明省略标签最小值。《desc>声明CDATA内容。《desc>声明RCDATA内容。(desc)声明删内容。(desc>ANY的内容模型。7enumdefrcsnm2modelgrpappnm=”modelgroup”)元素类型声明包括已经拥有模型组的内容模型。(When>Contype是any或modelgrp(propdefrcsnm=inclsappnm=inclusionsstrlistclause2”b2511”>(when>Contype是any或=odelgrp·(propdefsubnodercsnm=attdefsappnm=”attributedefs’’fullnm=”attributedefinitions”nmndlistac=attdefacnmprop2nameclause=’’b3003’’、(classdefrcsnm=modelgrpappnm=’’modelgroup’’conprop2tokensclause=”b2402’’、模型组或数据标签组。数据标签组是由模型组节点表现的,这个节点有个连接器相当于第一个记号是elemtk,第二个记号是pcdat8tk的seq。(propdefrcsm=connectappnm。connectorenumclause2”b2410”)(desc>连接器用于模型组中。模型组有事件指示器。(enumdefrcsnm=opt>(enumdefrcsnm=plus)(enumdefrcsnm2rep>(classdefrcs衄=elemtkappnm=”elementtoken”clause=”b2405”)(propdefrcsnm=gifullnm=’’genericidentifier”stringstrnorm=generalclause=’’b2405’。)(propdefrcsm=occurappnm=”OCCUrindicator”fullnm2”occurrenceindicato‘”enumclause2”b2405’’、(when>Z32 GB/T16965--2009/IS0/IEC10744:1997元素记号有事件指示器。(enumdefrcsnm2opt>(enumdefrcs珊=plus>,enumdefrcsnm2entities>fIenumdefrcsnm。idref、(Ienumdefrcsnm。idrefs>({enumdefrcsnm=Dame>f{Bnttadefrcsnm=names>fenumdefrcsnm=runtoken>(enumdefrcs珊2nmtokens、fenumdefrcsnm=number>7enumdefrcsnm2numbers>(enumdefrcsnm2nmtkgrpappnm=”nametokengroup”)字符串列表指定允许的表示。(when>声明值是名称记号组或记法。(desc>默认值是不包含#FIXED的属性值规范。(enumdefrcsnm=fixed>(enumdefrcsnm=current>,propdefsubnedercsnm=dfltvalappnm=’’defaultvalue”ac=’’attvaltkdatacharsdataintignchentstartentend”《when>默认值包括属性值规范。nedelistclause=’’b3409’’、代表同样的属性声明的所有attdef节点,将因此而共享同样的当前值。(note>有多少成员,在属性定义类表声明中就有多少相关联的元紊类型,这声明了这个属性定义。(when>默认值类型是CURRENT。前述属性定义的数字在文档类型声明中有默认值类型CURRENT。(note>233 GB/T16965--2009/ISO/IEC10744:1997在attdef节点的curgrp属性值中的所有attdef节点将显示同样的curattix属性值。两个attdef节点将共享同样的当前值,以防其显示同样的curattix属性值(when>默认值类型是CURRENT。(enumdefrcsnm=sdata>(enumdefrcsnm2ndata>‘enumdefrcsnm=subdocappnm=subdocument>默认实体声明声明了内部实体。默认实体声明声明了外部实体。(desc)数据属性分配列表,各个是实体的已声明的属性,其顺序与属性定义列表声明中的顺序一致。(when>默认实体声明声明了外部实体。默认实体声明声明了外部实体。《when>默认实体声明声明了外部实体。(/psmodule>记法至少有一个关联AY|rLIST。元素类型至少有一个关联ATYLIST声明。7propdefirefnodercsnm=doctpdclapprlI【I=”documenttypedecl’1fullnm=”documenttypedeclaration”nodeac=doctpdcl234 GB/T16965--2009/ISO/IEC10744:1997cn=doctypeclause=”b1001”)默认值包括属性值规范。第一孩子是mdo分隔符的gendelm;最后一个孩子是mdc分隔符的godelm。如果有外部实体,其扩展节点将在dsc分隔符的gendelm之前立即出现,否则将在mdc分隔符的gendelm节点之前立即出现。(propdefirefnodercsnm=doctypeappnm=”documenttype”nodeac=doctypeclause=”b1008’’、文档类型声明包括外部标识符。fclassdefrcsnm=attdldclappnm=’’attributedeflistdecl”fullnm=”attributedefinitionlistdeclaration”mayaddclause=”b3000”)(propdefsubnodercsnm=markupnodelistac=”ssepcommententstartentendgendelmn衄enmtokenattvalueliteral’’clause=’’b300l’’、声明的记法。</psmodule>《desc)当且仅当元素是被包含的子元素时为真。当且仅当元素的结束标签被忽略时为真,由于元素有声明的空内容或有显式内容引用。(/psmedule>第一个孩于是stago的gendelm。entstart和entend类型的节点仅可以出现在文档类型规范中。(when>为元素说明的开始标签。(propdefsubnedeoptionalrcsnm=endtagappnm=”end-tag”nedelistac2”gendelmnamessepentstartentendignmrkup”cn=elementclause=”75001”>第一个孩子是etago或者net的gendelm。entstart,entend和ignmrkup类型的节点仅可以出现在文档类型规范中。(wben)为元素说明的结束标签(不是数据标签)。当且仅当这个字符是RE时为真,髓被认为出现在不同于其实际出现的点。(note>repos类型的节点将指出其实际出现的位置。这个字符是RE,它被认为是出现在不同于其实际出现的点。实体引用的置标。ssep,entstart和entend仅可以出现在命名实俸引用的名称组中。根据GB/T148141993中761的规定,忽略Rs。字符代替命名字符引用。字符代替命名字符引用。,classdefrcsnm。reposappnm=”reposition”clause=。’7610a’’、14814--1993中76l认为RE的最初位置出现在不同于其实际出现位置的某个位置。是repos字符。(/psmodule)(!一数据标签相关的抽象类和性质~),propdefderivedrCSIIm=datatagbooleancn。elementclause=’’73201”、模型组是数据标签组。(propdefrcsrⅧ=dtgptempappna=”datatagpaddingtemplate”stringcn2elemtypeclause=”b2445”、《when>模型组是数据标签组,其数据标签模式包括数据标签填充模板。(/psmodule>(!一等级相关的抽象类和性质一>包含等级后缀的元素类型声明中的元素类型。/propdefrcsnm=rankstemagpnm=’’rankstem”stringcn=elemtypeclause=”b2113”、使用等级元素和等级组的元素类型声明中的元素类型。等级组中的等级主干。(when>元素类型声明包含等级组。(!~Shortref相美的抽象类和性质一>不包含#EMPTY映射。元素类型有关联的短引用映射。元紊类型有关联的短引用映射。映射不是隐式声明的#EMPTY映射。(!一Shortref相关的SDS类和性质~)第一个珐子是mdo分膈符的gendel4,最后一个孩子是mdc分隔符的gendelm。SGML说明这不包含已经与映射相关联的元素类型。(when>短引用使用声明包括已关联元素类型。作为起始输入的短引用分隔符。以命名字符引用输入分隔符的第一个字符。,classdefresnm=srmapdclappnm=“shortrefmapdecl”fullnm=”shortreferencemappingdeclaration”mayaddclause=”bS000”、(propdefsubnodercsnm=markupnodelistac2”entstartentendssepcommentgendelmnamern柚eliteral’’clause=”bS001’’、第一个孩子是ado分隔符的gendelm;最后一个孩子是mdc分隔符的gendelm元素是文档元素,有动态简单链接过程。链接属性起始的将有个链接规则。可用链接规则是显式的链接规则,其目标元素是显式的元素。可用链接规则是显式的链接规则,其且标元素是显式的元素。起始属性将是个链接规则。可用链接规则是显式的链接规则,其目标元素是显式的元素。在当前链接集中链接规则,其起始元素类型是隐式的。(When)动态显式链接过程。(propdefirefnoderCSD/Q=]ksetinfappDm=”linksetinfo。’fullnm=”linksetinformation”nodelistac=linkrulecn=datachar>在当前链接集中链接规则,其起始元素类型是臆式的。(when>有动态显式链接过程,其字符发生在内容中。(desc>当且仅当链接类型为动态时为真。(enumdefrcsnm=explicit>(propdefrcsnm2srcnameappnm5”sourcedocumenttypen∞e’’stringstrnorm2generalclause2”c1302”、,propdefirefnodercsnm。Soitrceappnm2”sourcedocumenttype’’nodeac=doctypeclause=”C1305c1306”、(note>对简单链接类型来说,这往往是基础文档类型。链接类型是显式的链接类型。链接类型不是简单型。链接类型声明子集包含ID链接集声明。不包含#INITIAL或咖或ID链接集。链接集不是#INITIAL或EMPTY或ID链接集。关联元素类型名称。(when>链接规则不是显式的,其起始元素类型是隐式的。链接规则不是显式的,其起始元紊类型是隐式的。链接规则出现在ID链接集声明中。,propdefirefnodercsnm=uselinknodeac=linksetclause=”c2104’’、(when>链接规则包含USELINK参数。链接集根据USELINK参数命名。当且仅当链接规则包含#RESTORE的POSTLI骶参数时为真。链接集规范不说明#RESTORE。为跟随POSTLINK的链接集规范指定记号。(when>链接规则包含POSTLINK参数。,propdefsubnodercsnm=linkattsappnm=”linkattributes’’nmndlistac2attasgnacnmprop=Dameclause=”c2102’’、(when>链接规则不是显式链接规则,其元紊类型是隐式的。链接规则不是显式链接规则,其目标元素类型不是隐式的。链接规则不是显式链接规则,其目标元素类型不是隐式的。链接规则不是显式链接规则,其目标元素类型不是隐式的。</psmodule>(!一链接相关的SDS类和性质一)链接集不是#EMPTY。7propdefirefnodercsnm=iktpdclappnm=”linktypedecl’’fullz"m=’’llnktypedeclaration”nodeac=iktpdclcn=i/nktypeclause。’’c1001’’、(classdefrcsDla;iktpdclappnm=”linktype4ecl”fullnm=”linktypedeclaration”mayeddclause=。’c1000”、链接类型定义包含外部标识符。链接集使用不能被忽略的声明。(propdefsubnodercsnm=markupnodelistac=”entstartentendssepcommentgendelmnamern∞eignmrkup。’clause=’’c3001’’、第一个孩子是mdo分隔符的gendelml最后孩子是mde分隔符的gendelm。当链接集规范说明了#RESTORE时为真。链接集规范没有指定#RESTORE。·为链接集规范指定记号。(!一子文档相关的抽象类和性质一)引用子文档实体的结果。(!一子文档相关的SDS类和性质一>,psmodulercsnm2subdcsdsfullnm=”sul“ocSGMLdocumentstring。’dependon=’’basesdslsuhdcabs”\实体引用的置标。(note>242 GB/T16965--2009/ISO/1EC10744:1997ssep,entstart和entend仅能出现在命名实体引用的名称组中。(/psmodule>(!一正式公共标识符相关的抽象类和性质一)FORMALYES在SGML声明中加以说明。(classdefrcs册;fpiapp珊=”formalpublicid”fullnm;”formalpublicidentifier”clause=”a2000”、(note>字符串是由这个类提供的每个字符串值的性质,它是在管理产品中不用附加//”,”一//“,”+//”或s字符的最小数据。7propdefrcsnl2ownertpappnm2“OWnertype’’enumclause。”a2100”、所有者标识符的类型。7enumdefrCSD∞=registappz)ln2registered>7enumdefrcsnm3unregistappnm5unregistered>(en衄defrcsnm2charset>(enumdefrcsnm2elements>(enumdefrcsnm=Ipd>(enumdefrcsnm。shortref>(enumdefICSIm2subdoc>(enumdefrcsnm=syntax>7enumdefrcsnm=text>文本标识符包含公共文本语言。文本标识符包含公共文本指派序列。文本标识符包含公共文本显示版本(那是跟随公共文本语言或者公共文本措派队列有//>。</psmodule>(!一SGML扩展设施模块一一)(!一$GML体系结构抽象类和性质一)243 GB/T16965--2009/ISO/IEC10744:1997这些属性与从体系结构文档到其所继承的从属文档中生成的树林相联系(!~体系结构文档一)体系结构的名称,这个体系结构文档是他的从属文档。文档是体系结构文档。体系结构文档可以从这个文档中继承。文档是体系结构文档。(!~体系结构元紊一>(propdefcn。elementrcsm=arcr】ameapp珊2”arcname”fullnm=”architecturen硼e”stringstrnorm2generalsd=HyTimeclause=’’A34100”、体系结构的名称,这个体系结构元素是它的从属元素。文档是体系结构文档。体系结构元素可以从这个元素中继承。体系结构的名称,这个体系结构实体是它的从属元素。(when>文档是体系结构文档,实体继承自在从属文档定义的外部数据实体。实体是外部数据实体。这个实体是体系结构实体的实体。244 GB/T16965--2009/ISO/IEC10744:1997实体是体系结构外部数据实体。(!一体系结构数据字符一一)文档是体系结构文档。.数据字符是体系结构数据字符。(!一体系结构系统数据~)体系结构的名称,这个系统数据是其从属系统数据的体系结构系统数据。(when)文挡是体系结构文档。’体系结构系统数据继承于这个系统数据。这个系统数据是体系结构系统数据的系统数据。系统数据是体系结构系统数据。体系结构的名称,这个外部数据是其从属外部数据的体系结构外部数据。(when>文档是体系结构文档。体系结构的名称,这个子文档引用是其客户端的予文档引用的体系结构于文档引用。(when>文档是体系结构文挡。子文档引用是体系结构的子文档引用。(/psmodule>(『一正式系统标识符相关的抽象类和性质一)fpsmodulercsnm;fsiabsfullnm=”formalsystemidentifierabstract。’dependon=baseabs)(propdefcn=extidrcsnm=fsiappnm=”formalsystemid’’fullnm=”formalsystemidentifier”nodesubn04eac=”fsi”optionalsd=SyTimeclause=”A61000A64300”、外部标识符的系统标识符部分被看作是正式系统标识符。实体的修正级别(可能无效)。(when>FSI的实体用法标签包含修正级别规范。实体的有效修正级别。存储对象规范序列。fenumdefrcsnm。rmsfullnm=”recordmanagementsystem’’、(enumdefrcsnm2If>(enumdefrcsnm=cr>(enumdefrcsnm=ifcr>(!一通用体系结构类和性质一)(!一元素抽象属性的数据属性一),psmedulercsnm2dafeabsfullnm=”dataattributesforelementsabstract’’dependon=instabs>为元素说明了记法。/propdefcn=elementrcsnm=notationnodeirefnedeac=”notation”sd=HyTimeclause=”A53001”、(when>为元素说明了记法。7propdefcn=elementrcsnm2dataattsappnm=’’dataattributes”nmndlistsabnedeac=”attasgn”acnmprop=。’Dame”sd=HyTimeclause=’’A53003”、(when>为元素说明了记法,并使用通用体系结构韵DAFE设施。(/psmodule>(psmedulercsnm=gadcnabsfullnm=’’generalarchitecturecommondataattributesabstract’’dependon=。’prlgabs0instabs。’、实体,包吉记法数据,说明使用“包含”公共数据属性。(!一HyTimepseudo-element类一)(!NOTATIONSGMLPUBLIC”∞/T14814--1993//NOTATIONStandardGeneralizedMarkupLanguage(SGML)//EN”])(propsetnsd=HyTime>声明具体的句法代替相关的HyTime文档。树林列表包含一定边界对象集的超文档。 GB/T16965--2009/ISO/IEC1074411997,classdefrcsnm=bosmemappnm=’’bosmember”fullnm=’’boundedobjectsetmember”clause=。’6240065000”、(desc)文档边界对象集的成员。(!一定义结构的语言~),psmodulercsnm=arcsemfullnm=1’enablingarchitecturedefinedsemantics”、启动体系结构列表被用作定义包括超文档的H矿fime重要的语义。(note>能够识别公共标识符的启动体系结构不包括在内。HyTime重要语义的范围定义了这样的一个体系结构,符合体系结构且对HyTime文档的限制。,classdefrcsnm=arcsemappnm=”arcsemantics。’fullnm=。’enablingarchitecturedefinedsemantics”clause=”6730082000A3i000A34100”、‘Oesc,HyTime集合使的体系结构定义语义成为可能,比如行为或者是超链接类型。(!一HyTire文档一>HyTime文档定义了有限对象集合的超文档。SyTime文档列表包含了有限对象集合的超文档。HyTime文档包含有限对象的超文档。(!一有效的SGML标准文档~),psmedulerCSILm2sgmldocfullnm=”effectiveSGMLdocument”dependon=’。hydoc。’、(propdefcn2hydocrcsnm2sgmldocappnm=”sgmldocument”fullnm=。’effectiveSGMLdocument”nodeurefnedeclause=”’1430”、(desc)有效的SGML文档的树林。250 GB/T16965--2009/ISO/IEC10744:1997《/psmodule>(!一值引用~),psmodulercsnm2valuereffullnm;’’valuereference”、参数通过描述表格产生。,classdefrcsnm;desctabappnm5”desctable’’fullnm=’’descriptiontable’’conprop=entriesclause=’’67220’’、定义描述表格的元素。‘propdefrCSDⅢ=entriesnandlistsabnodeac=”descent。’acnmprop。”desctxt”clause=”67220”、‘classdefrcsm=descentappnm=“desctableentry”fullnm=”descrlptiontableentry”clause=’’67220”、与描述文本相关的HyTime文档的有效SGa4L树林中的Descdef元素。(/psmodule>(!一活动政策关联规则一)tpsmodulercsrdE=actrulefullna=”activitypolicyassociationrule’’、7classdefrcsnm=actruleappnm2”activitypolicyrule”fullIl血=”activitypolicyassociationrule”conprop=actprulsclause=’167308’’、节点受到与之相关的行为规则的制约。行为类型的名称。行为规则制约着与之相关的存在的行为类型。(/psmodule>(!一行为类型一)(psmoduleECSD3m=acttypefullnm=”activitytype”dependon=”arcs锄h刊oc”)行为类型是由文档所包含的结构定义的。行为类型由已经存在的结构定义。(/psmodule>(!一相关的行为类型一)节点由与之相关的行为规则来制约。(desc>行为规则应用于受支配的节点。行为规则控制与之相关的给定行为类型的节点。(/psmodule>(!一目标定位地址一)解析引用的目标。引用的解析且标。《/psmodule>(!一定位地址路径一)定位路径的第一步去解析引用的目标。(when>Alocationpathwasusedtoresolvethetargetsofthereference抽象的HyTime定位地址。定义定位地址的元素和属性的赋值。比如,用命名空间定位地址定位每个节点的选择器是在元素内容nmsploc的相应名称。用定位选择器从定位源中选择节点。如果通过定位地址定位节点还有多个值则定位地址是多重的定位地址。(/psmodule>(!一超链接一)(propdefcn=hyperdocrcsnm=anchobjsappnm=”anchoredobjects”nmndlist咄nodeac=”anchobj”acnmprop=”object”clause=”80000”>(desc>映射对锚点的对象。超连接锚点的点是锚点对象。253 GB/T16965—200911SO/IEC10744:1997254锚点指定其对象。(classdefrCSDAn=hyllnkappnm=’’hyperlink”clause=’’8110082000”、定义超链接的元素。锚点是锚点列表和左边成员的元素,除非锚点是列表最左边的成员并且包括的成员是不允许的。(propdefrcsnm=nxtrightappnm=’1nextright’’fullnm=”nextmembertotheright”nodeirefnodeaC3’’anchor’’clause=’’8120081300”、(when>锚点是锚点列表和左边成员的元素,除非锚点是列表最左边的成员并且包括的成员是不允许的。,propdefrcsnm=nxtrightappnm=’’nextright’’fullnm=j。nextmembertotheright5nodeirefnodeac=4anchor。clause=’’8120081300’’、(when>锚点是锚点列表和左边成员的元素,除非锚点是列表最左边的成员并且包括的成员是不允许的。‘/psmodule>(!一超链接类型~)超链接的类型被文档包含的结构定义。超链接类型被给定启动体系结构所定义。(!~有限的坐标空问~)定义有限坐标空间的元紊。SGML标准树节点的标准度量单位。FCS的类型被包含文档体系结构定义。,propdefcn2arcsemrcsnm=FCStypesappnm=”FCStypes。’fullnm=’’finitecoordinatespacetypes”nmndlistsubnodeac=”FCStype”acnmprop=”rlame”clause=”93000A31000”)(desc)255 GB/T16965--2009/ISO/IEC10744:1997z56FCS的类型被特定的启动体系结构定义。轴(SGML树林中标记节点)的标准度量单位。(/psmodule>(!一轴刻度一>7psmodulercsnm2axiscalfullnm=”axiscalibration”、轴前后的量数目已经得到校准。(when>为轴指定的刻度。7propdefcn=axisrcsnm2calpointappnm=”calibrationpoint’。enumclause=’’93103’‘、(de8c)刻度相对于刻度量的位置。(when>为轴指定的规范。Acalibrationwasspecifiedfortheaxis(enumdefrcsnm5start>(enumdefrcsnm5end>刻度是为轴规范的。7propdefcn=axisrcsDJn。calnotappnm=’’calibrationnotation”nodeurefnodeclause=”93104”、(desc>SGML树林中的记法节点是用来规范刻度的。刻度是为轴规范的。</psmodule>(!一事件进度表一> GB/T16965--2009/ISO/IEC10744:1997定义事件进度表的元素。进度表的事件中可能存在缺口。(propdefrcsnm=overlapbooleanclause=”94106’’、(desc>进度表中是否存在事件可能交迭。TrueifextentsofcontainedeventsarederivedfromextentofgroupasopposedtotheOccupiedextentofthegroupbeingderivedfromtheextentsofthecontainedevents(!一修改修补一>,psmedulercsnm=medpatchfullnm=。’modifierpatch”、定义修改修补的元素。。修改修补不是从war】d修补中产生。用于平行的修正集合。,psmedulercsnm2wanddependon=’’FCS”、定义wand规范的元素。fpropdefrcsnm=occextappnm=’’occupiedextent”nmndlistsubnodeac=’’dim”257 GB/T16965--2009/ISO/1EC10744:1997258acnmprop=’’axisnm”clause2’’98203’’、,propdefrcsnm2scopesappnm=’’modscopes”fullnm=”modifierscopes”nodelistsubnodeac=’’modgrpmodscope”clause=”a2330a2340’’、wand范围是否存在缺点。Trueifextentsofcontainedmodifierscopesarederivedfromextentofgroupasopposedtotheoccupiedextentofthegroupbeingderivedfromtheextentsofthecontainedmodifierscopes.(!一baton修补~),psmodulercsnm=wndpatchfullnm=”wandpatch’1、定义wand修补的元素。应用于平行中的wand集合。(!一对象修改一)修饰语以及wand规则运用于修正。引起修正选择事件的修正范围。(when>修改应用于wand规则。(/psmodule>定义修饰规则的元素。其他树中的可嫠正节点和这棵树中的可修改修补描述修改。(/psmodule>·-定义wand规则的元素。(propdefrcsnm=eventsnodelistirefnodeac=”eventevgrpevsched柏d。∞非∞由rpwand”clause=”a2310”)为投影器指定的严密。</psmodule>定义投影器顺序的元素。(when>投影器次序不是由baton顺序产生的。投影器范围内是否允许有缺口。投影器范国内是否允许交迭。Trueifextentsofcontainedprojectorscopesarederivedfromextentofgroupasopposedtotheoccupiedextentofthegroupbeingderivedfromtheextentsofthecontainedprojectorscopes7propdefrcsnm=scopesappnm=’’proscopes”fullnm=”projectionSCOpeS”nodelistsubnodeac=”progrpproscope”clause=”a3330a3340’’、(!一baton次序~)定义baton顺序的元紊。(Dropdefrcsnm2sequencenodelistirefnodeac2’’batonbatonseq”clause2”a3350”)(/pemodule>(!一投影一)引起事件的投影器。‘when)260 GB/T16965--2009/IS0/mC10744:1997事件并不是按照固定时间产生的。(propdefcn=modscopercSD-m=srcprojappam=”sourceprojection”nodeirefnodeac=’’pro”clause2”a3000”、(desc)产生修正范围的投影器。修正范围并不是wand所固有的。产生投影范围的投影机。(when>映射范围并不是baton固有的。属于投影的延展。投影应用于baton规范。目标进度表中的事件,范围产生映射的结果。运用于投影的投影机和baton规范。引起映射选择事件的投影范围。(when>用于baton规则的投影。(/psmodule>(!~投影器规范一)(psmodulercsnm=prorulefullnm=”projectorrule”)定义投影规范的元素。(propdefrcsnm2eventsnodelistirefnodeac2’1eventevgrpevschedmodscopemodgrpwandproscopeprogrpbaton”clause2”a3220”、(propdefrcsnm=projectrappnm=”projector”fullnm=”projectororprojectorsequence”nodeirefnodeac2’’projectrproseq”clause。。’a3220’’、,propdefrcsnm=targschdappnm=”targetschedules”nodelistirefnodeac5”evschedwandbaton”clause。’’a3220’’、(/psmodule>定义baton规范的元素。(propdefrcsnm2eventsnodelistirefnode261 GB/T16965--2009/ISO/IEC10744:1997262ac2”eventevgrpevschedmedscopeiodgrpwandproscopeprogrpbaton”clause=’’a3310’’、(psmodulerCSIlm。renc[culefullnm2”renditionrule”)fclassdefrcsnm=rendrulefullnm=“renditionrule’。clause=’’a4000”、定义绘制规范的元素。为事件定义的绘制列表。为修正范围定义的绘制列表。为投影范围定义的绘制列表。,classdefrcsnm=rendappnm=”rendition”clause2”a0000“、,propdefrcsnm。rendruleappnm=“renditionrule”nodeirefnodeac2”rendrule’’clause=”a4000’’、7propdefrcsnm=medsappnm=’’modifications”nedellstirefnodeac2”mod”clause2”a0000”、(when}绘制是事件或者修正范围。为绘制选定的事件维。(propdefrcsnm=axisnmappnm=1。axisname”stringstrnorm。generalclause=”93005’’、,propdefrcsnm2axisnodeirefnodeac2”axis”clause2”93000”、,propdefrcsnm=firstqappnm=”firstquantum”integerclause=’’68004“、,propdefrcsnm=qc01Intappnm=”quantumcount”integerclause2’’68004’’、,propdefrcsnm=lastqappnm=”lastquantum”integerclause3’’68004”、,propdefrcsnm2wholebooleanclause2”a1106”、(desc}是否通过相关的“部分受影响”属性把选定的维定义为所有的维。(/psmodule> GB/T16965--2009/ISO/IEC10744:1997263 GB/T16965--2009/1S0/IEC10744;1997附录c(规范性附录)体系结构元声明本附录包含完整的体系结构元声明,用于本标准中定义的体系结构。每个元DTD反映了标准正文中给出的准确的体系结构形式声明与其他必要声明即成体系结构元声明,以用于完整的和有效的体系结构元声明集。C.IHyTime词法类型本条定义了用来定义HyTime体系结构形式的词法类型以及通用的词法类型,这些词法类型声明遵照A.2词法类型定义要求中的规范。(!-一这个文档是用如下的共有标识符标识的”驯T16965--2009//NONSGMLLEXTYPESHyTimeLexicalType8//日”一)(!ENTITY%SGMLlexPUBLIC”∞/T16965//NONSGMLLEXTYPESSGMLLexicalTnⅪslISS”>%s(眦ext(!~POSIX规则表达记法一)(!LEXD/?ENorm一规范化文本一”s*,[(#NOTs)*],(S+,[(#NOTs)*])*,8*”HyLex[unom])(!LEXTYPEword一字一”nacharl’’HyLex[unorm3)(!LEXTYPEWOEd8一字~”wordl”HyLex)(!LEXTYPEline一行一SPECPUBLIC”GB/T16965--2009//NOTATIONLEXTYPELine//EN”>(!LEXTYPEATIDRCON一属性名称与内容一264 ’ATTNAME}”#c。m哪”HyLex[unorm]一标准度量单位PUBLIC”GB/T169652009//NOTATIONLEXCONStandardMeasurementOnitll肼”一标准度量单位~~轴名称一GB/T16965--2009/ISO/IEC10744:1997PUBLIC”∞/T169652009//NOTATIONLEXCONAxisname//EN")(!LEXTYPEAXISNM~轴名称一#CHECKAXISNM“Ⅻm”HyLex[unorm3)(!LEXCONgranule一度量单位名称~SPECPUBLIC”∞/T16965--2009//NOTATIONLEXCONMeasurementGranuleName/,EN”)(!LEXTYPEgranule一度量单位名称~#CHECKgranule”nmstrt.nmchar*’’HyLex[unorm]>(!LEXTYPEunzi一无符号非零整数一”[1·9][o一9]*”REGEX)ffLE】nmsnzi一有符号非零整数一”[十一]?[1-9][o一93*”BEGEX)(!ⅡⅨrYPEmarker—HyTime轴标记一”snzi”HyLex[unorm])在本章中定义的词法类型声明以及来自HyTime词法类型规范文档的为sGML标准定义的词法类型。这种文档以如下的声明开始:HyTime词法类型声明文档是引用HyTime文档类型定义来的,使265}芦一嚣器多 GB/T16965--2009/ISO/IEC10744:1997用A.2的词法类型定义要求的处理指令。c.1.1日历有关的词法类型《!LEXTYPE]ULDATE一儒略日一’麓D-#ORDERSGMLCASE,””?,NUMBER国lm[unorm3≥‘{LEXTYPEUTC—UTC日期与时间一。UTCdate,U『TCtime”HyLex)(!LEXTYPEfulldate一完整日期一”UTCdate,ERA,”HyLex)(!LEXTYPEERA一时期”’Bc””BCE”|¨BP””AD”|¨CE”’HyLex)(!l。EXTYPEuTcdate—UTC纪元时期一’year,”一”?,month,”一”?,day’HyI,ex[unorm])(!LEXTYPEmonthday一月和日一’month,”一”?,day’HyLex[unorm])(!LEXTYPEhrmin—hh:mm格式的时间一266 ’hour,”{”?,minute’HyLex[unorm])(!LEXTYpEHour一时刻“[o一1][o一9][23Eo一3]”REGEX)(fLEXTYPEminute一分钟~”[o一5][o一9]"REGEX)(!LEXTYPESecond一秒钟一”[o一5][o一9]I60”REGEX)(!LEXTYPETimeoff一时间域偏移边界“offset,(monthday,hour)?”HyLex)C.2HyTimeMeta-DeclarationsH妒imemeta-declaration集是:(!AFDR”GB/T169§5--2009”)(!~GB/T169652009//DTDAFDRMeta-DTDHypermedia/Time-basedStructuringLanguage(HyTme)//EN~)(!一选项概要:[通用体系结构]altreps选择性表示法设施dale数据属性元素设施dvlist默认值列表设施HyLexSyTime词法模型记法HyordayTime字典顺序记法Included包含实体设施ireftype直接ID引用类型设施lextype词法类型类型设施opacity元素不透明性设施REGEXPOSIX正则表达式记法superdcn记法派生源设施[基本模块]Activity活动策略关联规则设施actypes用户定义活动类型设施bosSyTime有界对象集规则规范设施bosspecHyTimeBOS例外规范设施conloc内容定位设施desctxt描述性文本设施GB/T16965--2009/I$0/IEC10744:1997267 GB/"r16965--2009/1S0/1EC10744:1997dimspec维规范设施HyDimLstHyTime维列表记法HyDimSpcHFrlme维规范记法HyFunkHj,Time标记函数语言markfun标记函数设施valueref值引用设施[定位地址模块]AgrovdefbiblocdatalocdatatokgrovedefgrovplanK譬LexTokListlocmixedlocmultlocr衄elocnmsplccpathlocpgrovdefproplocquerylocrefctlreferattreflocreftyperellocspanioctreeloctreetype[超链接模块]agglinkanchlocclinkhylinkilink1inklocvarlink[调度模块]CalibratdimreffcslocgrpdexgrprepetRyCalSpcHyExSpecHvExtLstHvGrandobjalignpuls鲫apsched[绘制模块]batonhetonseqHvD/mProHVExPro268次生树林定义设施书目定位地址设施数据定位地址设施数据分隔树林构造过程树林定义设施树林规捌规范设施娜im词挂分隔列表定位堆址设施混合定位地址设施多重定位地址设施命名定位地址设施命名空间定位地址设施路径定位地址设施原生树林定义设施性质定位地址设施查询定位地址设施引用控制设施定位引用属性源设施引用定位地址设施引用类型设施相对定位地址设施范围定位地址设施树合并设施树定位地址设施树类型规范设施聚合超链接设施锚点定位地址设施上下文超链接设施超链接关系设施独立的超链接设施超链接定位地址设施超链接遍历规则规范设施可变超链接设施轴刻度设施日历规范标记函数维引用设施有限坐标空间定位地址设施组继承范围规范设施组循环设施HyTime日历规范记法HyTime范围规范记法H矿Cime范围列表记法HyTime颗粒定义记法度量域定义设施对象排列设施脉冲地图规范设施调度设施Baton投影设施Baton序列投影设施HyTime维投影符记法HyTime范围投影符记法 HyProModifypatchpro]ectproseqwandwndpatchNyT山ne投影记法对象修改设施修改修补设施事件投影设施投影符序列设施wand修改设施wand修补设施(!entity%HyTimelx—HyTime词法类型一PUBLIC”GB/T169652009//NONSGMLLTDRLEXTYPESHyTimeLexlcalTypas//RE”)(!~合并选项一)(!entity%grovedef”IGNORE”)(!entity%pgrovdef”INCLUDE”)]]>(!~通用体系结构支持声明一)(!一如下的声明是确保用户说明通用体系结构选项的传播。(!entity%altreps”IGNORE”)(![%altreps;[-J,(!entity%gaaltrp””)(!entity%dafe”IGNORE”)(![%dafe;[(!entity%gadafe”dale”>]])(!entity%HyLex”IGNORE”)(![%dafe;[(!entity%gaHyLex”HyLex”)]]、(!entity%gaHyLex””>(!entity%Hyord”IGNORE”)(![%dale;[(!entity≈gallyOrd”Hyord”>]]>(!entity%gaHyOrd””)(!entity%included”IGNORE”>(![%included;[(!entity%gaincl”included”)]])(!entity%gaincl””)(fentity%ireftype”IGNORE”>(![%ireftype;[(!entity%gairftp”ireftype”)(!entity%galextp””)(!entity%opacity”I锄ORE”)(!entity%REGEX”IGNORE”)(1[%dale;[(!entity%gaREGEX”REGEX”)33>《!emtity%gaRE@X“”)(!entity%superdcn”IGNORE”>(!H∞ATI傩GenKrcPUBLIC”GB/T16965--2009//NOTATIONAFDRARCBASEGeneralArchitecture//EN”)《!ATTLIST#NOTATIONGenArcArcFormANAME#FIXEDGAFormArcNamrANAME#FIXEDGANgesArcSuprANAME#FIXEDGASuprArcIgnDAHAⅫ#FIXEDGAIgnDArcDocFNAME#FIXEDGADocArcDTD(DATA#FIXED”%GerlArc”ArcmataFNAME#FIXEDGABridNAr棚|ridF眦#FIXEDGABridArcAutoNNTOKXN#FIXEDArcAutoArcOptSANAMES#FIXED”commattsdcnatts”ccmmattsCDATA#F工】四”%gadafe,%ga4vl;%gaHyLex;|%gaHyOrd;%gairf卸‘%galextp;%gaopaci;%gaREGEX;”DcnattsCDATA#FIXED”%ga.1trm}gaincll%gaspdcn!”>《!entity%GenArcPUBLIC”GB/T16965--2009//DTDAF豫Met}DTDGeneralArchltecture//EN。>(!一这里包含通用体系结构meta-DTD,使其设施在HyTime中全部可用。一)%GenArc:(!~HYTime体系机构支持声明一)(!~这些支持声明允许按照一些其他H/rime形式定义一些HyTime形式。也就是说例如,”clink”是一种”hylink”,”nameloc”是一种”mlxedloc”。一)(!一如下的定义包括HyBase设施需要支持说明用户选项。一)(!entity%conloc”IGNORE”)270 entity%datalcc”IGNORE”、entity%datatok”IGNORE”、entity%queryloc”IGNORE“、entity%referatt”IGNORE”、entity岳spanloc”IGNORE”’entity%treetype”IGNORE”、[%dataloc;[(![%referatt;[(!entity%hbrefrat”referatt”)(![%multloc;[(!entity%hbmultlc”multloc”)]])]])]])jJ)(!entity%hbqryloc”queryloc”)(!entity%HyBase”INCLUDE”)一(!entity%anchloc”IGNORE”>(![%anchloc;[(![%referatt;[(!entity%hbrefrat”referatt”)]1、⋯(![%multloc;[(2entity%hbmultlc”multloc”>]]>(![%spanloc}[]])(!entity%clink”IGNORE”)(!entity%traverse”IGNORE”>(![%clink;[(![%travezse;[(!entity%hbtrav”traverse”>]])]])《!entity%dimref”IGNORE”)(![%dimref“《!entity%hbbase--HyBase基本模块选项~’”%hhmrkfun:%hbvalrefl。’)272 GB/T16965--2009/1SO/IEC10744:1997entity%hbagrvdf””)entity%hbmixloc¨‘)entity%hbnmsplcM’)entity%hbhylxtk””)entity%hbdattok””)entity%bbqryloc””>entity%hbrefloc””)entity%hbrefrat””)entity%hbmultlc””)entity%hbspanlc””)entity%hbtreetp””)entity%陆locs~HyBase定位地址模块选项一’”%hbagrvdf;%hbmixloc;%hbnmsplc!%hbhylxtk;%hbdattok;%hbqryloc%hbrefloc;%hhrefrat;%hhmultlc;%hbspanlc%hbtreetp;”’entity%hbhylink⋯。)entity%hbtrav”’)entity%胁links—HyBase超链接模块选项一’”%hbhyllnk;%hbtrav;”’)(!entity%HyBase”IGNORE”)(!entity%Link一超链接形式一”agglinkclinklhylinklilinkIvarlink”)(!entity%Resbase一基本模块资源形式~”actrulelbosspecIdesctab”)(!entity%Resloc一定位地址模块资源形式一”agrovdefldatato】cfgroVplanJpgrovdef”、(!~HyTime体系结构桥接记法一)(!elementHvBrid一0274-HyTime体系结构桥接记法一条:66— (%Hy汀C;)*一属性[base]:HyBrid--一公共属性[GenArc]:dale,dvlatt,etfullnm,id,irefmodl,ireftype,laxtype,opacity--一公共属性[base]:activity,conloc,dtxtatt,valueref-一一公共属性[zoos]:refctl,refloc,reftype,rflccspn--)(!一SyTime体系结构桥接记法一)(!notationHyBridN~B1frime体系结构桥接记法~条:66-一PUBLIC”GB/T16965--2009//NOTATIONByTimeArchitecturalBridgingNotation//EN”一属性[base]:HyBricm-一一公共属性[GenArc]{altreps,included,,uperb-一公共属性[h∞]:bosdatt-一~公共属性[10cs]:egrvplan-一)(!attlist#NOTATIONHyBridN—HyTime体系结构桥接记法一条:66-一铀iArcNAME#FIXEDGABridNentity%hosspec”I硎ORE”>[%hosspec;[attlistbosspcat-(ByDoc)Bosspec#IMPLIED]]>(![%bos;[(!attlist#NOTATION-bosdatt-一~HyTimeBOS控制数据属性一条:652~#A工山BoslevelNUMBER#IMPLIED-默认Inbos~BOS级别~~实体的有界对象集级别一一约束:在BOS中的嵌套实体的深度(o=没有限制,1=仅限本实体)一在HyDoc元素中boslevel的属性值一在BOS中包含一~无条件包含或排除,BOS一(inbosjnotinbos)#IMPLIED一默认:包含受BOS级别约束的~Bosprrty一有界对象集优先级一一默认:在实体树根由来的对象的BOS优先级。~(foregrndlbackgrnd)foregrndsubhub一实体是子中枢吗?~(subhub『nosubhl】b)nosubhub ]])(!~b08_一)(!entity%HyEy[spec”IGNORE”)(!一HyTime范围规范记法一)(![%HyExSpecI[(!entity%HyExtLst”IGNORE”>(!一HyTime范围列表记法一)(![%HyExtLst;[(!notationHyExtLst—HyTime范围列表记法~~范围列表每个可以说明为一个范围,另一个范围列表的部分,或作为全部或部分轴标记列表,明确的由标记函数输入或返回。一PUBLIC”GB/T16965--2009//NOTATIONHyTimeExtentListNotation//E矿一属性[sched]:HyExtLst-一一公共属性[GenArc]:altreps,included,superdcn-一~公共属性[base]:bosdatt-一~公共属性[10cs]:egrvplaa-一)(!attlist#NOTATION277 GB/T16965--2009/ISO/IEC10744:1997HvF嘲cLst—HyTime范围列表记法一一条:94.6一C艳-nArcNAME#FIXEDGABridNsuperdcnNAME#FIⅫ.DHyDimLst>(!一HyExtLst-一)(!entity%HyDimSpc”IGNORE”>(!一-维规范一)(![%disspec;L(![%HyDimSpc;[(!entity%ddimspec”HyDimSpc”)]])(!entity%Ddimspec”#REQUIRED”)十一~约束:是为其轴或所有轴的定位源。一一约束:如果支持,unzi精度根据如下的颗粒说明;否则根据为调度定义的HMU轴确定。一一默认:事件,modscope,orproscope必须完全在选项区内选中一事件或对象?一一一所选记录类型:被对象调度的事件、modscopes或proscopes(事件)、对象修改符和投影符~一选择的直接调度类型一一选择的项直接调度元紊类型一—.Lextype:(”#A【正-”I(”#EVENT”l”#MODSCOP”}”#PROSCOP”IGz)*)一一约束:可与任何#EVENT,#MODSCOP,#PROSCOP及GIs事件#AⅡ合并。一默认:Foreachformofelementusedaslocsrc:locsrcelement{default%-alue:EvscbadWandbatonFcs”#EVENT””#MODSCOP””#pROSCOP””#ALL”{!entity%sched”INCLUDE”)《!entity%locsrc”INCLUDE”>(!entity%impsrc”INCLUDE”>(!entity%overrun”INCLUDE”>]])(!一FCSIoc-一)(!~日历规范一)(![%calspec;[(!notationHyCalFun—HyTime日历标记函数记法~一条:992一一日历规范是标记函数用来说明在同一坐标轴上的量程,其以真实时间度量域并用HyCalSpc记法来校准。如果用维规范的第一标记,返回正的标记。如果用维规范的第二标记,返回负的标记一一约束:最高次序的date/time组件不能超过所说明的标准轴。~一约束:忽略date/time组件是对最近的日历calspec的说明。一一Lextype:((JULDATEIfulldatemonthday|day)?,(UTCtimelhrmimsechrmimJminute>?,timeoff*)一PUBLIC”GB/T169652009//NOTATION279 GB/T16965--2009/ISO/IEC10744:1997HyTimeCalendarMarkerFunctionNotatinn//EN”一属性[sched3:HyCalFun-一一公共属性[GenArc]:altreps,included,superdcn--一公共属性[base]:bosdatt-一一公共属性Ills]:egrvplan-一)(!attlist#NOTATIONHyCalFun—HyTime日历标记函数记法一~条:9.92一一GenArcNAME#FIXEDGABridNsuperdcnNAME#FIXEDHyc.alSpcGⅢ4Tor[]TC—Q仃orOTCtimescale--一Note:(GMTHoon;UTCmidnighi)(Q4TOTC)UTc(!elementCalspec0(%HyCFC;)*一日历规范一~条:992一一-Lextype:((JULDATElfulldatelmonthdaylday)?-(UTCt/meIhrminseclhrm/nlminute)?,timeoff*)--~约束。如果不是现有JULDATE或fulldate则假定最近说明的年和其他更大量程一一属性[sched]:calspec--~公共属性[Get--c]:dale,dvlatt,etfullnm,id,ireftype,lextype,opacity--一公共属性[base]:activity,conloc,dtxtatt,valueref-一一公共属性[10ts]:refctl,refloe,reftype,rflocspn-一>(!attlistCalspec~日历规范一一条:9.9.2一HyBaseNAME#FIXEDmarkfunnotationNOTATION(HycalFun)#FIXEDH蹦Funq恤r0TC一-GMTorOTCtimescale-一一Nate±(G}盯noon=UTCmidnight)--((≥iTlUTC)OTC)(!entity%Hl,I?alSpc”INCLUDE“>]]>(!--calspec-一)(!一外部维引用一>(![%dimref;[(!notationDimref一外部维引用标记函数记法一-一条:9.82l—PUBLIC”GB/T16965--2009//NOTATIONExplicitdimensionreferencemarkerfunctionnotation//EN”一公共属性[GenArc]:altreps,included,superdcn-一一公共属性[base]:bosdatt-一一公共属性[10cs]:egrvplan--(!elementDinref_岁h部维引用一一条:9.821一一0(%HyCFC;)*一属性[sched]:dimref--一公共属性[GenArc]:dale,dvlatt,etfullnm,id280 GB/T16965--2009/iSO/IEC10744:1997ireftype,lextype,opacity--一公共属性[base3:activity,conloc,dtxtatt,valueref一一公共属性[10cs]:refctl,refloc,reftype,rflocspm一)(!attlistDimref一外部维引用一一条:9821一HyBaseNAME#FIXEDmarkfunnotationNOTATION(dimref)#FIXEDdimrefelemspec~元素说明一~从元素继承的引用维一CDATA一-Reference-..一Reftype:(batonIeventIevgrpevschedextentextlistlFCSlmodgrplmodscopelprogrplproscopelwand)一#RFⅪUIREDSelcomp一维所选组件一~引用说明的元素的维部件first:Firstorlowestquantumlast:Lastorhighestquantumqcnt:Quantumcount一一(firstIlastlqcnt)qcntflip~Flip所选组件~一是否转换引用的维部件。特别是:noflip:首先作为一个正整数符合在轴初始的第一量程数,最后的作为一个负整数符合在轴末的末尾量程数。qcnt作为正整数。flip:首先作为一个负整数符合在轴末的第一量级数,最后的作为一个正整数符合在轴初始的末尾量级数qcnt作为负整数。~(flipInoflip)noflipschdspecCnm#IMPLIEDAxisspecNAME#IMPLIEDDimnumⅫm任匠R#IMPLIEDExtnumNUMBER#IMPLIEDGranule#IMPLIEDRoffqran~说明的元素固定属性形式一一在一定范围内建立上下文解释fFCS,axisorder,and}Ⅱ肚一一约束:如果元素是特定的evsched,wand,batonorfcs将其忽略。一一一Reference_一’一-Reftype:(batonevschedlwand>?一~默认:dimref是作为包含固定属性形式的元素由schdspec来引用。一一约束:如果elemspec是范围或extlist则为必须的。一一轴说明一一轴在引用维中时一一一Lextype:AXISNm-一约束:轴在引用维中时必须是FCS的有效名一一默认:唯一轴-一维数一⋯1第一维按顺序在轴上出现一一默认:所有维中包含最小维一一范围数~一约束:1=在文档中的第一顺序或唯一范围顺序。一一默认:合并所有相关范围一一报告颗粒一一所报告引用维的颗粒一一一Imxtype:granule--一约束:颗粒须定义为根据轴的同一SMU一一默认:引用维的轴的MDU-一一颗粒处理舍人一一说明如何处理舍人。roerr:如果需要舍人则报告差错。Rocmplet:舍人最小的完整的维;就是说最小维的表现根据完全包含实际的维的颗粒。28] GB/T16965--2009/ISO/IEC10744:1997roscant:最大的完整的维舍入;就是说,最大维是根据所述全由实际的维占据的范围颗粒。Roboundy:舍人的维界限}就是说所报告的维界限的维尽可能的与实际的维边界接近。一(roboundyrocmpletIroerrlroscant)roboundydsdtypes一计算引用维的直接调度类型~~计算引用维时需考虑直接调度元素类型一CDATA—Lextype:(”#A【L”l(”#BATON”l”#EVENT”I”#EVGRP”|”#EVSCRED”f”#EXTENT”f”#EXTLIST”I”#FCS”I”#Mo咖””#MODSCOP”I”#PROGRP”l”#PROSCOP”I”#WAND”lGZ)*)一#IMPLIED~约束:GIs必须是元素中的event,modscope,proscope,evgrp,10flgvip,progrp,evsched,wand,baton,orfcs。一-一默认:依赖所述元素形式,如下:elementspecified:defaultvalue:Extent(nullatring)extlist,epen£,modscopeorproscope1#Enm#EXTLIST”evgrporevsched”#EXTENT#EXTLIST#EVENT#EVGRP”modgrporwand”#EXTENT#EXTLIST#MODSCOP#MODGRP”progrporbaton”#EXTENT#EXTLIST#PROSCOP#PROGRP”FCS”tALL”一)(!entity%sched”INCLUDE”)]])(!一dimref_一)(fentity%locsrc”INcLUDE”)(1entity%impsrc”INCLUDE”)J])(!entity%locsrc”INCLUDE”)(!entity%impsrc”INCLUDE”)]])(!~nameloc-一)(!一命名列表查询定位地址一)(![%nameloc}%queryloc}[(!elementNmquery~命名列表查询定位地址一一条:7112一~通过查询其性质定位元素或实体。一(%HyCFC:)+一属性[10cs3:locsrc,nmquery,impsrc~一可选属性[10cs]:multloc,referatt,spanloc,treetype-一一公共属性[GerlArc]:dale,dvlatt,etfullnm,id,ireftype,lextype,opacity-一公共属性[base]:activity,conloc,dtxtatt,valueref-一一公共属性[10cs]:refctl,refloc,reftype,rflocspn-一(!attlistNmqueryHyBaseNAMEHvBnamesCDATAQdomainCDATA#IMPLIEDNotation一命名列表查询定位地址~一一条:7112~#FIXEDqueryloc#FIXED”locsrcqdomain”一查询域一一引用一一默认:指对impsrc的描述一~查询记法一 #IiEQUIREDNotfoundNAmERROR一-Lextype:NOTATION-一一没有找到数据一一Lextype:(”ERROR”I”I衄0RE”)一GB/T16965--200911SO/IEC10744:1997)(!entity%locsrc”INCLUDE”>]])(!一上下文链接一)(![%clink;[(!elementC1ink一上下文链接一一条:8.22一一O(%HycFC;)+一属性[zinks]:clink--一可选属性[1inks]:clinktra--一公共属性[GenArc]:dafe,dvlatt,etfullnm,id,ireftype,lextype,opacity-一一公共属性[base]:activity,conloc,dtxtatt,valueref-’一公共属性[10cs]:refctl,refloc,reftype,rflocspn-一(!attlistC1ink上下文链接一条:822一HyBaseNAME#FIXEDhylinkHyBnamesUDATA#FIXED”refsublinked”anchroleUDATA#FIXED”refmarkrefsub#LIST”anchcstrNAMES”selfrequired”linkend一相关链接末端对象一(DATA一引用一#I船LI皿一默认:省略或有条件的~一约束:如果左边未说明,必须在anchcstr的COND说明。一)]])(!一clink~)(!entity%impsrc”INCLUDE”)(!entity%overrun”INCLUDE”)]])(!一dataloc-一>(!一内容定位~)(![%conloc;[(!attlist一内容定位~一条:671一#ALLHyBaseNAME#FIXEDHyBridvaluerefCDATA#FIXED”#CONTENTconloc”conlcc一内容定位一一元素语意内容的定位一UDATA一引用一#CONREF一默认:句法内容一)]])(!~conloc-一>(!entity%desctxt”IGNORE“)(!一desctxt--)(!一描述性文本一)(![%desctxt;L(!elementDesctxt一描述性文本一一条:6723—0(#PCDATA)--Lextype;words~一公共属性[GenArc]:dafe,dvlatt,etfullnm,id,irefmodl,ireftype,lextype,opacity-287 GB/T16965--2009/ISO/IEC10744:1997一公共属性[base]:activity,conloc,dtxtatt,valueref一公共属性[10cs3:refctl,refloc,reftype,rflccspn-·)]])(!ENTITY%activity”INCLUDE”>]])(!一actype}.)(!entity%activity”IGNORE”)#A工LActrulesCDATA(!~活动策略公共属性~)[~活动策略关联规则一一条:6.7.3~#IMPLIED]])(!一activitP一)(!entity%HyDimlet”IqIOf暇1>(!一-HyFunk-一)]])(Ientity%Dmarkfun”#REQUZRED”(!elementMarkfun一默认标记函散记法~一条:6.8.1.2-.一标记函数一一条:6.812一一估计列表中零或多轴标记一0O(%“ycFc;)*一约束:内容必须符合说明的标记函数记法。一一属性[base]:markfun-一一公共属性[GenArc]:dafe,dvlatt,etfullnm,id,irefmodl,ireftype,lextype,opacity-一一公共属性[base]:activity。conloc,dtxtatt,valueref--一公共属性[10cs]:refctl,refloc,reftype,rflocspn-一(!attlistMarkfunNotationNAME~标记函数一一条:6.812一一标记函数记法一一一LextypejNOTATION-一%dmarkfun:)]],(!一markfun-一)(!entity%locsrc”INCLUDE”)(!entity%impsrc“INCLUDE”>(!entity%overrlm”INCLUDE”)]]){!一listloc-->(!entity%locsrc”INCLUDE”)(!entity%impsrc”INCLUDE”)(Ientity%overrun”INCumE”>]])(!entity%overrlln”INCLUDE”>]])(!~relloc-->(!一calibrat-一)(Ientity%HiCaiSpc”IGNORE”)《!一HiTime日历规范记法一)293 GB/T16965--2009/ISO/IEC10744:1997《![%HyCalSpc;L(!notationHyCalSpc~H!ffime日历规范记法一~条:9.9.1一~在真实时间里描述一个点。这个点说明发生在所述点的期限内最小单位时间初始点。一一注:例如,日历规范”1996-02—07”表示发生点在1996年2月6号和7号之问的午夜。一~注;可以直接用于轴坐标和排列。也可作为标记函数记法的依据。见HyCalFun-一一Lextype:((JULDATElfulldatejmonthdaylday)?,(UTCtimelhrminseclhrminlminute)?,timeoff*、-·一约束:数据必须是有效的(例如,不能是“2—30”)。一一约束;有效时间为可应用的无冲突的保存的白昼或时区的时间偏移量。一PUBLIC”GB/T16965--2009//NOTATIUBH皿蛔甜∞dⅡSpecificationHotati∞//髓”一属性[∞h枷lH斛spc-一~公共属性[GenArc]laltreps,i.cluded,Superdcn--~公共属性[b∞e3;bosdatt-一~公共属性[10c8]:egrvplan--)33>(!entity%grpdex”IGNORE”>(!一组继承范围规范~)《![%grpdex;[(!attlist—grpdex-一一组继承范围规范一一条:94.3一(evgrp,mo由rp,progrp)Grpdex一组继承范围规范一一用于调整大小,重新整理,循环。组成员继承范围。如果也期望名字的范围,则必须说明为所继承的范围之一。一CDATA一引用一一-Reftype:(extentextlist)~#IMPLIED一默认:grpdex和全部“组范围”一样,就是说,名字的范围是有效的。一)]])(!一-grpctex-一)(!entity%grprepet”IGNORE”)(!~组循环规范一)(!L%grprepet;L《!attlist-grprepet-一一组循环规范一一条:943一(evgrp,modgrp,progrp)Repscope~循环范围一一范围包含循环的事件,modscopes或proscopes的事件,取决于每个axis-named属性的值中的附加标准。在每个轴,循环在循环范围的第一个量程开始,直到每个轴循环范围的终点~CDATA一引用一#IMPLIED--Reftype:extent-一一默认;这组的事件只可能发生的在任何有效范围之内,循环的数量仅由axis-named的属性循环计数限制参数来限制。~一-附加的属性是为从属元素定义的,其中一个属性为FCS的每个轴所定义。属性的名字是轴的名称,属性的值说明关294 GB/T16965--2009/ISO/IEC1074411997于组的循环和一个轴的范围的绝对di盯ef值所指出的。每一个属性有其词法模式(uint,((”NOPART“i”PART”),unzi)?,unzi?),解释如下:”循环计数限制”参数(uint):如果值是0,没有循环计数限制。属性范围来说明轴的开始至结束循环。如果没有描述其属性值,如果之前是l则由0值处理。如果循环计数限制的值比0大,循环的值由限制的数值来说明。如果没有值来说明属性范围,则循环的数值只由指定的循环和原有轴长来确定。如果没有说明轴名称属性的值,“循环计数限制”参数为1。”允许局部维”参数(”P^时“|¨NOpAHT”){如果值是“P瑚”,局部循环在连续的轴域开始或结束处开始。如果值是”NOPART”,局部循环不发生。(可能有空闲的区域在连续的轴的开始或结束处。)缺省的值为”NCPART”。“带式样的起始点”参数(pe-nultimateunzi):值是HMU的数值(在该维第一个组件的值为1)即第一个事件连续的开始。如果值不是l,剩下的部分将组成在每个轴的第一循环。如果”允许局部维”参数值是”NOPART”这个循环将作为跳跃的间隔发生。其缺省值为1。”后继事件偏移”参数(finalunzi):其值为HMUs的数值,这被处理为决定下一个连续的请求(或下一个有一个暗含di血ref作为它的第一个部件的维)的地址决定的目标组的qcnt,缺省值是这个组的有效的qcnt。一(!entity%sched”INCLUDE”)]]>(!一grprepet-一)《!emtity%sched”INCLUDE”)]])(!一objalign--)(!entity%puls∞ap”I咖”)(!一脉冲地图一>(!L%pulsemap;L(!attlist—puls锄ap-·一脉冲地图一~条:97~(baton,event,evgrp,evsched,modgrp,modscope,progrp,proscope,wand)Pulsesap~脉冲地图一一调度表用作脉冲地图一∞ATA一-引用一#IMPLIED--Reftype:(baton{evschedlwand)~一约束:脉冲地图必须是在与FCS相同的引用者中~默认:无一(!entity%sched”INCLUDE”>]])(!entity%wand”INCLUDE”)]])(!一wndpatch-一)(!entity%wand”IGNORE”)(!~Wand规则一)(![%wand[(!elementWandrule—Wand规则一一条:10231~一0(%HycFc;)*一属性[rend]:wandrule_一一公共属性[c目-mrc]:dafe,dvlatt,etfullnm,id,ireftype,lextype,opacity--一公共属性[base]:activity,conloc,dtxtatt,valueref一一公共属性[10cs]:refctl,refloc,reftype,rflocspn--一引用者[rend]:rendrule一(!一wand-一>《!一修改符范围一)(![%wand;[(!elementModscope一修改符范围~一将修改符范围定义为一个或多个范围一一条:i0233~GB/T16965--2009/ISO/IEC10744:1997-0(%Hyc"FC;)*一属性[base]:overrun-一一属性[sched]:exspec-一~属性[rend]:modscope,select-一一可选属性[sched]:pulsemap_一一公共属性[GenArc]:dale,dvlatt,etfullnm,id,ireftype,lextFpe,opacity--一公共属性[base]:activity,conloc,dtxtatt,valueref-一一公共属性[10cs]:refctl,refloc,reftype,rflocspn--~引用者[sched3:dimref:elemspec,rFCSloc:prjsrc--一引用者[rend]:prorule:sources--(!attlistModscoPeModifier口)m#IMPLIED一修改符范围~一条:i0.233一一应用的修改符和修改符修补一~引用一一默认:修改符语义,如果有,是通过GI,属性和/或以某些应用定义的形式的元素的内容来直接说明的。一(!entity%modify”INCLUDE”)]])(!一wan出一>(!~修改符范围组一)(![%wand;[(!elementModgrp~修改符范围组一一条:i0.2.3.4一-0(modgrplmodecope)+一属性[rend]:select-一一可选属性[鸵hed];grpde.x,grprepet,p1118锄ap_一一公共属性[GeIm]:dafe,dvlatt,etfullnm,id,ireftype,lextype,opacity-一一公共属性[base]:activity,conloc,dtxtatt,valueref--一公共属性[10cs]:refctl,reflec,reftype,rflocspn-一一引用者[sched]:dimref:elemspec,rFCSloc:prjsrc-·一引用者[re州]:prorule:EOiiTCe8-一(!entity%modify”INCLUDE”)]])(!一wand-一)(!entity%patch”IGNORE”)《!一修改符修补一)(![%patch;[《!elementModpatch一修改符修补一~条:1024一一0(#PCDATA)~引用一一注:IDREFs可能引用modpatch元素。一一公共属性[GenArc]:dafe,dvlatt,etfullnm,id,ireftype,lextype,opacity-一公共属性[base]:activity,conloc,dtxtatt,valueref-·一公共属性[100s]:refctl,refloc,reftype,rflocspr}一2昕 GB/T16965--2009/ISO/IEC10744:1997一引用者[rend]:modl:katch,modrule:modpatch-一(!entity%modify”INCLUDE”>]])(!一修补一)《!entity%modify”IGNORE”)《!一修改符规则一>{![%modify;[(!elementModrule一修改符规则一一条:i022一一0(%HyCFC;)’一属性[rend]:modrule-一一公共属性[GenArc]:dale,dvlatt,etfullnm,id,ireftype,lextype,opacity-一一公共属性[base3:activity,conloc,dtxtatt,valueref-一一公共属性[ices]:refctl,refloc,reftype,rflocspn-.一引用者Erend]:rendrule-一(!attlistModruleEvents∞m#REQUIREDmodifierCDATA一修改符规则一一条:1022一一事件和modscopes-一一引用一一Reftype:(eventevgrpevschedlmodscope}modgrpwand)~一修改符或修改符修补一一引用一一约束:唯一的修改符或修改符修补一#REQUZRED>(!一HyTime维投影符记法一)(!L%HyDimPro;L(![%HyDimSpc;[(!entity%dpdimspc”HyDimSpc”)]])(!entity%dpdlmspc”#E{EQuIRED”《!一投影符序列一)《![%proseq;[(!elementProseq—O(#PCDATA)一投影符序列一一条:10323一一引用一一Reftype:(proseq|projectr)+一约束:有IDREFs做为名字且无事件指示器或连接符的SGML模型组的子集~一公共属性[GenArc]:dafe,dvlatt,etfullnm,id,ireftype,lextype,opacity-一一公共属性[base]:activity,conloc,dtxtatt,valueref-一一公共属性[10cs]:refctl,refloc,reftype,rflocspn-一一引用者[rend]:prorule:proseq,proseq-一)(!entity%project”INCLUDE”)]])(!entity%batonseq”IGNORE”)(!一Baton序列一>(![%batonseq;[(!elementBatonseq—Baton序列一一条:i0.33.5-一-0(#PCDATA)~引用一一Reftype:(batonseqlbaton)*--一约束:有IDREFs做为名字且无事件指示器或连接符的SGNL模型组的子集一公共属性[Genre]:dafe,dvlatt,etfullnm,id,ireftype,lextype,opacity-一公共属性[base]:activity,conloc,dtxtatt,valueref-一一公共属性[10cs]:refctl,refloc,refty】pe,rflocspm一一引用者[rend]:batonseq,batrule:batom一)(!entity%baton”INCLUDE”)]])(!--batonseq--)(!entity%baton”IGNORE”>(!一Baton规则一)(![%batonI[(!elementBatrule—Baton规则~一条:1033.1—0(%HyCFCl)+一属性[rend]:batrule,modified-一一公共属性[GenArc]:dale,dvlatt,etfullnm,id,ireftype,lextype,opacity-一~公共属性[base]:activity,conloc,dtxtatt,valueref-一一公共属性[10cs]:refctl,refloc,reftype,rflocspn-一一引用者[rend]:rendrule-一300 (!attlistBatrule$cheds∞口#REQUIREDBatonCDATA#REQUIREDTargschd(∽Z*一Baton规则一一条{10.3.3.1~一调度一一引用一--Reftype:(batonlevschedlwand)*一.-Baton--一引用一--Reftype:(batonlbatonseq)--一目标调度一一引用一一Reftype:(batonevschedlwand)+一#REQUIRED)(!entity%project”INCLUDE”)]]>(!entity%project”INCLUDE”)]])(!一baton-.)(!~投影符范围组一)(![%baton;[Jj>(!~baton-一>‘!entity%Droject”I锄ORE”)(f~投影符一)302 ]])(!一投影一)(![%project;[(![%HyExPro;[(!entity%dexpro”HyExPro”)]])(!entity%Dexpro”世IMPLIED”(!elementExpro一默认范围投影符记法一一条:10.3l2--~范围投影符一~条:10312一GB/T16965--200911SO/IEC10744:1997一在源FCS中将投影函数定义为范围中的单一目标范围。一0O(%H!,,CFC;I%dimlist;ldimpro)。一约束:如果没有说明范围投影符记法,则内容被限制为(dimpro)*--~属性[rend]:expro-.一公共属性[GerLArc]:dale,dvlatt,etfullnm,id,ireftype,lextype,opacity-一一公共属性[base]:activity,conloc,dtxtatt,valueref--一公共属性[10cs]:refctl.refloc,reftype,rflocspn-一>(!attlistExpro一范围投影符一一条:103l2一Notation一范围投影符记法一NAME一一Lextype:NOTATION-一%dexpro;~默认:内容被限制为(dimpro)*_->]])(!一投影~)(!一维投影符一>(![%project;[]])(!entity%sched”INCLUDE”)]])(!一描绘规则一)(![%rend;[(!elementRendrule.0(%ArcCFC;)*一描绘规则一一条:104.-一引用一一一Reftype:(hatrulelmodruleprorulerendrulelwandrule)一一公共属性[GenArc]:dafe,dvlatt,etfullnm,id,ireftype,lextype,opacity-一一公共属性[base3:activity,conloc,dtxtatt,valueref-·一公共属性[10cs]:refctl,refloc,reftype,rflocspn-一一引用者Erena3:rendrule-一)(!entity%sched”INCLUDE”>]])(!一rend-->(!entity%sched”IGNORE”)(!~事件一)(![%sched;[(!elementEvent一调度事件一一条:95.1~一0(%HyCFC;)+一属性[base]:overrun-一一属性[sched3:exspec一一一可选属性[sched3:pulsemap,objaligP,一一公共属性[GenArc3:dafe,dvlatt,etfullm,id,ireftype,lextype,opacity-·一公共属性[base]:activity,conloc,dtxtatt,valueref-一一公共属性[10cs];refctl,refloc,reftype,rflocspn--一引用者[sched3:dimref:elemspec,rFCSloc:prjsrc。-一引用者[rend]:modrule:events,prorule:souEces-一)(!一sched-一)(!一事件组~)《!element—inomprop-‘一包含性质/省略性质-一条:7l4.1~(inclprop,omitprop)-0(#PCDATA)一Lextype:cnmlist--一属性[10c8]:inomproi}一一公共属性[GenArc]:dale,dvlatt,etfullnm,id,ireftype,lextype,opacity-一306 一公共属性《!attlist‘‘znomprop-[base]:activity,conloc,dtxtatt,valueref-.[10cs]:refctl,refloc,reftype,rflocspn-一(inclprop,oaitprop)ClassesNAMES#IMPLIED—grovplan-一)一包含性质/省略性质一~条;7.1.4.1一一类中包古或省略命名性质一一默认;所有类存在性质一(!一HyTime文档树林规翊一)(![%grovplan;[(!attlist----igrvplar一-一树林规划一一用于当用实体构造树林时的树林规划一一引用一一一Reftype:grovplan--一默认:为实体的D删的默认树林规划~~定位源树林规划一一条17.141一(anchloc,dataloc,FCSIoc,linkloc,listloc,nmlist,nmquery,nmsploc,pathloc,proploc,querylcc,relloc,treeloc)grovplan一树林规划一一管理地址解析的树林规划一CDATA~引用一一一Reftype:grovplan*—·#IMPLIED一默认:定位源树林定义为其树林定义,无论是明确的说明还是暗含的说明一)]]>(!一grovplam一)(![%agrovdef;[(felementAgrovdef一辅助树林定义一~条:7.1.4.4一.0(%HyCFC)*~属性[10c8]:agrovdef~一公共属性[GenArc]:dale,dvlatt,etfullnm,id,ireftype,lextype,opacity--~公共属性[base]:activity,conloc,dtxtatt,valu口ef_一一公共属性[10cs]:refctl,reflcc,reftype,rflocspn-一(!attlistAgrovdefGrovesrcCDATA#REQUIREDGroveconNAME#REQUIREDGr哪lanCDATA#IMPLIED)]])《!~agrovdef-一)(fentity%nmsploc(!(![%nmsploc;[(!elementNmsploc308-O(#PCDATA)一辅助树林定义一一条:7.1.4.4一~树林源~一引用一一树林构造过程一一一Lextype:NOTATION-一一树林规划一~引用一--Reftype,grovpl心·一默认:树林构造过程的默认树林规划~”I翩ORE”、一命名空间定位地址一)一命名空间定位地址~一条:793一一通过命名空问中的名称对对象定位一一约束:定位源必须是展示一个已命名节点列表性质或其附加性质源展示一个已命名节点表性质。~一一Lextype:(wordlliteral)*-_一属性[10cs]:nmsploc,proplat,locsrc,impsrc--一可选属性[10cs]:multloc,referatt,spanloc,treetype- (!attlistNmsplocNamespcNAME#REQUIREDNotspaceERRORGBIT16965--2009/ISO/IEC10744:1997一公共属性[GenArc]:dale,dvlatt,etfullnm,id,ireftype,lextype,opacity-一一公共属性[base3:activity,conloc,dtxtatt,valueref-一~公共属性[iocs]:refctl,refloc,reftype。rflocspn--一命名空间定位地址一一条:793一一命名空间一~从其中选择节点的定位源的名字空间性质。如果rmspace是无效的呢?一Lextype:(”ERROR”I”IGNORE”)一一如果名字在nmspace中是无效的呢?一~Lextype:(”ERROR”I”I(mORE”)一(!entity%locsrc”INCLUDE”)(!entity%impsrc”INCLUDE”)]])(!一-queryloc。-)(!entity%locsrc”IGNORE"’>(![%impsrc;[(!attlist一隐含定位源一.条:73一(anchloc,dataloc,Fcsloc,l打ll【loc,listloc,nmlist,mnsploc,nmquery,path/oc,proploc,querylOC,relloc,treeloc)impsrc一隐含定位源一一隐舍locsre属性的默认定位源可能的值是:ptreert默认定位源是作为主树根的默认树林中的结点,通常是文件元素。grovert包含定位地址的文件的树林根referrer默认定位源是对定位阶梯做直接或问接引用的地址对象,此阶梯的最高台阶是该定位地址。referatt默认树林规划是被referatt属性命名的referrer的属性implicit查询中的定位源是隐含的。对queryloc而言,查询中的定位源是隐含的。对其他定位地址形式来说,与ptreert相同。~(grovertlimplicitlptreertIreferattlreferrer)一约束:当且仅当支持referatt选项时才允许referatt。一ptreert>]])(!一impsrc-一)(![%referatt(!attlist一-referatt-..(!一Referrer属性,给定位源定址~>[~Referrer属性,给定位源定址一条:73一(ancllloc,dataloc,FCSIoc,liI】】cloc,listloc,nmlist,nmquery,nmsploc,pathloc,proPloc,queryloc,relloc,treeloc)referatt—Referrer属性,给定位源定址一CDATA一一Lextype:ATTORCON-一#IMPLIED~约束:已命名的属性或内容,必须被referrer展示并且必须是可引用的。>j]>(!一referatt-一)3]0 GB/T16965--2009/1S0/IEC10744:1997(!一多重位置属性一)(![%multloc}[(!attlist—multloc-一一多重位置属性一一条:74_一(anchloc,dataloc,FCSIoc,linkloc,listloc,mixedlce,nameloc,nmlist,nmquery,nmsploc,pathioc,proplcc,queryloc,relloc,treeloc)ordering一对位置的排序有意义吗?一(noorderordered)orderedset一通过忽略重复使多重位置成为一个集合一(notsetset)notset)]])(!一multloc-一)(!~树类型属性一)(![%tr∞type;[(![%spanloc;[JJ>(!~跨度位置一)(![%spanloc;[(!attlist~spanloc-一一跨度位置属性~一条:76.-(anchloc,dataloc,Fcsloc,linkloc,listloc,mixedloc,nameloc,nmlist.nmquery,nmsploc,pathloc,proploc,querylOC,relloc,treeloc)spanloc~跨度位置一一多重定位包含一个跨度吗?-(nspanspanloc)nspanlimsort一跨度界限排序~一界限是按跨度的起始居于首位的顺序排列的吗?(1imsortInlimsort)nlimsort)]])(!一spanloc一一)(!entity%reftype”IGNORE”)(!一引用元素类型一)(![%reftype;[(!attlist—reftype-一~引用类型属性一311%蛳啦毗一,邛“。 GB/T16965--2009/ISOIIEC10744:1997蚌AⅡ-reftype∞∞“#ALL#ANY”]])(!一reftype-->一引用元素类型~一Lextype:((”#ALL”,(GIlmodelgroup}”#ANY”))?,(ATrORCON,(GIlmodelgroupI”#ANY”))*)一一约束:一个给定的仅出现一次的ATlwAMEor#CONTENT;应用于地址的最终对象的类型,不包含任何立即定位地址元素。一一约束:如果不支持refmodel选项,就是局限于重复或非重复的模型组或组。模型组中的记号必须是GIs一一常量~(!entity≈refctl”IGNORE”)(!~引用定位地址~>(!attlist%rflocatt;)(!attlist#NOTATION%rflccatt;)]]>(!attlist#NOTATION%rfspnatt;)]])(!entity%proplat”IGNORE”>(!一树型组合属性一)(![%treecom;[(!attlist—treecom-一一树型组合属性~313 GB/T16965--2009/1SO/IEC10744:1997一条:7101.3一(pathloc,treeloc)treecom~树型组合一一合并多重源树一(ntreec∞Itreecom)ntreec∞)]])(!一treecom-.)(![%HyLexTok(!notationHyLexTak《!一HyTime词法分隔~)[一HyTime词法分隔一一个使用HyLex语法的数据分隔树林构造器一一条:7.10.2一PUBLIC”(D/T16965--2009//NOTATIONHyTimeiHicalTokenizer//FuN”一属性[10cs]:HyLexTok-一一公共属性[GenArc]:altreps.included,superdcn-一~公共属性[bose]:hosdatt--一公共属性[10cs]:egrvpla-n-一)《!attlist#N(YrATIONHyLexTok—HyTime词法分隔一一条:7102一HyBaseNAME#FIXEDdatatcd【suPerdcnNAME#FIXEDHyLex~来自datatok记法的属性一catsrcCDATA#IMPLIEDcattokenCDATA#IMPLIEDcatres(DATA#IMPLIEDboundary(sodeod{sodiec【isceodisciecinmodel)isciecmaxtokszNUMBER#IMPLIED一来自SyLex记法的属性~norm(normfl:morm)norm(!一datatok-一)一超链接关系一一条:821一一锚点角色一一Lextype:(NAME,(”#LIST”r#CORLIST”)?)十一一Constraint:一个链接的全部#CORLIST锚点的成员数量必须相同。一一常量一~锚点存在约束一一Lextype:(”REQUIRED”l”SELF”l”0MIT”I”COND”)+~一约束:每个锚点一个或所有锚点共用一个一--—-Constant---一空锚点是错误吗?~一Lextype:(”ERROR”|¨NOTERROR”)+~~约束:每个锚点一个或所有锚点共用一个一一锚点地址属性:每个非自身锚点角色,有一个与锚点角色有相同的名字(除非被体系结构的属性重命名器属性重映射)。一]])《!一上下文链接,遍历一)(!entity%varlink”IGNORE”)(!一可变链接~)(![%varlink;[(!elementvarlink一可变链接一一条:8.2.4一一0(anchspec)+一属性Fiinks]:ancspcat,varlink,vartrav-一一公共属性[GenArc]:dale,dvlatt,etfullnm,id,ireftype,lextype,opacity-一公共属性[b粥e]:activity,conloc.dtxtatt,valueref-一~公共属性[ions]:refctl,refloc,reftype,rflocspn-一)(felement一0(%HyCFC:)’一锚点规范一一条:824一一引用一一注:需要使用refloc设施一~属性[1inks]:anchspec,ancspcat,vartrav-一一公共属性[GenArc]:dafe,dvlatt,etfullnm,id,ireftype,lextype,opacity-一一公共属性[base]:activity,conloc,dtxtatt,valueref一一公共属性[10cs]:refctl,refloc,reftype,rflocspn-一(!attlist一锚点说明一一条:82.4一multmem一锚点能有多重成员吗?一(singlelistcorlist)singleemptyanc~空锚点是错误吗?一318 (errorInoterror)error、(!attlist—ancspcat-一一锚点规范属性~一条:824一(anchspec.varlir】】OanchroleNAME#IMPLIED一锚点角色GB/T16965--2009/1SO/1EC10744:1997一缺省:对anchspec来说,锚点角色是元素的GI一缺省:对varlirk而言,varlink不是自身锚点一(1entity%ilink”IGNORE”>(!一独立链接一>[%i11nk;[elementilink独立链接一-条:825一一0(%HyCFC;)*属性[1lnks]:ilink-一可选属性[1ir】】【s]:traverse-一公共属性[GenArc]:dafe,dvlatt,etfullrm,id,ireftype,lextype,opacity-一公共属性[base]:activity,conlcc,dtxtatt,valueref一公共属性[10cs]:refctl,reflcc,reftype,rflocspn-·(!attlistilinkanchroleCDATA一独立链接一一条:825一一锚点规则一一Lextype:(NAME,(”#AGG””#LIST””#CORLIST“)?)+319 GB/T16965--2009/ISO/1EC10744:1997#REQUIRED1inkendsIDI也FS一约束:每个锚点一个一一常量一一链接结束一一引用一一约束:每个锚点角色一个ID,除了如果第一个锚点是链接元素本身的话,第一个皿会被省略。一#REQUIRED>]]>(!attlistmeasure一度量域定义一~条:921一#REQUIRED(!element320~标准度量单位~~域的标准度量单位一一词法类型:SMU-一一颗粒定义 GB/T16965--2009/ISO/IEC10744:1997一条:921~一个颗粒定义元素的内容定义了正在被定义的颗粒和度量域的sMU之间的数学关系。一一注:关系会被根据相同度量域的另一个颗粒定义。一一0(%Hy伍C;)+一属性[sched]:granule--一公共属性[Get--c]:dale,dvlatt,etfullnm,id,ireftype,lextype,opacity-一一公共属性[hase3:activity,conloc,dtxtatt,valueref-一一公共属性[10cs]:refctl,refloc,reftype,rflocspn--)(!attlistgranule一颗粒定义一一条:921一gn一颗粒名字~一正在被定义的颗粒的名字。颗粒名字没有像SGML名字那样被规格化(即,它们是对例子敏感的)。一CDATA一词法类型:granule-一一约束:在度量域中唯一.-一约束:不能和SMU名字相同(带有被忽略的例子)一#REQUIREDgdnotNAME%dgdnot:]])(!~度量一)一颗粒定义记法一~用来说明正被定义的颗粒和度量域的SMU之间的关系。一一词法类型:NOTATION-一(!一度量单位一>]])(!~sched-一)(![%sched;[《!notationCHNYUAN一中国货币流通的单位圆一PUBLIC”GB/T16965--2009//NOTATIONYuancurrencyunitofChina//KN”(!notationGBRPOUND一英国的货币流通单位英镑一PUBLIC”GB/T16965---2009//NOTATION322 GB/T16965--2009/ISO/1EC10744:1997PoundcurrencyunitofUnitedKillgdom//EN”)]J)《!--sched-一)(!一有限坐标空间一)(![%sched;[(!elementFCS一有限坐标空间一一条:9,3一-0(batonevschedlwand)*一属性[sched3:FCS--一可选属性Csched3:calibrat-一一公共属性[GenArc]:dafe,dvlatt,etfullnm,id,ireftype,lextype,opacity--一公共属性[base]:activitytconloc,dtxtattfvalueref-.一公共属性[10cs]:refctl,refloc,reftype,rflocspn-一一引用者[sched]{dimref:elemspec,pdimref:prjtarg,rFCSloc:prjsrc,sched:Fc2-(!attlistFCS一有限坐标空间一一条:93~axes一每个轴的名字和度量域SMU一一一约束:在列表中每个轴的名字必须唯一。一CDATA一一Lextype:(AXIS删,SMU)+一-一一Constraint:Eachaxisnamemustbeuniquewithinthelist-一#REQUIRED一常量一一-axes属性值中说明的每个轴的名字都当作是用户元素的属性名字,该属性说明了轴的维和粒度。每个这样的属性都有词法类型(NUMBER,颗粒?,(”#MDU“,比率。颗粒?)?),其中的数目就是轴的维,如果被说明的话,根据以下的颗粒被表达;否则维就根据轴SMU来表达。如果一个颗粒被说明,它既是默认基础颗粒同时也是默认的轴的删u。如果#删和一个比率没有被说明的话,该颗粒就定义了随后死亡颗粒或默认f蜘。全部的颗粒名字都必须根据轴的SMU定义。一)j])(!一sched-一>(![%sched{[(!attlist—exspe。一~名义上的范围规范一一条:942-·(event,modscope,proscope)ex8pec一范围规范一CDATA一引用一一-Reftype:(extentlextlist)+~#REQUIRED>]])(!一sched-一)]])(!entity%324 ”#IMPLI皿”(!elementextlist一默认的范围列表记法一一条:9.4.5一一范围列表一一条19.4.5-一~在一个或更多axe上的范围表一GB/T16965--2009/ISO/IEC10744:1997o(%啦血cIl%dimlist;lextentIextlist)*一约束:如果没有说明范围列表记法,内容受限于(dimspec)*一一一属性[,ch,d3teztlist一公共属性[铂nrc]ldale,dvlatt,etfullnm,id,ireftype,lextype,opacity--~公共属性[b¨e]Iactivity,c∞loc,dtxtatt,valueref-一一硷共■性[1∞8]:refctl,refloc,reftype,rflocspn--一引用者[w喇]ldimref:el∞spec,exspec:exspec,grpdex:grpdex--)]]>(![%F∞l”;%project;[C.3普通的体系结构声明普通的体系结构声明集是326 (!~选项摘要:altreps可选定的表示设施dafe元素设施的披搌属性dvlist设施列表的默认值HyLexHyTi№词接摸疆记法I咖dHyTiw诃真排序记法included包禽实体的设埔ireft,pe引用类型设施的直接功lextype词法类越设施opacity不透明的元素设施船G髓POSIX规划表达记法“perd∞记法引出源设施~)(?ISl0744USELEXSGMLIex)(!entity%GACFC一普通体系结构上下文内容一”GABrid“)(!entity%GAResrc-一普通体系机构资源窗体一”dvlist”>(!一唯一标识符一)(!attllst#A工L一唯一标识符一一条:A52一一唯一标识符一GB/T16965--2009/ISO/IEC10744:1997327 GB/T16965--2009/ISO/IEC10744:1997ID#IMPLIED一默认值:无一(!一元素类型全名一)(!attlist一-etfullnm-.一元素类型全名~条lA.5.2一#砒etfullnm一元素类型全名一锄月#IMPLIED一默认值:普通标识符一)(!entity%opacity”IGNORE”)(!一不透明性一>(1一类型一)]])(!一词法类型一)《!entity%dvlist”IGNORE“)(!一属性列表的默认值一)(![%included;[(!attlist#NOTATION-一included--一包含记法数据的实体一一条lA.5.7.1~#ALLincludedCnm#IMPLIED]])(!一包含的一>一包含记法数据的实体一~词法类型:实体~~默认值:不包括实体~(!entity%altreps”IGNORE”)(!一交替继承一)(![%altreps;[(!~superdcn-一)(!entity%HyLex”IGNORE”)(!一HyTime词法模型记法一)《![$HyLex;[.-条:A23一一标准化一CB/T16965--2009/ISO/IEC10744:1997>]])(!一-HyLex-一)(!entity%HyOrd”IGNORE”)(!attlist#NOTATIONREGEX—POSIX规则表达记法一case一计算机辅助软件工程敏感度一一区分大小写或者是不分大小写~(caseicase)331 GB/T16965--2009/150/IEC10744:1997附录D(资料性附录)辅助材料用于HyTime的附录列表指南和相关的材料。下面的出版物都是在文献中用到的:——CharlesF.Goldfarb,”HyTime:Astandardforstructuredhypermediainterchange”,IEEEComputer,v01.24,no.8,pp.81—84,August,1991.AJapanesetranslationispublishedinNikkeiElectronics1991.12.9(no.542).(完整的超媒体和HyTime概念的介绍);——StevenR.Neweomb,NeillA.Kipp,VictoriaT.Newcomb,”TheHyTimeHypermedia/Time_basedDocumentStructuringLanguage”,CommunicationsoftheACM,November,1991.(HyTime广泛的有插图的指南)。下面的材料都是SGML小组发布的P.O.Box361,Swindon,Wiltshire,SN57BF,UnitedKing—dom,http://www.HyTime.org/”:——HyTime执行官总的看法什么是HyTime简短的摘要。——catalogofHyTime结构窗体的目录所有结构窗体的摘要,包含他们之间的关系、命令或者是命令状态,以及对标准的说明书的前后引用。——HyTimesGML标准说明书所有的SGML标准形式说明都以计算机能处理的方式定义了HyTime。——HyTime处理模型描述怎样可能执行HyTime可能处理每个结构窗体。——HyTime范例倒证性案例覆盖了地址以及超链接设施、时间顺序设施、同步、列队以及HyTime的图形用户界面对象的使用。——怎样阅读标准简短的信息解释了使用在ISO的惯例。——怎样向你的后辈讲解SGML标准。332SGML用户组是国际非营利性成员组织,在英国特许为教育机构,是开发HyTime的ISO/IEC分委会中的联络成员。然而,其分发的文档不遵循ISO/IEC回顾程序,没有正式的身份,不被ISO/IEC或其他任何国家成员体或设施认可。 中华人民共和国国家标准信息技术超媒体/时基结构化语言(HyTime)GB/T169652009/1SO/IEC10744:1997*中国标准出版社出版发行北京复兴门外三里河北街16号邮政编码:100045网址www.spc.net.ca电话:6852394668517548中国标准出版社秦皇岛印刷厂印刷各地新华书店经销*开本880×12301/16印张21.25字数650千字2009年11月第一版8009年11月第一次印刷*书号:155066·1—39471定价152.00元如有印装差错由本社发行中心调换版权专有侵权必究举报电话:(010)68533533'

您可能关注的文档