1、ICS 35.240.60 L 67 gg 中华人民共和国国家标准化指导性技术文件GB/Z 19669-2005 XML在电子政务中的应用指南Guide for XML application in e-government 2005-02-18发布中华人民共和国国家质量监督检验检疫总局中国国家标准化管理委员会2005-05-01实施发布GB/Z 19669一2005目次前言.l1I 1 范围. 2 术语和定义、缩略语2. 1 术语和定义2.2 缩略语23 电子政务框架.4 3. 1 电子政务概念.4 3.2 电子政务标准技术参考模型3.2.1 网络基础设施层53.2.2 应用支撑层53.2.
2、3 应用层63.2.4 信息安全3.2.5 管理4 XML技术介绍4.1 XML概念和核心技术4.1.1 XML基本概念 7 4. 1. 2 XML相关概念与技术 9 4. 1. 3 XML的一般应用过程144.2 XML相关的标准和规范154.2.1 服务相关语言和协议154.2.2 元数据标准204.2.3 工作流相关的语言234.2.4 事务处理和协作相关标准264.2.5 日录服务相关标准284.2.6 XML安全相关标准294.2.7 XML处理与表现相关标准324.2.8 XML开发相关标准345 XML在电子政务应用体系架构中的应用指南375.1 XML在电子政务中的应用综述5.
3、 2 应用支撑层395.2. 1 数据访问395.2.2 信息交换465.2.3 流程控制5.2.4 事务处理5.2.5 目录服务. 5. 3 应用层615.3. 1 公文处理5.3.2 业务处理GB/Z 19669-2005 5.3.3 信息发布5.3.4 信息采集795.3.5 服务调用.85 5.4 信息安全915.4.1 典型应用场景915.4.2 应用需求分析925.4.3 技术方案935. 5 管理945.5.1 典型应用场景945.5.2 应用需求分析955.5.3 技术方案95附录A(资料性附录)其他相关领域的XML标准96H GB/Z 19669-2005 前言本指导性技术文
4、件由国家电子政务标准化总体组提出井归口。本指导性技术文件主要起草单位z万达信息股份有限公司、太极计算机股份有限公司、首都信息发展股份有限公司、黎明网络有限公司、东莞市开普互联信息有限公司。本指导性技术文件主要起草人z李光亚、张峰昌、肖彼华、董晶、程华军、龚智辉、肖红、张素伟、刘晓政、狄楠、王晓晖、邪一晖、汪敏、石俊。阳山GB/Z 19669-2005 XML在电子政务中的应用指南1 范围本指导性技术文件对电子政务标准技术参考模型体系结构中的不同层次的不同模块进行了共性需求的归纳和总结,给出了电子政务中可以采用的XML技术指南,并对相关技术进行了分析比较。本指导性技术文件适用于以下对象:a) 电
5、子政务业务操作人员;b) 电子政务系统的系统集成商;c) 电子政务系统的软件开发商;d) 电子政务系统建设的监理单位。上述对象以外的相关单位、厂商、个人也可参照使用。2 术语和定义、缩略语2.1 术语和定义下列术语和定义适用于本指导性技术文件。2. 1. 1 业务模型business model 对一个组织的业务分工、业务流程、业务信息等方面的描述。2.1.2 目录服务directory service 一种在分布式计算环境中、Internet上提供目录查找的服务。2. 1.3 信息采集information collection 从各种信息源(包括系统、文件或者用户等)收集信息的过程。2.
6、1.4 信息发布information publication 通过媒体及网络,将信息正当或授权公开发表、展示。2. 1. 5 流程控制process control 对业务过程的基本控制操作,包括启动、暂停、恢复、放弃、继续、销毁等基本操作。2. 1.6 样式表stylesheet 一种描述文档数据显示在屏幕上或打印在打印机上的表现样式。2.1.7 Web服务Web service 描述一些操作(即发布、查找、绑定,利用标准化的XML消息传递机制通过网络访问这些操作)的接口。2. 1.8 XForms W3C组织制定的一种能够用于多种平台(包括桌面电脑、于持设备和信息系统)的Web表单规范。
7、GB/Z 19669-2005 2. 1.9 XLANG 微软公司所提出的一种基于Web服务的业务流程定义语言。2. 1. 10 XML命名空间XML namespace 将XML元素包装在一起以供重用的方式。2. 1. 11 XPath 2. 1. 12 XPointer 2. 1. 13 XQuery W3C组织的一种构2.2 缩略语2 下列缩略语适用APIC Applicatio ASP C Acti ve Se BPEL4 WSCBusi BPML(Busine BPSSCBusines CA C Certifica te COMCCompon CORBACComm DS扎1LCDir
8、ectoryServic DTDCDocument Type Defi DTPCDistributed Transaction EBCEnterprise avaBean) 企业avaBeanHTMLCHyperText Markup Language) 超文本置标语言HTTPCHyperText Transfer Protocol) 超文本传输协议ICECThe Information and Content Exchange Protocol) 信息和内容交换协议IDL(Interface Definition Language) 接口定义语言ISAPI CInternet Server
9、Application Programming Interface) 互联网服务器应用程序编程接口2EE(Java 2 Platform Enterprise Edition) java 2平台企业版j2SE(J ava 2 Platform Standard Edition) ava 2平台标准版jAXP(Java API for XML Parsing) 用于XML文档处理的使用avaAPI JAXR(Java API for XML Registries) 用于XML注册的JavaAPI JDOM(Java Document Object Model) Java文档对象模型JAXB(J
10、ava API for XML Data Binding) 支持XML数据捆绑的JavaAPI JAXM(Java API for XML Messaging) 支持XML通信的JavaAPI JCP(J ava Community Process) Java团体过程JDBC(Java DataBase Conn巳ctivity)Java数据库连接JMS(J ava Message Service) J ava消息服务JSP(Java Server Pages) Java服务器页面MathML (Mathematical Mark UDDI(Univ WSCI (Web Service Cho
11、reography Interface) Web服务互动接口WSDL(Web Service Description Language) Web服务描述语言WSFL(Web Service Flow Language) Web服务流程语言GB/Z 19669-2005 结构化信息标准XACML(eXtensible Access Control Markup Language) 可扩展的访问控制置标语言XHTML(eXtensible HyperText Markup Language) 可扩展的超文本置标语言XLink(XML Link Language) XML链接语言XML(eXtens
12、ible Markup Language) 可扩展置标语言XPDL(XML Process Definition Language) XML流程定义语言3 GB/Z 19669-2005 XSL(eXtensible Stylesheet Language) 可扩展的样式语言XSL T( eXtensible Stylesheet Language Transformations) 可扩展的样式语言转换3 电子政务框架3. 1 电子政务概念电子政务已成为世界各国新一轮公共行政管理改革和衡量国家及城市竞争力水平的重要标志之一。随着我国改革的深入和加入WTO,电子政务建设已成为当前我国信息化建设的
13、首要任务。a) 从电子政务的内涵看,电子政务是指运用信息与通信技术,打破行政机关的组织界限,改进政府组织,重组公共管理,实现政府办公自动化、政府业务流程信息化,为公众和企业提供广泛、高效和个性化服务的一个过程;b) 从电子政务的对象和职能看,可分为内部和外部两个部分。内部主要是各级政府之间、政府的各部门之间以及各公务员之间的互动,承担政府的决策和管理职能;外部主要是政府与企业、政府与个人之间的互动,承担政府对外服务和监管职能;c) 从不同层面电子政务推进的策略上看,由于中央、省(市人地市(区县)、县市(街镇)各级政府所担负的主要职责不同,因而电子政务在各层面上的实施重点和策略也有所不同。级别越
14、高,内部宏观决策和管理的职能越重,涉密信息越多,实施电子政务应重在领导决策系统建设和政府机构之间的信息资源共享;级别越低,其面向企业和个人的服务和监管职能越多,涉密信息越少,电子政务实施策略应着重于与社会、公众的交互行为,实现政府管理的开放性和透明性;d) 从电子政务发展的阶段看,电子政务内部建设-般要经历公文电子化一办公自动化一行政管理网络化网上协同办公四个阶段;外部建设一般应经历网上简单的信息发布一网上单向互动一网上双向互动在线事务处理四个阶段。内部建设是对外服务的基础和支撑,而对外服务的深入开展又促进了内部业务管理的整合。国际著名咨询公司GartnerGroup对电子政务外部建设的四个阶
15、段有类似的划分(如表1所示he) 从电子政务建设的政策上来看,可以包含以下几点:谨慎规划、小步快走;合理设置优先级;以政府业务流为主线;尽早实施标准化;分布构建战略性国家信息系统;建立有效的安全管理体系。表1GartnerGroup对电子政务外部建设的四个阶段的划分阶段关键特点主要挑战Web展示-一一提供信息在线内容内容创建信息展示和检索展示层次角色和职责交互一与公众交换信息搜索引擎内容管理表格文档传送支持雇员简单数据收集公共记录管理在线事务提供公共服务提供特定服务的技术架构隐私和安全与遗留系统的集成备份和恢复7XZ4小时支持筹款来源事务费用业务流程重组雇员技能部门之间合作4 GB/Z 196
16、69-2005 表1(续)阶段关键特点主要挑战政府转换一整合业务流程远程办公政府部门之间协作数据共享服务性能量化应用集成动态资金流程无线技术移动计算视频会议宽带网络综上所述,电子政务建设是一个动态的发展过程,一个复杂的系统工程,一个长期而艰巨的任务。其实质是通过电子政务的建设,推动政府职能的强化、弱化、转化,解决政府在市场经济条件下的越位、缺位、错位问题,从而实现政府职能转变、工作方式创新、业务流程再造,以适应我国加入WTO的新形势和由计划经济向市场经济发展的新趋势。3.2 电子政务标准技术参考模型图1中是国家电子政务标准化指南)(第一版)中给出的电子政务标准技术参考模型。管飞句叫川川叫川叫应
17、用层其他理其他网络基础设施层圄1电子政务标准技术参考模型3.2.1 网络基础设施层网络基础设施层向各类电子政务应用提供必要的网络基础环境,是具体电子政务应用的承载体,强调的是可用性和可靠性,除了采用冗余的部件之外,该层在很大程度上与管理层密切相关,关于这一层的划分,可参照中共中央办公厅和国务院办公厅联合下发的17号文件。3.2.2 应用支撑层应用支撑层主要是由一些不同电子政务应用所需的共享服务所组成,这些共享的服务与特定的业务应用无关,支持多个不同业务应用、独立于单个组织部门业务逻辑,如信息交换、事务处理、流程控制、数据存取等。应用支撑层是电子政务参考模型中非常重要的一个组成部分,使得政府的服
18、务提供呈现出良好的组织结构。没有共享服务,也就缺乏有效服务发布的基础,并且会由于创建重复的服务而浪费财力和物力。5 GBjZ 19669-2005 同样,应用支撑层对于数据存取而言也是非常重要的,建立全局的共享数据,是整个电子政务应用的核心。例如基础数据库可以包括宏观经济数据库、人口基础信息库、法人单位基础信息库、自然资源和空间地理信息基础数据库,其中关于基础数据的数据元管理和维护是核心的基础。建立全局的统一的数据视图,可以从根本上消除不同业务部门、不同数据库之间的信息冗余和冲突,为政府部门整合已有的业务、开展新的业务奠定基础。3. 2.3 应用层应用层包含了面向不同政府应用领域、不同客户的特
19、定应用,至少存在着几种不同的划分方法:a) 按行业来分,例如工商、税务、社保、劳动、公积金等;又要从客户收集完成服务所必应用层考虑的重点是1如何与政务部门内部已有z3.2.4 信息安全安全问题是所有国至少从以下几个环节a) 安全评估;b) 安全策略;c) 安全防御;d) 安全监控;e) 安全审计;f) 安全响应恢鱼。在以上所有的环类、与安全等级相应的安全问题的报告制度和的环节进行必要的标准含以下几个部分: a) 系统管理:电子政务系统的是如何保证这些资产的可靠性、啕管理、变更管理、事件管理、性能管理等内容;, IIIJ系统管理的主要任务也就b) 标准:标准的目的是用来保证不同系统部件之间的互操
20、作性,从而降低支持和开发成本。标准在保证互操作性的同时,也要保证应用层次的灵活性和可选择性;6 c) 策略:策略是各个政府部门需要遵循的规则,一般为指南或建议参考的形式,策略增强了标准在使用系统架构中的可操作性;d) 市场化和培训11:电子政务应用只有在客户的使用中才能变得非常有效。市场化用来决定客户所需的服务,以及最有效地发布服务的途径。而培训是用来保证IT实施、规划、采购人员正确地理解国家电子政务的架构、策略、标准、指南等内容,从而创建电子政务应用。GB/Z 19669-2005 4 XML技术介绍4.1 XML概念和核心技术XML概念和核心技术共分为三大部分:XML基本概念、XML相关概
21、念和XML应用层概念和技术。即:a) XML基本概念包括XML、Namespace、XMLBase、XMLInformation Set、CanonicalXML、XML Inclusions等;b) XML相关概念包括DTD、XMLSchema、XLink、XPath、XPointer、DOM、SAX、XSLT、XQuery、CSS、XSL、XForms等;c) XML应用层概念和技4.1.1 XML XML是一记和属性,井可数据交换的格式。SGML是第地简化,从而成为集,继承了SGML的格式。XML的特点:a) 组织数据结构XML宜用于组织易及技术制图等。XML资料。XML使计算机很简易地
22、产、ebXML、RDF、Webservice等。SGML进行了极大,是SGML简化的子信息的一种标准文本、地址簿、配置参数表、财务交引或规约),这些规则可用来帮助组织,并确保数据结构精确,没有二义性。XML避免了一般语言设计的缺漏,是可扩展的、平台独立的、可支持国际化及地区化的格式,并完全适应Unicode标准。b) XML的形式与HTML类似与HTML一样,XML使用标签C以,不一定指的是段落,依据上下文的内容,可能是价格price、参数paramrter飞人person等。7 GB/Z 19669-2005 c) XML是文本格式,宜用于计算机阅读采用文本格式的好处是不需要通过其他程序处理
23、来阅读文本,用户可以使用喜爱的文本处理器来读取它,文本格式也可以让开发员更容易调试应用程序。与HTML一样,XML文档一般是不需要直接阅读,但如果有需要也可以直接阅读。与HTML不太一样的是,XML的规则非常严格,若没有标签或属性漏了引号便使这个XML文档无法使用,而HTML内这些错误却可以接受。d) XML是很冗长的因为XML是文本格式并采用标签来分界不同的数据,所以XML文档比所有二进制格式的文档大。e) XML是一个技术大家族除XML1.0之外,XML家族是一个不断成长的模块集,提供有用服务以配合重要及需求率高的工作。XLink解释了如何加入超链接到一个XML档;XPointer及XFr
24、agments是指示一部分XML文档的语法,XPointer类似URL,但不是指向网上文档,而是指向XML文档中的一部分内容。CSS在XML中使用与在HTML中使用没有差别注SL是表达样式表的高级语言,是以一种用作重新排列、加入或减除标签及属性的转化性语言XSLT为基础;DOM是用来在程序语言中操作XML文档(及HTML文档)的标准函数集;XML Schemas 1和2帮助开发者精确地定义一套基于XML格式的结构;其他种类的模块和工具可供使用或正在开发。f) XML是模块化的XML可通过合并及重用其他格式来制定新的文档格式。两种独立开发的格式可能包含一些具有相同名称的元素或属性,合并时需要解决
25、语义冲突,在这方面应采用XML中的命名空间。g) XML没有版权限制且平台独立XML是开放的标准,独立于任何平台。同时,很多组织(包括W3C)对它提供技术支持。XML有三种类型的校验结果:a) 无效(1nvalid)文档:如果一个文档指定一个DTD,但不符合其在DTD中指定的规则,该文档还是无效的;b) 格式正确(Well-Formed)文档:文档符合XML语法规则,但没有制定一个DTD;c) 有效(Valid)文档:文档应符合XML语法规则以及其相关验证规则,如DTD所制定的规则。XML Namespace: XML Namespace的严格定义是:Namespace是用URI加以区别的,是
26、在XML文件的元素和属性中出现的所有名称的集合。有了Namespace,便可以保证在XML的文件中使用的名称独一无二。Namespace的声明要用到前缀xmlns。声明的Namespace位于指定的URI,它的名字为:Namespace名。Namespace名必须唯一、一致。由它修饰过的元素就默认为由指定URI处的Namespace约束。XSL与XHTML都使用了命名空间。示例: XML Inclusions: XML Inclustions为通用的XML信息集包含机制定义了处理模型与语法。XML信息集包含机制是通过合并许多XML信息集为一个简单合成信息集而实现的一种信息引人机制。XML文档(
27、信息GB/Z 19669-2005 集)的合并与合并过程控制的规范是使用类XML语法(元素、属性、URI引用)的。面向通用用途的XML信息集包含机制所引人的XML文档是welHorm的,但不一定是有效(valid)的XML文档。XML Information Set: XML Information Set的功能在于它提供了一套通用的语法以便于描述某一个XML文档的内容。也就是说.XML Information Set定义了一组信息类别,包括文档(document)、元素(element)、属性(attribute)、字符(character)、注释(comment)等十五种信息类别。通过这些
28、信息类别来描述XML文档的不同方面。从应用角度来看,任何XML处理器在处理某一XML文件的时候,即是利用XMLInforma tion Set的信息类别来回传和描述XML文件的内容。W3C的其他很多XML相关技术规范在解释其XML语法的时候都是使用XMLInformation Set作为基本工具来实施语法描述.XML Information Set 目前已经成为基于XML的技术规范文档中描述语法的标准于段。Canonical XML: 在XML1. 0标准的允许下,由于语法形式的可变性,文档的物理表示具有多样性,例如多个空格与单个空格的等价、回车换行的任意性等。该标准就是要描述一种方法,能产生
29、规范形式的XML文档。通过CanonicalXML进行规范化之后,逻辑上等价的多个XML文档应该完全一样。例如数字签名,通过规范化之后实施数字签名(例如XMLSignature).逻辑相同的XML文档将不会出现无法通过签名校验的情况。X岛1LBase , XML Base用于指定相对URL的绝对路径,与HTML中的BASE标记功能相似。不同的是,XML Base是通过元素的xml:base属性指定的,前缀xml用于表示命名空间。XMLBase的作用范围包括其所有后代元素的整个元素,除非在后代元素指定了新的XMLBase。作为XML链接的基础规范.XMLBase是XLink和XPointer的基
30、础。4. 1. 2 XML相关概念与技术4. 1. 2. 1 定义XML的结构-一心TD、XMLSchema a) DTD的概念DTD定义的是一类文件的结构,使用正式的语法来定义XML文档的结构和允许值,保存了由设计者添加的、用于扩展XML核心规则的部分,并创建用来描述某些问题或状态的词汇表。其优点是:首先,通过创建DTD.能够正式而精确地定义词汇表。解析器可以利用DTD验证文档实例的有效性;其次.XML创作工具也可以通过类似的方法使用DTD.可以根据。TD中说明的结构规则,允许用户在文档中添加DTD允许的元素或属性。缺点是:首先,DTD使用自己的一套语法,与文档实例的语法截然不同,妨碍了利用
31、DTD验证文档的有效性及将相应领域的信息传达给编程人员。应用程序无法了解DTD中的声明及其结构;其次,解析器没有动态创建DTD.解析器还不能根据情况动态创建DTD;再者.DTD是一种封闭的结构,当需要从其他DTD借用声明或结构时.DTD就有些局限性;另外,在数据类型信息方面也存在一定缺憾,不能将某些值表示为需要的简单类型进行恰当的操作。b) XML Schema的概念尽管XMLl.O提供了一种机制(即DTD)来规范XML中标签的使用规则,但XML文档处理的自动化却要求有一种更为严格、更为全面的解决方案。这方面的需求包括:如何使一个应用程序的不同模块间能够互相协调及对文档结构、属性、数据类型等的
32、约束等。Schema也是XML的一种应用,是将DTD重新用XML语言规范来定义。充分体现XML自描述性的优点。XML Schema有下述优点:1) 一致性:DTD的书写结构和XML文件的结构不同,后者清晰直观,前者复杂晦涩。Schema建立在XML之上,样子和一般的XML文件完全相同,使XML达到了从内到外的完G/Z 19669-2005 美统一;另一方面,Schema本身也是一种XML,可以被现有的XML编辑制作工具所编辑、被XML语法分析器所解析、被XML应用系统所利用。2) 扩展性:虽然DTD中也定义了一些数据类型,但都是针对属性类型而定义的,且类型非常有限。Schema对DTD进行了扩
33、充,引入了数据类型,很好地解决了这一问题。3) 易用性:XMLSchema取代DTD的另一个原因要归结于DOM和SAX。作为一种XMLAPl,DOM和SAX只是对XML实例文档有效,对于DTD则无能为力。的规范性:同DTD一样,Schema也提供了一套完整的机制以约束XML文档中标签的使用。相比之下,Schema基于XML,更具有规范性。Schema利用元素的内容和属性来定义XML文档的整体结构。5) 互换性:用户可根据需士、4.1.2. 2 显示XML一一样式表CStyleSheet 上显示,也可以描述它内部,而以独立的文档方式存在。b) 文档体述并不影响描述标记所、d) 可读性好CSSl的
34、基础上制定的,基本上涵盖了CSSl;式等功能,并对CSSl原有的一些功能进行了扩充。|、标记只需进行约带宽。,另一种是可扩展样式表语言CSS制定之初的服务对象并不是XML,而是针对HTML提出的样式表语言,但同样可以很好地应用于描述XML文档的表现。利用CSS可以定义HTML或XML文档中元素的显示效果,包括元素的位置、颜色、背景、边空、字体、排版格式。CSS是一种静态的样式描述格式,不遵从XML的语法规范。而XSL是通过XML进行定义的,遵守XML的语法规则,是XML的一种具体应用。XSL本身就是一个XML丈档,系统可以使用同一个XML解释器对XML文档及其相关的XSL文档进行解释处理。XS
35、L由两大部分组成:第一部分描述了如何将一个XML文档转换为可浏览或可输出的格式;第二10 GB/ Z 19669-2005 部分定义了格式对象FO(fomattedobject)。输出时,首先根据XML文档构造源树;然后根据给定的XSL将这个源树转换为可以显示的结果树,这个过程称作树转换;最后再按照FO解释结果树,产生一个可以在屏幕上、纸上、语音设备或其他媒体中输出的结果,这个过程称作格式化。到目前为止,W3C还未能出台一个得到多方认可的FO,但是描述树转换的这一部分协议却日趋成熟,已从XSL中分离出来,另取名为XSLT。与XSLT一同推出的还有其配套标准XPath,这个标准用来描述如何识别、
36、选择、匹配XML文档中的各个构成元件,包括元素、属性、文字内容等。XSLT主要的功能就是转换,它将一个没有形式表现的XML内容文档作为一个源树,将其转换为一个有样式信息的结果树。在XSLT文档中定义了与XML文档中各个逻辑成分相匹配的模板及匹配转换方式。尽管制定XSLT规范的初衷只是利用它来进行XML文档与可格式化对象之间的转换,但-作转换的方法,例如转换为另一个逻辑结. 档等。4. 1.2.3 XForms 画用户提出的各种Form应用的定义好的数据类型,类的写越好,因此,XForms话司码、通信地址的不同在、辑层编写脚本实现。、,1D 求能根据不同的显示设吾言,包括:能以Web页面c) 支
37、持复杂表单的分解/合成对于大型的复杂表单来说,目前有两种解决办法:其一将表单分解为若干子表单,每个子表单对应一个HTML文件,设计显示表单的Web页面,并在页面上放置一按钮,通过按钮的Click事件调用服务器端的CGI程序,将用户填写好的内容记录到临时文件中,然后载入下一页面,直到表单结束;第二种方法是将表单制作成一个单独的HTML文件,在用户选择填写表单时,通过CGI程序将表单分段,逐段显示。这两种方法都用到CGI程序,如果用户在线填写表单的过程中发生网络中断,那么以前所填写的内容将全部丢失,用户只有重新连接Internet,再次填写。11 GBjZ 19669-2005 针对这种情况,XF
38、orms在处理复杂表单的时候,自动将表单分解表示成为一系列的片段(Sections) ,某一时刻只显示一个Section,用户可以选择将所有的片段下载到本地,并保存到一个文件中,脱机填写,然后再联机发送出去。分解成片段序列的XForms表单在物理形式上,仍是一个XHTML文件。同时,对于WebForm应用来说,XForms还应该能在-个Web页面中显示多个小表单,或者将一个表单自动分解到多个Web页面中显示。d) 支持挂起和恢复在某些应用中,填写表单的过程可能和查找相关信息的过程交替进行,这种情况下,Web表单应该具有自动挂起并在经过一段时间后自动恢复的功能。4. 1. 2. 4 文档资源间的
39、链接语言一一-XLinkXLink是描述在资源间进行链接的语言。链接反映了不同资师、对象之间的关系,而对象的选择是由定位来描述(这就是XPointer的职责)。在XML1.0标准中规定的ID和IDREF标号类型属性就是建立简单链接关系的情况,XLink对这种基本功能进行了不同方面的扩展。XLink可以声明多个资惊之间的关系。资掘这个概念对于WWW来说是具有普遍意义的,资游、可以是任何信息或服务的可定位的单元,具体的资源例子有文件、图像、文档、程序和查询结果。所以定位资源是非常重要的环节,一般用XPointer进行资源的定位。当一个链接和一个资源的集合相联系,就认为这些资源加入了这个链接的队列。
40、当然XLi此可以链接任何资源,而不仅仅是XML文档的部分。XLink可以明确地将元数据(即资源内容)和链接相结合。XLink所链接的资源可以以不同的形式表示,比如在一个新开的窗口中显示,在链接处嵌入或者是代替开始的文档,用户可以根据具体情况进行设置。XLink提供附加函数,如行外链接(out-of-linelink)等。XLink的一个重要应用是用于超文本链接。简单的超文本情况类似于HTML中的A元素,但XLink中定义的链接远远超出了目前使用的HTML链接。XLink可以有多个链接终点,可以从不同的方向进行遍历,而且还可以将链接存储于独立于引用文挡的数据库中。4. 1. 2. 5 XML文档
41、定位的语言-XPathXPath是用作XSLT和XPointer的对XML文档各部分进行定位的语言。它给XSLT和XPointer(XML文件内部链接语言)提供一个共同、整合的定位语法,用来定位XML文件中各个部位。XPath除了提供一套定位语法之外,还包括一些函数,它们提供基本的数字运算、布尔运算和字符串处理功能。XPath使用一个紧凑的、非XML的语法来方便实现XPath在XML属性值中的使用,它基于XML文档的逻辑结构,并在该结构中进行导航。除了用于定位,XPath自身还有一个子集能进行匹配,它能验证一个节点是否匹配某个模式。XPath把一个XML文档看成一个树或节点的模型。节点的类型可
42、以有多种,包括元素节点、属性节点和文本节点。XPath的基本语法由表达式构成。在计算表达式的值之后产生一个对象,这种对象有以下四种基本类型:节点集合、布尔型、数字型和字符串型。表达式的计算是依据上下文的出现,XSLT和XPointer中分别规定了XPath表达式将在怎样的情况下出现。这些上下文的关系包括:节点、一对正整数(表明位置和大小)、)套变量绑定集合、函数库以及规定表达式范围的名域声明。其中,变量绑定是从标量名称到变量值的映射;变量的值是一个对象,可以是表达式可能得到的各种类型,也可以是其他没有规定的类型;在函数库中,每个函数有零个或多个参数,并返回一个结果。XPath定义了所有支持工具
43、都必须实现的核心函数库。其中函数的参数和结果都是上面涉及的四种基本类型。当然XSLT和XPointer还对XPath的核心函数库进行了扩展,有些函数的参数和返回结果数据类型超出了这四种基本类型。GB/Z 19669-2005 XPath基本上和在文件系统中寻找文件类似,如果路径是以/开头的,就表明该路径表示的是一个绝对路径,这和在UNIX系统中关于文件路径的定义是一致的。4.1.2.6 XML内部结构部分的定位语言一-XPointerXPointer支持对XML的内部结构部分的定位。XML中支持两类链接:简单链接和扩展链接。简单链接类似于HTML中的链接,扩展链接允许从某个链接跳转到任意其他链
44、接。这种跳转实际上是从文档树型结构的某个部分转移到另一位置,这种转移基于不同的特性来实现,如元素类型、属性值、相对位置或字符的内容等。实际上,扩展链接的概念就是可以链接的资源不单单只有一个,可以同时链接多个资源。被链接资源的显示由具体实现的应用程序来决定。XPointer还提供了对元素、字符串和其他部分的特定引用方法,XPath通过轴和谓词对XML文档中树型结构各部分进行选择。XPointer的思想也是如此。XPointers还可以表达多个这样的选择,而且依次在前面所选的结果中再次进行选择。对XML文档进行标识的形式有三种:一种完整的XPointer定位形式以及两种简记形式。完整形式以一个大纲
45、的名称开始,然后紧跟一个表达式,该表达式用括号括起。如果该大纲为XPointer,其表达式将根据与XPath兼容的方式来访问XML文档信息集合中的节点。下面的示例表示了从文件的LINK元素到文件http:/ child: :祷position()= 1J)就是用于定位的XPointer。示例:1 2 xmlns: xlink士http:/www.w3. org/TR/1999/xlink 3 xlink:type = simple 4 xlink: href = http:/ xml 5 # xpointer(/ child: :持position()= 1J 6 XPath作为XPointer的基石提供了表达定位的语法。XPointer还在之上进行了扩展,
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1