包含混合内容的 XML 数据映射文件
随着更多专业数据被适配到移动设备上,尤其是在小屏幕设备上,结构复杂的文档可能会带来挑战。 幸运的是,Altova的图形化数据映射、转换和集成工具MapForce,具有特殊功能,可以加速各种规模的数据集成项目。
例如,格式丰富的文档可能包含混合内容 XML,这是一种复杂的数据类型,允许 XML 元素同时包含文本、属性以及其他子元素。混合内容 XML 的常见例子包括带有加粗或斜体格式的文本块,或者用于选择用于索引或其他特殊处理的术语的标签。包含混合内容 XML 的文档可能难以整合到数据集成项目中,因为它们看起来是自由格式且难以预测的,其子元素可能以任意顺序出现,甚至在父元素中重复出现。

与 MapForce 一起安装的示例文件以及 MapForce 在线帮助系统,都是您在遇到不熟悉的的数据映射需求时,可以查找技巧的良好资源。
以下图片展示了“MapForce 示例”文件夹中两个文件的部分内容,这些内容展示了 XML 混合内容,即包含文本以及其他子元素的元素。


第一张图片中的文件使用了常见的XML标签来标记段落和字体。<para>元素是混合内容XML元素,因为它既包含文本,也包含子元素,用于标记需要加粗和斜体的术语。第二个例子使用了更专业的元素集合,其中<SubSection>元素内部标记的“商标”和“关键词”的显示方式并不明确。
数据映射 XML 混合内容
您可以使用 MapForce 通过在输入和输出之间绘制连接线,在两个包含混合内容的 XML 模式之间进行映射。如图所示,当我们将包含 XML 混合内容的源元素“SubSection”连接时,MapForce 会显示一个有用的提示,以帮助您进行准确的映射设计:

点击对话框中的“是”按钮,会指示 MapForce 自动连接源数据和目标数据之间的文本部分

虚线连接表示 XML 混合内容映射,构成混合内容的所有文本和子元素都会被单独映射。完成映射的最后一步,只需将源数据中的“商标”(Trademark)和“关键词”(Keyword)映射到输出组件中所需的元素即可。

“商标”和“关键词”这两个标签在输出文件中以粗体和斜体字体显示。

这里展示的数据映射示例,以 "ShortApplicationInfo.mfd" 文件形式包含在 MapForce 示例文件夹中。
将包含混合内容的 XML 地图转换为仅包含简单内容的 XML
如果您需要创建一个更简化的文档版本,该文档包含混合内容的 XML,您也可以将混合内容映射到一个简单的元素。下图显示的是同一个输入文件,其中包含 XML 混合内容,但输出组件中的 "Description" 元素是一个简单的字符串数据类型。在这个映射中,"SubSection" 元素直接映射到输出组件中的 "Description" 元素。

当执行映射操作时,源子部分(SubSection)元素中的所有文本,包括子元素中的文本,都会被映射到目标位置,并且不会保留任何子元素标签。

在设计并测试好 MapForce 数据映射方案后,它可以立即执行以转换数据,或者可以将其保存,由 MapForce Server 在后续执行,从而自动化需要重复数据转换的业务流程。
Altova MapForce 是一款屡获殊荣的图形化数据映射、转换和集成工具,它能够将各种数据格式(包括 XML、数据库、EDI、XBRL、文本文件、Excel、JSON 以及 Web 服务)进行互联互通。本文仅介绍了 MapForce 众多专业数据映射功能中的一个例子。与传统的、价格高昂的大型数据集成产品相比,MapForce 提供了卓越的功能,并且价格远低于传统产品,使其成为当今快速发展的团队和企业进行数据映射、集成和转换的理想工具。