当前位置: 首页 > news >正文

第一章 Object-XML 映射简介

文章目录

  • 第一章 Object-XML 映射简介
  • 基础
  • 如何工作的
  • 映射选项
  • `IRIS` 中的相关工具
  • XML 文档的可能应用

第一章 Object-XML 映射简介

基础

将对象映射到 XML 一词意味着定义如何将该对象用作 XML 文档。要将对象映射到 XML,请将 %XML.Adaptor 添加到定义该对象的类的超类列表中,以及该类使用的任何其他对象类(少数例外)。

此活动也称为定义定义对象的类的 XML 映射或支持 XML 的类。

如何工作的

当为类定义 XML 映射时:

  • 系统为类生成附加的 INT 代码,使能够将类实例用作 XML 文档。 (此代码是在编译类时生成的,不应编辑它。)
  • 类的每个属性自动继承自 %XML.PropertyParameters
  • %XML.AdaptorXML 相关的类参数添加到类中。
  • %XML.PropertyParameters将与 XML 相关的属性参数添加到类中的属性中。
  • 数据类型属性定义 LogicalToXSD()XSDToLogical() 方法,这些方法控制在输出到 XML 或从 XML 输入时数据的转换方式。

然后,如果默认映射不适合需求,可以根据需要编辑类中与 XML 相关的参数。

映射选项

给定类的 XML 映射确定该类的实例如何对应于 XML 文档,反之亦然。例如:

在这里插入图片描述

可以通过多种方式控制 XML 映射,包括以下方式:

  • 控制属性映射到的结构。例如,简单属性可以映射为元素或属性,或者根本无法映射,如前面的示例所示。
  • 控制 XML 元素和属性名称。
  • 控制为其分配元素和属性的 XML 命名空间。
  • 控制 IRIS 类如何映射到 XML 模式的详细信息。

这些参数中的大多数都会影响使用支持 XML 的类的所有场景。一些参数仅适用于本文档中注明的某些场景。

IRIS 中的相关工具

当为类定义 XML 映射时,可以访问大量 IRIS 工具,这些工具适用于许多实际应用程序。可以通过以下任意方式使用这些工具来处理类:

  • 将该类的对象导出到 XML 文档。
  • XML 文档导入 IRIS,这会创建该类的新实例,然后可以保存该实例。
  • 使用该类的对象作为 Web 服务和 Web 客户端的参数。
  • 生成XML 模式。 IRIS 隐式定义该类的 XML 类型,并在以上述任何方式使用该类的对象时使用该类型进行验证。

IRIS 提供了用于处理 XML 文档的附加工具,包括与 IRIS 类不对应的任意 XML 文档。这些工具包括对 DOMXPathXSLT 的支持。

IRIS 使用 SAX 解析器来验证和解析入站和出站 XML 文档(SAX 表示 Simple API for XML)。 SAX 解析器是使用标准 Xerces 库的内置 SAX XML 验证解析器。 IRIS SAX 使用高性能、进程内调用机制与 IRIS 进程进行通信。可以微调解析器或提供您自己的自定义 SAX 接口类。

XML 文档的可能应用

可以在各种实际应用中使用 XML 文档,包括:

  • 作为消息传递应用程序中的标准格式。这包括行业标准协议以及本土解决方案。
  • 作为应用程序和用户之间数据交换的标准格式。
  • 作为外部数据存储的标准表示。这可能包括传统的数据库记录,也可能包括更复杂的内容,例如文档。
  • 作为Web 服务和 Web 客户端之间发送的 SOAP 消息的有效负载。
  • 作为类定义中 XData 块的内容。

相关文章:

  • 金融信贷行业如何准确——大数据精准定位获客渠道
  • hutool ExcelUtil导出excel二级表头
  • UML/SysML建模工具更新(2023.10)(1)StarUML、Software Ideas Modeler
  • 【ubuntu20.04】win10安装ubuntu20.04双系统
  • 便捷Benchmark.sh 自动匹配workload(自用)
  • 算法工程师护城河
  • 利用Ansible实现批量Linux服务器安全配置
  • PanNet: A deep network architecture for pan-sharpening(ICCV 2017)
  • 有关队列内存超限问题bfs()(待解决)
  • 在 React 中选择使用 JSX 或 JavaScript
  • 2311d游戏引擎适配ios
  • 键盘win键无法使用,win+r不生效、win键没反应、Windows键失灵解决方案(亲测可以解决)
  • Linux基础开发工具之调试器gdb
  • scss 实用教程
  • 深入理解ClickHouse跳数索引
  • Redis之主从复制
  • 搭建神经网络(torch.nn的用法)
  • Llama2通过llama.cpp模型量化 WindowsLinux本地部署
  • Spring Boot自动配置原理、实战、手撕自动装配源码
  • 一步一步详细介绍如何使用 OpenCV 制作低成本立体相机
  • AG600“鲲龙”批生产首架机完成生产试飞
  • 习近平向第三十四届阿拉伯国家联盟首脑理事会会议致贺信
  • 工人日报:应对“职场肥胖”,健康与减重同受关注
  • 特朗普公开“怼”库克:苹果不应在印度生产手机
  • 国家统计局公布2024年城镇单位就业人员年平均工资情况
  • “多规合一”改革7年成效如何?自然资源部总规划师亮成绩单