XML-Mapping

转换 XML 数据。

  • 组件之间的拖放映射。
  • 支持 XML Schema 和 DTD 内容模型。
  • 从实例文档生成 XML 模式。
  • XSLT 1.0/2.0/3.0 库以及数据处理函数。
  • 支持 XML 数字签名。
  • 支持 XML 通配符(xs:any 和 xs:anyAttribute)。
  • 支持评论和处理指令。
  • 使用XSLT转换XML。

创建 XML 映射。

MapForce 支持基于 XML Schema 或 DTD 内容模型的 XML 映射。要创建 XML 映射,只需将两个或多个 Schema 加载到 MapForce 中,然后将连接线拖动到源和目标之间的节点之间。此外,MapForce 还支持混合内容,这意味着您可以将与 XML 混合在一起的文本数据进行映射。

如果您没有为某个XML实例文档关联任何模式(schema),MapForce会自动从该XML实例文档生成一个XML模式。

MapForce XML 映射工具。

MapForce 支持.. 高级 XML 转换。 在多种输入和多种输出模式之间,在多个源文件和/或目标文件之间,或者进行高级的多阶段数据转换(例如,从一种模式转换到另一种模式,再到另一种模式,以此类推)。

一旦您完成了XML映射和数据处理规则的定义,您可以加载一个源文件,MapForce内置的执行引擎将立即将数据转换为新的格式。

MapForce 还可以自动生成 XSLT 1.0、XSLT 2.0 或 XSLT 3.0 样式表,用于根据源模式将多个 XML 文档中的数据转换成符合目标 XML 模式的格式。

学习如何在 MapForce 中将 XML 转换为 XML 以及其他格式。

除了 XML 映射功能,MapForce 还支持.. 映射任何组合。 利用 XML、JSON、PDF、数据库、EDI、XBRL、文本文件、Excel、Protobuf 以及/或 Web 服务数据,构建数据集成或 Web 服务应用程序。

查看 XML 映射输出结果。

在您设计 XML 映射项目时,内置的 MapForce 引擎允许您只需点击一下,即可查看和保存自动生成的 XSLT 1.0、XSLT 2.0、XSLT 3.0 或 XQuery 代码。您还可以点击“输出”选项卡,查看您的 XML 映射实际生成的输出结果。

以下截图展示了上述 XML 映射的 XML 输出结果,以及由此生成的 XSLT 2.0 样式表。

MapForce XML 映射输出。

使用数字签名的 XML 映射。

数字签名是W3C制定的规范,用于对XML文档进行数字签名,使用一种加密代码,从而可以验证该XML文档是否被修改。MapForce中的XML签名功能仅支持RSA-SHA1和DSA-SHA1类型的证书。

MapForce支持为XML和XBRL输出文件创建XML数字签名。当点击“输出”按钮时,会为生成的输出文件创建一个签名,并且可以保存带有签名的输出文件。

数字签名可以嵌入到输出文档的最后部分,也可以存储在单独的签名文件中。

  • 如果选择了“已封装”选项,那么签名将是 XML 文件根元素下的最后一个子元素。
  • 如果选择了“分离”选项,则签名文件将作为一个独立的文档生成。

右侧的图片展示了结果文件末尾的数字签名,该签名是使用“包含选项”生成的。

MapForce XML 映射,支持数字签名。

XML 文档的有效性。

如果XML文档中嵌入了XML签名,则会在XML文档中添加一个名为“Signature”的元素,该元素位于命名空间http://www.w3.org/2000/09/xmldsig#。为了确保文档仍然符合相应的模式(schema),该模式必须包含相应的元素声明。如果您不想修改XML文档的模式,可以使用“分离”(Detached)选项,将XML签名创建在外部文件中。

支持 XML 通配符。

在 XML Schema 设计中,`<xs:any>` 元素和 `<xs:anyAttribute>` 允许在 XML 实例文档的相应位置添加任何新的元素或属性,即使这些新的元素或属性在 XML Schema 中没有被明确定义。这被称为 XML 通配符,是一种常用的机制,它允许在许多支持行业标准的 XML Schema 中实现一定程度的定制化,从而适用于各种不同的业务领域。

MapForce 支持 `<xs:any>` 和 `<xs:anyAttribute>`,可用于将数据映射到 XML 或其他任何输出格式。 在 XML 映射输入组件中,`<xs:any>` 或 `<xs:anyAttribute>` 旁边有一个选择按钮,点击该按钮会打开一个通配符选择对话框。

`<xs:any>` 元素以及 `<xs:anyAttribute>` 在 XML Schema 设计中被广泛使用,而对这些元素的支持一直是 MapForce 用户经常提出的需求。

XML 数据与数据库之间的映射。

MapForce 提供了强大的支持功能,包括: 数据库映射。它支持数据库数据与各种格式之间的映射,包括 XML、纯文本文件、EDI、Excel (OOXML)、XBRL、Web服务,以及其他数据库格式。

当您在设计窗口中加载数据库结构时,MapForce 会自动解析数据库模式,让您选择可用的数据库表和视图,并识别表之间的关系。

MapForce 数据库映射功能。

一旦您已加载数据库映射所需的所有 XML 和其他内容模型,只需通过拖动连接线,在源结构和目标结构之间建立连接,即可完成映射过程。

支持的关系型数据库

  • Firebird
  • IBM DB2 for iSeries®
  • IBM DB2®
  • Informix®
  • MariaDB
  • Microsoft Access™
  • Microsoft® Azure SQL
  • Microsoft® SQL Server®
  • MySQL®
  • Oracle®
  • PostgreSQL
  • Progress OpenEdge
  • SQLite
  • Sybase® ASE
  • Teradata

支持。 非关系型数据库。:

  • MongoDB
  • CouchDB

MapForce 支持所有主流的关系型数据库,以及流行的 NoSQL 数据库,让您能够创建图形化的数据库映射设计,连接数据库中的源数据、数据处理函数和过滤器,以及各种类型的数据结构。

数据库映射功能:

  • 对所有主要数据库进行查询。
  • 将任何支持的数据库类型的数据映射到任何其他数据库类型。
  • 指定数据库的密钥设置。
  • 定义数据库表的操作。
  • 直接查询数据库。
  • 连接到数据库并将其中的字段映射到 XML 数据。
  • 对数据库输入组件进行排序。

筛选和处理数据库数据。

许多数据库映射都需要根据布尔条件或SQL和SQL/XML语句,对源数据和目标数据进行处理。您可能需要进行逻辑比较、数学计算或字符串操作,检查数据库中特定值的存在,并对数据进行其他修改。如图所示,在连接源数据模型和目标数据模型的线条之间,数据处理函数以方框的形式呈现。

数据处理功能使您能够实时执行高级数据库映射,以满足各种实际应用场景中的数据转换需求。例如,您可以构建数据库映射,利用 XML 或 EDI 消息,根据 XML 或 EDI 元素中的筛选条件,提取数据库中的数据行。

数据库到XML的映射会生成一个XML输出文档;数据库到纯文本文件的映射会生成CSV格式或固定长度的文本文件;数据库到EDI的映射可以生成EDIFACT、X12或HL7消息;数据库到Excel的映射会生成Office Open XML (OOXML)格式的文件;而数据库到XBRL的映射会生成XBRL格式的财务报告。

将 XML 数据映射到数据库时,MapForce 会生成 SQL 脚本(例如,SELECT、INSERT、UPDATE 和 DELETE 语句),这些脚本可以直接在 MapForce 内部运行,从而对目标数据库进行操作。

XBRL 数据映射。

可扩展商业报告语言 (XBRL) 是一种基于 XML 的标记语言,用于电子传输商业和财务数据。

MapForce支持使用XBRL分类体系作为任何映射的源或目标,从而让您能够以图形化的方式将后端会计数据转换为符合规范的格式,而不会对数据的语义或结构完整性造成任何风险,或者将报告数据整合起来,用于财务分析。

MapForce XBRL 映射工具。

支持将执行文件和代码映射到 Java、C# 或 C++,这意味着您可以自动化基于图形映射设计的财务数据转换。这使得公共财务数据的提交成为一个可重复且高度可控的过程,从而能够根据会计系统字段中存储的变量数据,生成符合要求的 XBRL 报告。

开发XBRL映射关系。

要基于现有的分类体系开发一个XBRL映射,只需将您的分类体系结构插入到MapForce的设计面板中。MapForce会以图形化的方式展示文件结构,并使用直观的图标来表示分类体系的概念、超立方体、抽象元素、时间段、标识符等。

XBRL 组件从相关的链接数据库中提取结构化和语义信息,并以一种易于理解的层次结构呈现。这种结构可以根据需要进行扩展或缩减。

过滤和处理 XBRL 数据。

MapForce 提供了灵活的数据过滤和处理功能,它可以通过高级处理函数,基于布尔条件进行操作,或者在将数据从源格式转换为目标格式的过程中进行数据处理。

例如,由于XBRL数据本质上是扁平的,因此通常需要应用分组功能,将原始数据组合成组,然后进一步处理这些组,将数据转换为分层结构。MapForce函数库中的分组功能可以实现这一过程。

一对多和链式数据映射。

MapForce 是一款非常灵活的 XML 映射工具,适用于复杂的集成和转换项目。数据映射的输入和输出可以采用多种格式,包括 XML、数据库、文本文件、EDI、Excel、XBRL、Shopify/GraphQL 以及 Web 服务等各种组合。一个数据映射可以实现单向映射(一个输入对应一个输出),也可以实现一对多映射(一个输入对应多个输出),或者多源到单目标(多个数据源对应一个目标),甚至多源到多目标(多个数据源对应多个目标),所有这些都可以在不同的数据格式中进行。

MapForce 链式映射功能。

MapForce 允许您整合来自多个文件和数据源的数据,或者将来自一个数据源的数据拆分成多个输出。您可以指定多个文件,方法包括:使用通配符(例如 ? 或 *)来匹配文件名、指定数据库表、使用自动编号序列,或者使用其他方法。此功能在各种数据集成场景中非常有用;例如,可能需要整合来自一组文件的所有数据,或者需要为大型数据库中的每个主表记录生成独立的 XML 文件。

MapForce 还允许您在数据集成项目中将文件名作为参数使用。这使得您可以创建动态映射,其中特定的文件名可以在运行时进行定义。

链式数据映射。

链式转换功能让您能够创建复杂的映射关系,其中一个映射的输出结果将作为另一个映射的输入。这一强大的功能增强了 MapForce 执行完全自动化的转换的能力。每个链式组件都成为一个模块化的实体,构成一个相互依赖的转换序列,从而可以在运行时进行转换。

可以使用任意数量的映射组件,并将它们连接到一个最终的目标组件,从而创建链式转换。可以为中间组件以及最终的映射结果显示/生成预览和代码。

使用 MapForce Server 自动化 XML 映射执行。

Altova MapForce Server 它包含了为 MapForce 开发的内置数据转换引擎,并且经过大幅增强,可以在服务器环境中运行。MapForce Server 的功能包括: 数据转换。 针对任何组合的 XML、数据库、EDI、XBRL、纯文本文件、Excel、JSON、Protocol Buffers 以及/或 Web 服务,利用存储在执行文件中的预处理和优化后的数据映射方案。 在 MapForce 中定义的映射关系。MapForce Server 通过其服务器功能,将数据转换提升到更高的水平,这些功能包括并行处理、多线程技术、批量SQL插入、跨平台支持等等。

预处理能够提高大多数数据映射的性能,并减少内存占用。MapForce Server 在 FlowForce Server 的管理下运行,可以独立配置,通过命令行执行,也可以通过 API 进行程序化操作。

在设计并测试好 MapForce XML 映射后,可以通过 MapForce Server 来执行它,从而自动化需要重复数据转换的业务流程。

创建 MapForce 服务器执行文件。

MapForce 软件可以预处理和优化 XML 数据映射,并将这些映射信息存储在 MapForce Server 的执行文件中,以便通过 MapForce Server 的命令行进行执行。此外,它还可以将这些映射信息上传到 FlowForce Server,用于 FlowForce Server 作业中使用。

当 MapForce Server 在 FlowForce Server 的管理下运行时,数据映射操作会作为 FlowForce Server 作业的步骤来执行,这些步骤由 FlowForce Server 作业中定义的触发器来启动。例如,当一个新的 XML 实例文件到达某个目录时,这会触发一个多步骤的 FlowForce Server 作业,该作业首先使用 RaptorXML+XBRL Server 验证该文件,然后执行 MapForce Server,从 XML 文件中提取特定数据,并将这些数据插入到数据库中。