XML 编程思想:XML语义

2016-02-19 16:50 6 1 收藏

最近很多朋友喜欢上设计,但是大家却不知道如何去做,别担心有图老师给你解答,史上最全最棒的详细解说让你一看就懂。

【 tulaoshi.com - Web开发 】

  这篇对 XML 和语义的讨论揭开了这个由 Uche Ogbuji 撰写的专栏的序幕,本专栏讨论了 XML 知识管理方面的问题,包括元数据、语义、资源描述结构 (RDF)、主题映射和自主主体。本专栏从实践的角度来剖析这个主题,因此它针对的读者是程序员,而不是针对理论家。

  XML 编程思想这个新专栏将讨论 XML 和 知识体系结构 (KA) 的交汇处。知识体系结构听起来象是一句行话,但它其实只是一个涵盖面很广的术语,是指当今 XML 逐步走向成熟时出现的一些非常有用的技术。元数据管理、语义透明性和自主主体都是 XML 独有的概念,但 XML 对统一结构化语法和半结构化语法的承诺有助于将几乎不可能的事变成切实可行的。

  区分本专栏和许多此类主题讨论的主要特征是我将针对程序员展开讨论,而不是针对理论家。我将讨论一些开发工具和技术,它们可以让开发人员使用 XML 更好地收集和浏览隐藏在数据中的知识,无论这些数据是在公司的数据库中还是在 Web 上。这听上去象是在夸夸其谈,但本专栏的各篇文章其实是一个循序渐进的过程,决不会脱离常识。

  本专栏的前两篇文章介绍了预备知识,因此它们可能会稍微偏离我的基本规则重代码,轻理论。前两篇专栏文章将讨论 XML 的语义和相关词汇。我只用现有产品来讨论其创始过程,以供开发人员了解,但现在还不会展示许多实用代码。

  究竟什么是语义?

  那么,什么是语义?因为语义这个单词的特殊性,每个人对语义定义的观点都各有不同。一般来说,语义是构建在公用语法上的系统中 XML 数据的一层规范。这就引出了许多标记了 XML 语义的概念。

  它们包括:

元素类型名称、属性名称和某些情况下内容术语的解释 用于用有效文档引导事务的处理规则(也称作商业规则) 一个文档中的结构化元素与另一个文档中的结构化元素之间的关系

  当然,在这三概念之间有一些重叠。

  反观语义

  两年前,我写了一篇文章在 Sunworld(现在称作 Unix Insider:请参阅 参考资料)上发表,这篇文章研究了新的 XML 如何适应电子数据交换 (EDI) 的世界。促使 EDI 回到 70 年代的事件之一就是对统一商业事务词汇的承诺,以便改进不同公司的信息系统之间的电子通信自动化。

  EDI 为特定业界定义了一种特殊语法和一套特殊语义 -- 一些是普通语义,而另一些是非常特殊的语义。XML 目前有明确的语法和结构,但它没有提 语义透明性。语义透明性可以使 XML 机器建立元素(比如, PurchaseOrder 或 PO )和根据该元素执行专门操作的高阶处理之间的关系。总而言之,它意味着数据中的表达式如实地表示了相应概念的含义。语义透明性的最终测试是如果某个人 只使用适用于 XML 处理软件的机制,他能否正确理解 XML 数据的含义。

  显然,单靠 XML 根本无法实现语义透明性,这正是那么多 XML 技术专家关注语义透明性的原因。如果 XML 系统不能实现语义透明性,那么这些系统可能就不符合有三十几年历史的 EDI,就不能成为一种自动电子交易的方式。

  关于 XML 实现语义透明性的必要性还有一些争论。在完成 XML 1.0 规范之前,各种团体都期望开发语义透明性的机制。实际上,某些创意没有考虑到 XML;它们期望(至今仍是这样)成为集 SGML、XML、EDI、表格式报表和其它机器格式的术语于一身的通用权威。

  关于 ISO BSR

  机器可读语义的业界元老自有其 EDI 基础:自 1998 年开始开发的 ISO 基本语义字典 (BSR),其主旨是充当参考中心,辅助跨商业、工业和管理的数据的通用、多语言理解。这个宏伟的目标似乎只有 ISO 才能承担,然而 BSR 却迟迟不能完成。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

  目前已经建立了基本规则(出版物 ISO 16668:2000),ISO 已经收集了一个试用集合,有几千项,例如 AccountsPayables 、 ContactParty.CustomerAssigned.Identifier 和 Contract 。一旦完成,BSR 可以让程序员使用合成 XML 模式,如以下 DTD 片段:

  

!ELEMENT    AccountsPayables.Contact (ContactParty.CustomerAssigned.Identifier)!ELEMENT    ContactParty.CustomerAssigned.Identifier (#PCDATA)   

  假设那些元素是由制造公司使用的报表格式,该公司将其会计工作外包给另一家公司。那么,XML 词汇的开发人员将从以下方式中得到语义透明性的好处:

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)开发人员确保所使用的元素类型名称符合 BSR 中的等价概念,以最小化元素含义的多义性。制造商可以与会计人员讨论数据,并确保双方都认同所表达的内容。 由于术语的含义非常清楚,因此将此格式映射成会计学的标准格式比完成此类任务的常规做法更简单,它甚至可以自动完成。即使制造商使用 EDI,而会计人员使用 XML,这种简单映射仍是可行的。 BSR 中的含义指出了元素之间的关系,例如 ContactParty.CustomerAssigned.Identifier 元素和报表中别处或另一个文档中的 Contract 元素。

  即便在这个初级阶段,也可以使用 BSR 进行实验,因为全球信息定位服务 (GILS) 已经创造了试用 BSR 项的 RDF 模式和 XML 模式编译。GILS 是美国政府的倡议,它涵盖了用于寻找结构化信息的技术和资源。GILS BSR 编译是一个有价值的资源,它已经涵盖了在常规政府与私人交流中使用的常用术语。

  但是,请注意这个初始集合是实验性的。不仅描述非常粗略,而且 XSchema 和 RDFS 表示中还有语法错误。

  我建议查看 BSR,因为它影响着重要组织,如 UN/CEFACT(全球范围)、CEN/ISSS(欧洲)和 DISA(美国)。

  统一欧洲和美国的术语

  CEN/ISSS 值得一提,这个组织在 XML/EDI 的领域中做了大量工作。CEN/ISSS 是负责促进欧盟中信息系统标准化的委员会。虽然据官方声称,它的 XML/EDI 工作仍处于试行阶段,但 CEN/ISSS 已经创建了一个综合结构,用于将 EDI 的 UN/EDIFACT 风格转换成 XML。这个转换结构包括 DTD 生成规则和熟悉 EDI 的开发人员可以试用的样本。其结果的确很复杂,但 EDI 的悠长历史确保了这两个字段和 XML/EDI 中使用的消息流都是非常明确的。

  显然,开发 EDI 的组织在处理 XML 语义方面跳跃了一大步。其中不带 EDI 标记的主要代表是 Microsoft。在 1999 年,Microsoft 推出了 BizTalk 结构。BizTalk 是 Microsoft、其伙伴和业界组织用于注册模式、进程描述和样本 XML 文件的库。其旨在充当 XML 格式和相关进程的交换所,这是它成为实现语义透明性的重要力量。

  部分是因为它是由一家公司开发的,部分是因为常用行业政策,BizTalk 已经成为激烈争论的主题。某些人将它看作是 Microsoft 通过在语义问题上建立霸权以达到掠夺 XML 的目的。不管政策如何,现在已经出现了在 BizTalk 结构中工作的工具。许多工具都是类似于 XML 解决方案的映射软件,它们提供了 GUI 以便将一个词汇映射成词汇。同样,开发人员可以开始使用基于 SOAP 的 BizTalk XML 消息格式的公开规范。遗憾的是,如果要执行重要的 BizTalk 消息传递,需要使用 Microsoft 的商业 BizTalk 服务器产品。

  该领域中的新生事物

  我没有涵盖部分相关的工作,如 OMG 的 XML 元数据交换 (XMI),或 Unisys 的通用库 (UREP),因为它们的主要目的是交换应用程序开发模型(虽然 XMI 和 UREP 与 XML 有一些关系)。

  在这篇文章中,我讨论了 XML 语义这个舞台上的一些重要演员。然而,现在该领域中的许多活动来自于新生代,如 ebXML、UDDI 和 eCo,以及纵向联合行业组织的工作。在下一篇文章中,我将讨论这些新加入者更实际的方面。

来源:https://www.tulaoshi.com/n/20160219/1613306.html

延伸阅读
标签: Web开发
Topic Map 提供了一种用于组织信息的系统,XML Topic Maps 使这种系统进入了 XML 的世界中。在本文中,Uche Ogbuji 讨论了 XML Topic Maps,并通过评论有关该主题的关键著作,把这种技术介绍给大家。 Semantic Web 技术用于概念的形式化描述与分类。这些技术试图降低由于概念不匹配而给信息系统互联带来的难度。您可以想像得出,在这样...
标签: Web开发
专栏作家 Uche Ogbuji 深入思考了 XMLOpen 会议上提出的几种观点,最近在英国剑桥召开的这次会议是关于 XML 处理的一次盛会。值得注意的课题包括 XML 规格、 Semantic Web、XML 管道、Web Proper Names 和数据类型。他还从实用的角度对 XML Hacks 一书作了进一步分析,上一期文章中已经详细地介绍了这部关于技巧和窍门的书籍。 XMLOpen...
标签: Web开发
本期文章将继续探讨语义透明的许多不同方法,介绍这些方法对使用 XML 的开发人员的影响。长途旅行中节省体力的一种办法是搭便车。在 XML 中,可以利用数不清的开放的模式计划,其结果就是通过模式标准化实现自从而下的语义透明。但这并非完全免费的搭便车。在本文中,Uche Ogbuji 考察了第三方模式重用的优缺点。他还提到了 The Semantic T...
标签: Web开发
Uche Ogbuji 通过演示用来自现有 XML 格式的数据构成资源描述框架 (RDF)模型,开始了他的用 XML 进行的知识管理的实际探索。 如三个代码清单中所示,RDF 可用作定制 XML 的搭挡,而不仅仅用作某些数据类型的规范表示。包含代码样本的本专栏演示了如何用 RDF 方便地进行知识管理,甚至是在开发过程中相对比较晚的阶段。 虽然 W3C 将资...
标签: Web开发
教育技术领域引导着一些有趣的 XML 元数据实际应用的发展方向。在这个领域已有大量的规范、标准和开发技术,但这一切的核心是 IEEE 学习对象元数据(IEEE Learning Objects Metadata,LOM)规范。在本文中,Uche Ogbuji 介绍了 LOM,并说明它甚至会使那些与教育技术没有直接联系的人感兴趣。 计算机辅助教育学科一直充当知识管理技术的...

经验教程

328

收藏

9
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部