1、ICS 35.040 L72 远B中华人民主K/、和国国家标准GB/T 28167-2011 /ISO/IEC 19503: 2005 信息技术XML元数据交换(XMI)Information technology-XML metadata interchange (XMI) (ISO/IEC 19503: 2005 , IDT) 2011-12-30发布护苦饭玛学Lji;f 1矿、;是飞也.),主!:匈彷叹J中华人民共和国同家质量监督检验检茂总局中国国家标准化管理委员会2012-06-01实施发布GB/T 28167-2011 /ISO/IEC 19503: 2005 目次前言.m 引言.N
2、 l 范围-2 规范性引用文件3 缩略语14 XMI模式设计原则4. 1 目的-4.2 XML模式的使用 2 4. 3 基本原则34.4 XMI模式和文档结构34.5 XMI模型44.6 XMI属性.4.7 XMI类型14.8 元模型类的规范14. 9 发送不完整元数据144.10 链接154. 11 剪裁模式产生式184. 12 发送元数据差别234.13 用多种工具交换文档254.14 通用的数据类型机制265 XMI模式产生式275. 1 目的275.2 XML 2.0版本模式276 XML文档产生式386.1 目的386. 2 引言386.3 EBNF规则表示386.4:,增加的示例.
3、 . . . . . . . . . . . . . . . . . . . . . 46 6.5 非本源数据的文档产生式规则487 从XML到MOF的产生式. . . . . . . . . . . . . . . . . . . . . . . 48 7. 1 引言487.2 DTD(文档类型定义)到MOF产生式的7.3 XML到MOF.50 7. 4 XMLSchema到MOF518 XMLSchema Model 52 8. 1 引言52GB/T 28167-2011/ISO/IEC 19503:2005 8. 2 XMLSchema结构538.3 XMLSch巳maSimple Da
4、tatypes . 70 OU今中qu口Run凡UO只U项事献息性文信合考律符参法录录录附附附性性性范料范规资规ABC E求旦采旦采附附附H GB/T 28167-2011 /ISO/IEC 19503: 2005 目。吕本标准按照GB/T1. 1-2009给出的规则起草。本标准等同采用ISO/IEC19503: 2005(信息技术XML元数据交换(XMl)。国际标准原文中有索引,但只是在电子版中起到链接的作用,在国家标准中的作用不大,因此删除。本标准在采用国际标准的同时,对国际标准中的英文翻译统一采用以下规则:a) 首字母大写的词,用斜体表示;b) 黑体的词,用黑体表示;c) 带引号的词,用
5、带引号表示;d) 大写词用宋体加粗,小写词用宋体;e) 形式描述式,不译,格式按原文。请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别这些专利的责任。本标准由全国信息技术标准化技术委员会(SAC/TC28)提出并归口。本标准起草单位:中国电子技术标准化研究所、北京科迪智标信息技术有限公司、中国标准化研究院。本标准主要起草人:王静、张展新、刘彦东、冯惠、邢立强。山GB/T 28167-2011 /ISO/IEC 19503: 2005 I XMI主要目的是为了在分布式异构环境中,使得在应用程序开发生存周期工具(例如:基于ISO/IEC 19501(统一建模语言CUML)的建模工具和
6、基于ISO/IEC19502(元对象设施CMOF)的元数据存储库/框架)之间的元数据易于交换。本标准集成了3个关键的行业标准: XML:可扩展置标语言,W3C标准。 UML:统一建模语言,OMG建模规范,现在是ISO/IEC19501。. MOF:元对象设施CISO/IEC19502)。OMG在1999年2月采纳了XMIC1.0版本)。作为一个模型和元数据交换设施,是对OMG分析和设计任务组发布的一项建议要求的响应。该设施的目的是支持元数据交换(如ODPUML模型)。2002年10月XMI修订任务组提交了最新的版本XMI2.0,它包括一些对原有规范的澄清和更正,以及为适应MOF版本1.4而做出
7、的变更。分布式处理的迅速发展需要本标准和ITU-T建议X.901-904I ISO/IEC 10746有一个协调的框架,而开放分布式处理参考模型CRM-ODP)提供了这样的一个框架,它定义了一个能够支持分布式、互操作性、可移植性相结合的体系结构。RM-ODP第2部分CISO/IEC10746-2)定义了描述分布式系统的基本概念和建模框架结构。RM-ODP第3部分CISO/IEC10746-3)应用第2部分的基本概念和框架规定了一个开放性分布式系统的类属体系结构。当然,XMI标准不仅仅局限于此标准文本,它和开放性分布式处理CODP)标准化的任务也同样有关。N GB/T 28167-2011 /I
8、SO/IEC 19503: 2005 信息技术XML元数据交换(XMI)1 范围本标准为以下各项提供了规范:a) 将基于MOF的元模型转化为XML模式的XML模式定义(XSD)的产生式规则的集合;b) 将基于MOF的元数据的编码和解码的XML文档产生式规则的集合;c) 基于XMI的模式和XML文档的设计原则;d) 将XMLDTD导入基于MOF的元模型的产生式规则的集合。本标准提高了在通常的分布式对象环境和特殊的分布式开发环境中的元数据管理和元数据互操作性。在对象分析和设计领域中,本标准描述了基于流式元数据互操作,同时XMI(部分因为它是基于MOF的)也在元数据的很多其他领域得到同样的应用。2
9、规范性引用文件下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。GB 13000一2010信息技术通用多八位编码字符集(UCS)CISO/IEC 10646: 2003 , IDT) GB/T 18714. 2-2002 信息技术开放分布式处理参考模型第2部分:基本概念CISO/IEC10746-2: 1996 , IDT) GB/T 18714. 3-2003 信息技术开放分布式处理参考模型第3部分:体系结构CISO/IEC 10746-3:1996 ,IDT) ISO/IEC 1950
10、1 信息技术统一建模语言CInformationtechnology-Open distributed processing Unified modeling language(UML) 3 ISO/IEC 19502信息技术元对象设施CInformationtechnology-Meta object facility( MOF) W3C XML 1. 0 http:/www.w3.org/TR/REC-xml-Feburary,2004 W3C XSD 1. 0 http:/www. w3. org/TR/ /XMLschema-O/、XMLschem-1、XMLschem-2缩略语DTD
11、 文件类型定义(Document Type Definition) MOF 元对象设施(M巳taObject Facility) UML 统一建模语言(U nified Modeling Language) XMI XML元数据交换(XML Metadata Interchange) XSD XML模式定义(XML Schema Definition) 4 XMI模式设计原则4.1 目的本章是关于XML模式的描述,它可和XMI规范一起用来允许一些元模型信息通过XML确认进GB/T 28167-2011 /ISO/IEC 19503: 2005 行验证。首先描述的是XMI中模式的使用,然后是基本
12、原则简短的描述,包括每个XML属性的和XMI定义的XML元素的简短描述。这些描述后面有更完整的描述,它们提供一些示例来说明XMI模式在元模型类规范、发送不完整元数据、链接、剪裁模式产生式、发送元数据的差异,以及工具之间交换文档这些范围内的设计动机。在本标准第5章定义了如何自动从MOF元模型生成一个模式,来表现任何符合MOF的元模型。本章将描述XMI2.0模式;第5章描述如何创建XMI2.。模式。可以规定标签值对作为MOF元模型的部分来剪裁生成的模式,但不要求这样做。使用这些标签值对需要一些关于XML模式的知识,但是产生的这些模式将比默认模式更有效。至于如何运用这些标签值对来产生XML模式的完整
13、描述见第7章。4.11中剪裁模式产生式描述了标签值、它们对模式产生式的影响和它们在文档序列化上的影响, _-4.2 XML模式的使用用命名空间UR飞k而采是命名空间前缀)来标识哪个模式可以用来确认XMLXML确认能确定合也企元模塑数据的XML文档中是否且现东标准要求的XML元素,而不论这入- - version字符串 contact字符串 documentation exporter字符串文档 exporterVersion字符串 difference 差异 longDescription字符串 extension 扩展 shortDescription字符串 notice字符串 owner字
14、符串Extension extender字符串字符串 extenderld 字符串图4.1XMI元素、文档和扩展的XMI模型咱也VAdd 位置.整数 整数。*Re侣aseObject(来自MOF)+差异+替换操作。*图4.2差别的XMI模型Replace 位置:整数5 GB/T 28167-2011 /ISO/IEC 19503: 2005 差异信息(图4.2)描述成目标对象的增加、删除和替换。差别相关对象可能在相同或者不同的文档中。差别信息由Add、D巳lete和Replace类组成,它规定了一组差异并且与增加或者删除的MOF对象相关。注意RefBaseObj ect类是规定差异有能涉及任意
15、对象的目标的占位符。要求的元素声明中并没有RefOl:加ct类。XML模型中每个元素的XML模式声明将在以下各条里给出。除了4.6XMI属性描述的XMI属性和XMI类,这些声明将根据第7章定义的XML模式规则的XMI产生式产生。4.5.3 x岛11只包含XMI数据的XMI文档中的顶层XML元素是XMI元素。其声明是:(xsd:complexType口ame= XMI 属性版本将标签吨号均叫飞引川川川阴仙W叫川u旧叫耐ali圳li旧I证川f且标签巳en迁巾forc臼eM仙lnl丑nlm丑lumI盯mI丑1 - OF元模型一样可以序列化MI元素中出现两次:一种是直接来自XMI版本属性,另一种则通过
16、obj ectA ttri bs组的内含物。因此,属于obj ectA ttri bs属性组的版本属性必须从XMI类型声明中排出。至于如何使XMI类序列化见6.3.1总体文档结构。XMI元素的序列化是特别的它在第8章XML文档产生式规则中定义。XMI模型包有下列标签设置: 标签nsURI设为http:/www.omg. org/XMI; 标签.nsPrefix设为xmi; 标签su perClassFirst设为true; 标签useSchemaExtension设为true。4.5.4 扩展扩展od设计成包含在用户元模型的范围之外的扩展信息。扩展是XMI类的一个多值属性,它可6 G/T 28
17、167-2011/IS0/IEC 19503 :2005 嵌入到XMI文档中一个特定位置中。扩展的模式如下:工臭想忽视其他工具做得扩展。工具内部的队其他属性则允许标识还凶哺刘作为固定或移动扩展7 GB/T 28167-2011 /ISO/lEC 19503: 2005 (xsd: element name = Documentation type = Documentation / 4.5.6 增加、替换和删除增加类代表在该文档或者其他文档中对目标对象集的增加。position属性则指明了和其他XML元素相关的增加应该放置在哪里。defaut,-l指明在目标元素的末端增加新元素。additio
18、n属性涉及被增加的对象集。这两个属性都将标签设置为true。替换类代表目标对象集的删除和与替换属性涉及的对象的增加。position属性则指明了和其他XML元素相关的替换应该在哪发生。defaut,一1指明在目标元素的末端增加替换的元素。replacement属性涉及替换的目标元素的对象集。这两个属性都将标签设置为true。8 删除类代表该文档或其他文档中的目标对象集的删除。差异类是增加、替换和删除类的起类。这些类的声明如下:(xsd:complexType口ame= Difference (xsd: choice minOccurs = 0 maxOccurs = u丑bou口ded (xs
19、d: element name = target (xsd:complexType (xsd: choice minOccurs = 0 maxOccurs = unbou口ded (xsd:a口yprocessContents = skip/ (/xsd:choice (xsd:anyAttribute processConte口ts= skip/ (/xsd:complexType (/xsd:element (xsd:element name = difference type = Difference/ (xsd:element口ame= container type = Differ
20、ence / (xsd: element ref = Extension / (/xsd: choice (xsd: attr ibute ref = id / (xsd:attributeGroup ref = ObjectAttribs / (xsd: attribute name = target type = xsd: IDREFS use = optional / (xsd:attribute口ame= container type = xsd:IDREFS use = optional/ (/xsd:complexType (xsd:element name = Differenc
21、e type = Difference/ (xsd:complexType name = 且dd(xsd:complexContent (xsd:extension base = Differe口ce(xsd:attribute name = position type = xsd: string use = optional/ (xsd:attribute口ame= addition type = xsd: IDREFS use = optio口al/(/xsd:extension (/xsd:complexContent (/xsd:complexType (xsd:element口ame
22、= Add type = 且dd/(xsd: complexType name = Replace (xsd:complexContent 一一-GB/T 28167-2011 /ISO/IEC 19503: 2005 (jxsd:extension 4.6 XMI属性本条描述在XML文档和模式的产生式中用到的XML属性。通过确定相容的XML属性集,XMI提供了相容的体系结构用来使相容的对象一致并且所有资源链接。4. 6. 1 Element Identification属性由本标准定义的3个XML属性来标识XML元素,这使得XML元素可以相互关联。通过XMLID REF s , XLi nk
23、s和XPointers,使XML元素引用其他XML元素。这些属性中的两个在一个叫IdentityAttribs的属性组内声明;id属性是全球声明,因为可以使用idName标签来变更id属性的名称。把这些属性放在属性组中可以避免在模式中这些属性的声明错误。其声明如下:id XML语义要求一个XML文档内的该属性值是惟一的;然而,在全球范围内这值不要求惟一。该属性可作为idref的属性值使用在下一条中定义。它也可属于XLinks中的href属性值的一部分。本条中的该属性和其他属性的应用实例见4.10.3UML的示例。label 该属性可以用来提供一个标识特殊XML元素的宇符串标志。可在该属性中放任
24、何值。uuid 该属性的目的是为XML元素提供全不惟一性标识符。该属性的值应该是带有标识符类型前缀的全球惟一的字符串。如果访问MOF分配的UUID,当在XMI中对MOF数据进行编码时,可以把9 GB/T 28167-2011/ISO/IEC 19503:2005 MOF的UUID放进uuidXML属性中。例如,为了包含开放组定义的DCEUUID,肯定会放DCE:在该UUID前面。这些属性值将会在简单的Xlinks中的href属性里用到。XMI并没有规定选择哪个UUID协定。UUID(通用惟一标识符)是-来自于开放组(曾经的开放软件基金)的标准。基于CORBA的这个标准已经得到广泛应用,这其中包
25、括微软的COM(GUIDs)和许多其他公司DCEo该标准发布了产生这些128位ID的方法,但是ID有效性和惟一性并没有经过实践检验。UUID被放置在XMI文件中,它的形式会是Idnamespace: uuid 0 UUID的Id命名空间通常是4.6.2 Linking属性XMI要求通过使用-J天MLXML元素。该属性的比肩是允卫干XML元素的作用像简单的Xlinks一制的相同文档中找到万|用邮元素。见4.10许使用SimpleXL间k。夹啊I不排除使用扩充的XLinksoXLi此规范定义了主它们作为LinkAttrib论旦中运义的增加属性也是可能的。使用简单的XLinks;-战;可以子坠bre
26、f设置到URI想要的位置。hrj!芝d性列/id属性设置成特殊值的相关XML元素。为了XI)剖k扣X向远击手建议中定义自、买f项击币rs.瓦耳、i立一个特殊的URI形式来规定id属性值。Idref 该属性允许在相同的文档中的XML元素与其相关的另一XML元素使用XMLIDREF机制。在XMI文档中,该属性值应是相关XML元素的id属性值。4.6.3 Version属性版本属性必须出现,因为在一个XMIXML元素中XMI对象是没有序列化的,并且在代表另一对象的XML元素中也没有序列化。如果出现,那么属性值一定是2.0,这指明对象是根据本标准序列化的: 4.6.4 Type属性当不能从模型中得知类
27、型,那么该类型属性就用来指明这些序列化的对象类型。如果引用类型有10 -圄-圃-一-一GB/T 28167-2011 /ISO/IEC 19503: 2005 子类,情况就会出现。该属性的声明是:(xsd:attribute name = type type = xsd:QName form = qualified / XMI命名空间包含如下的对ObjectAttribs属性组的声明,这是一些适合对象的属性声明,而不是每个MOF类中声明里包含Identi ty A ttri bs、LinkAttribs属性组、Version和Type属性:(xsd:attributeGroup且ame= Ob
28、ject且ttribs(xsd: attr ibuteGroup ref = Ide口tityAttribs/(xsd:attributeGroup ref =飞ink:Attribs/(xsd:attribute口ame= version type = xsd: string use = optional fixed = 2.0 form = qualified/ (xsd:attribute name = type t立胆二吐量二-u_e=飞ptionalform = qualified/ ./仨(/x叫attributeGroup主乒/王三三二-4.7 XMI类型含兀/个被命名为anyC
29、任何)的类型,在XMI2.。模式,。这种类型的本条详细描述怎样合刊模占/5章XML模式产生式/ 中的EBNF语法来描述属性殷示,同时还包括如何处理在元模型类之间的继承问题。这里将用la4.8. 1 命名空间限定XML元素名当元模型的正式模式产生时,模式生成器必须选择一个或者多个能够在元模型中惟一标识的XML命名空间URIoXML处理器将使用那些命名空间URI来标识那些用作XML确认的模式,作为描述XML模式规范。在文档里,元模型类、包和关联的XML元素名称就是它的简短名称。符合元模型属性和引用的XML标签名称就是属性和引用的简短名称。符合元模型属性和引用的XML属性名称就是属性或者引用的简短名
30、称XML的名称。因为每个XML标签都有它自己的命名空间。每个命名空间可以分配给逻辑的URI,可以在包含元模型实例的XML文挡的XMI元素的命名空间声明中找到它。通过为资源提供永久的全局有效名,XML命名空间规范分配给在所有生存期间能始终保持固定的命名空间逻辑名称。示例是http:/schema. omg. org/ sp巳c/UML/l.4。在处理GB/T 28167一2011/ISO/IEC19503 :2005 XML文档期间,XML命名空间规范就不会再收到任何关于废除和重新分配URI的要求。下面是一个在使用命名空间的XMI文档中的UML模型的示例:(xmi:XMI version = 2
31、.0 XMLns: UML = http:/schema.omg. org/ spec/UML/ 1.4 XMLns:xmi = http:/ schema. omg. org/spec/XMI/2. 0) (UML:Class name= C1) (feature xmi:type= UML:Attribute name= a1 visibility= private/) (/UML:Class) (/xmi:XMI) 这个模型有一个名称为Cl并且包含着一个单独的名称是al的私有属性的类。XMI元素声明了XMI的版本和带有合理的URI的URL的命名空间。4.8.2 元模型的多样性在XMIl.
32、l中,元模型的多样性被忽略了,因为DTD不能在没有对XML元素进行排序的情况下标识这种多样性。默认情况下,XMI产生模式时也同样忽略多样性。通过确定MOF(元对象设施)元模型的标签值来剪裁XMI产生的模式。下列两个标签:org. omg. XMI. enforceMaximumMultiplicity和org.omg. XMI. enforceMinimumMultiplicity允许规定多样性在一个模式中究竟是被忽视还是得以确定下来。元模型多样性直接从MOF定义的多样性那里映射而来,它有一在XML模式属性中称为minOccurs和maxOccurs的上限和下限。对于多样性来说,minOccu
33、rs对应于XML属性中的下限,另外一个则是上限。4.8.3 类规范每种元模型类可以被分解成3个部分:属性、关联和组成。类可以由XML元素表示,每个属性、引用和组成具有一个XML元素。类的XML元素包含继承属性、关联和组成。在本条后面的示例中,xsd是XML模式命名空间(http:/www.w3. org/2001/XML Schema 勺的命名空间前缀,xmi是XMI命名空间的命名空间前缀。下面的名称为c的元模型类的展示是一个最简单的情况,在这里没有任何属性、关联和遏制关系:(xsd:element name= c type= c/) (xsd: complexType name = c) (
34、xsd: choice minOccurs = 0 maxOccurs = unbounded (xsd:element ref = xmi:Extension/ (/xsd:choice (xsd: attr ibute ref = xmi: id / (xsd: attr ibuteGroup ref = xmi: Obj ectA ttr ibs / (/xsd:complexType 如果类有属性、联合体或者构成物,对应于它们的XML元素将被放置在内容模型的所有组中,将在下面做出说明。4.8.4 属性规范这里用XML元素和XML属性代表元模型类c的属性。如果元模型属性类型是原始的或枚举
35、的,在缺省状态下就像XML元素一样也要为它们声明XML属性。这种编码选择有几个原因,包括:要_-GB/T 28167一2011/IS0/IEC19503: 2005 交换的值非常大以致对一个XML属性不合适,以及只能是用于元素内容而缺乏对空白空间处理的控制。使用XMIattribute和el巳ment标签可以改变缺省编码。具体见4.11.4XMI元素与XMI属性。标签是如何影响编码的相关信息见4.11.lXMI标签值,有XMI标签的完整列表。名称为a的每个属性声明如下:(xsd:element name= a type= type specification/ 与其属性一致的XML元素将在符合
36、包含着属性类的复杂类型的内容中声明。i亥类型或者是XML模式数据类型,或者是枚举数据类型,或者是元模型中的类。对那些多样性上限是1的字符串类型来说,XML属性也同样必须在与元模型类c一致的XML元素中声明,并且该XML元素必须要类cf的XML元素的模型内容中。没有多样性实施的c的声明如下:(xsd: element name = c type = c / (xsd : compl exType name = c (xsd: choice minOccurs = 0 maxOccurs = unbounded (xsd:element name= a type= xsd:string nilla
37、ble= true/ (xsd:element ref = xmi:Extension/ (/xsd: choice (xsd:attribute ref = xmi:id/ (xsd:attributeGroup ref = xmi:ObjectAttribs/ (xsd:attribute name = a type = xsd: string use = optional / (/xsd: element 如果类中包含一个值为字符串的org.omg. XMI. schemaType的标签,那么元素也要声明成XML类型字符串。对于多值属性,不声明任何XML属性,而是将每一个值作为XML元素
38、编码。当a是一个带有列举值的属性时,与元模型属性一致的XML元素以及XML属性声明中用到的类型如下:(xsd: simpleType base = enumName (xsd:restriction base = xsd:stri口g(xsd: enumeration value = vl / (xsd:enumeration value = v2/ (/xsd:restriction (/xsd:simpleType 在这墅,enumName是枚举类型名称,v1和v2是列举文本。如果属性有列举值,XML元素和属性将放置到类c;的复杂类型中,其声明如下:(xsd:element口ame=a t
39、ype= enumName/ (xsd:attribute口ame= a type = e口umNameuse = optional / 如果属性是多值的枚举属性,就可以省去XML属性声明。在某些MOF模型中,在将列举文本放进模式前,宜将列举的前缀子字符串移除。标签org.omg.XMI. XMIName给出了XMI文档和模式需要的枚举文字的名称。特性和枚举属性的默认值可以使用与属性相关的org.omg. XMI. defaultValue标签在模式中规定。默认值应是放进模式的XML字符串表示。属性的默认值应在模式中得到详细规定,因为XML允许处理器选择不把模式当成是最优化选择处理来阅读文档。
40、当工具跳过处理模式,它们就将得不到XML属性的默认值。这样它们就必须通过理解元模型未获得默认值。当d是一个默认时,默认的形G/T 28167-2011 /ISO/IEC 19503: 2005 式是:对于字符串属性,在与类一致的XML元素中的相应XML属性声明是:对于列举属性,在与类一致的XML元素中的相应XML属性声明是:注:当阅读有XML元素规定模型属性值的文档时,一定要使用XML元素值而不是未使用的XML属性的默认值。4.8.5 引用规范4.8.8 衍生信息4.9 发送不完整元数据在XMI2.0模式生成器中,可以决定是否支持模型片段进行交换。4.9. 1 模型片段交换实际上,大部分信息是
41、相关的。对于实际信息交换来说发送一部分已知信息的能力非常重要。另外,在信息模型发展过程中,需要非常频繁地对它们进行交换。通过XMI交换不完整模型采用如下指南:a) 信息可以从一个模型中丢失。发送模式应不要求新信息的增加和创建操作。b) 模型片段可以是不相交集合。每个集合都应该可以在相同或者不同的XMI文件中发送。c) incomplete是指信息在数量上不多于complete的信息。元模型指出的不完整以外增加的14 GB/T 28167-2011 /ISO/IEC 19503: 2005 信息只能通过扩展机制发送。d) 就像在完整元数据中一样,要对现存的元数据进行语义验证。4.9.2 XMI编
42、码模型片段的交换可以通过降低下限大于0的多样性下限来完成。4.9.3 示例下面是一个不完整的UML模型的示例:b) c) d) f) g) h) 当跟从在代理的链接之后,代理的定义将由引用元素取代。i) 将缓存最大化并且封装,使用文档内相同元素的本地代理去链接带有外部引用的单独代理是非常有效的。j) 关联角色的元素典型的包含代理,这些代理链接到参与关联的类的定义。4.10.2 链接对XMI来说,最通用的连结的要求是:a) 在相同的文档中使用元素的标识对一种XML元素进行链接。b) 在不同的文档中使用元素的标识对XML元素进行链接。c) 在相同或者不同的文档中使用元素的通用惟一标识对XML元素进
43、行链接。15 GB/T 28167-20 11/ISO/IEC 19503: 2005 以下的条描述XMI如何支持这些要求。在一份文档中的链接idref属性可以用来规定当前XML文档中的XML元素的XMLID。每一个提到的结构都会有一个本地XMLID,一个在单个XML文件中惟一的字符串。跨文档的链接支持跨文档链接是选择性的。4.10.2.1 使用XMIhref属性找出XMIid 这是跨文档链接的最简单的形式。在XMIidName标签的帮助下,它可以向后与XMI1.2或更新的版本兼容。这里,XMIhref属性用来通过它的XMI标识在另一个XML文档中找出XML元素。这个href必须是URI引用,
44、正如IETFRFC 2396:统一资源标识符定义的那样。URI引用必须是URI# id _ value这种形式,URI在这里可以找到包含XML元素的XML文件,并且id_value是XML元素的XMIid属性的值。作为示例:将XML元素放置在Co.XML文件中。4.10.2.2 使用XLink简单链接和XPointer裸名定位XMIid 这比用XMLhref属性要稍微复杂,而且没有提供更多的功能。但是它有标准XLinkand Xpointer 软件可以跟随这个链接的优势。这里,在XLink是XLinknamespace前缀的地方,使用了xlink:href属性。XLink前缀必须在包含Xlink: href属性的那些文档中声明,例如:xlink: href值必须再次作为URI# id_ value形式的URI引用。在这种情况下,id_value技术上是XPointer的裸名,但是它看起来就像XMIhref属性的id_value。带有xlink:href的XML元素
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1