处理 Groupon API – 第 3 部分
在本文的最后一部分,我们将应用样式表,将我们之前通过映射 Groupon API 创建的 XML 数据转换为 HTML。以下是上次我们创建的数据映射产生的 XML 输出示例:
![]()
为转换 XML 文件指定样式表 在 MapForce 映射工具中,输出组件的设置对话框允许我们指定一个使用 Altova StyleVision 创建的样式表。
![]()
将样式表应用于数据映射输出组件,可以整合 MapForce 和 StyleVision 的功能。此时,在 MapForce 映射窗口的底部会显示一系列新的按钮,用于生成 HTML、RTF、PDF 和 Microsoft Word 格式的文件。(请确保您的计算机上已安装 MapForce 和 StyleVision。)
![]()
当您点击这些输出格式按钮中的任何一个时,MapForce 会按照我们在上一篇文章中看到的那样,精确地执行数据映射。MapForce 会无缝地将 XML 输出传递给 StyleVision,StyleVision 会将其转换为所选的格式。然后,MapForce 会在“输出”窗口中显示格式化后的文档。以下是 MapForce 的“输出”窗口,用于 HTML 格式,基于上面分配的 StyleVision 样式表:
![]()
“MapForce 输出”菜单允许您保存 XML 数据映射的输出结果,或者保存根据样式表格式化的 HTML 文档。
如何创建样式表
我们使用Altova StyleVision为Groupon API数据映射设计了一个样式表,该样式表基于MapForce输出组件的XML Schema。StyleVision直观的界面以及强大的数据访问和处理功能,使得从XML文件创建美观的HTML、RTF、PDF和Microsoft Word格式文档变得非常容易。下图显示了Extreme Groupon样式表的StyleVision设计视图。蓝色编号的圆圈标识了图像下方列出的每个设计功能的具体位置。
![]()
SPS 文件的特点
用户自定义的 HTML 代码可以指定移动设备的视口元标签。 这样,我们就可以设计一个样式表,从而生成一个 HTML 文件,该文件同时适用于电脑和移动设备
文档标题,可自定义字体、大小和颜色
一个自动计算元素使用 XPath 的
count函数来统计 XML 输入文档中交易的数量,并将总数插入到相应位置尽管日期元素出现在 XML 输入数据文件的末尾,但日期时间戳却被放置在文档的顶部
来自 Altova 和 Groupon 网站的图片是通过超链接引用的,而不是直接嵌入在网页中的图片数据
水平分隔线用于分隔每个独立的交易信息。对于HTML文档,这些分隔线会自动适应浏览器窗口的宽度
为不同的元素分配自定义的字体和字号
一个双栏表格用于整理每项交易的详细描述
XML文件中的URL会被动态地分配为超链接,用于嵌入的图像、固定文本和动态数据
StyleVision 的样式表功能可以将多个 .xsd 文件、现有的 .css 样式表、数据库结构、XBRL 分类体系等多种元素组合在一起,从而生成格式丰富的报告,甚至可以包含自动生成的、具有各种样式的图表。您还可以使用 StyleVision 定义包含数据输入字段、下拉菜单、单选按钮和其他高级功能的电子表格。
预览样式表转换效果
StyleVision 允许您指定一个工作 XML 文件,以便在设计样式表时预览输出结果。设计窗口底部的按钮方便您在完善设计时,显示格式化的工作文件。我们保存了 MapForce 映射的 XML 输出,并将其指定为我们的工作文档。当样式表完成后,StyleVision 中的 HTML 预览与上面所示的 MapForce HTML 输出窗口完全一致。要查看文档在移动设备上的显示效果,您可以将其作为网页部署到网站上,或者将其作为附件通过电子邮件发送。
![]()
除了样式表本身以及工作文档的格式化版本之外,StyleVision 还允许您将生成的 XSLT 文件保存下来,以便在 StyleVision 应用程序之外,使用您的样式表设计来转换其他 XML 文件。
下一次,我们将采用自动化技术
未来,当您需要重新执行数据映射并将HTML文档更新为最新数据时,有以下两种方法可以自动化这个过程:
您可以从以下位置运行 MapForce: 命令行 可以设置参数来指定映射定义文件的名称,甚至可以直接调用 StyleVision 来生成格式化的输出
您可以生成免版税的代码,用于在 XSLT、Java、C++ 或 C# 中实现数据映射,并将这些代码与 StyleVision 的 XSLT 代码结合起来,从而构建您自己的完整应用程序
XMLSpy、MapForce和StyleVision这三款软件都可以在特别优惠的Altova MissionKit中同时获得。 亲自体验一下,使用MissionKit将数据从Web API转换有多么简单——下载免费的30天试用版!
编辑语: 我们之前推出的一系列关于如何从 Groupon API 获取数据的文章,分为三个部分。您可以点击以下链接查看:第一部分 使用 Altova MapForce 处理 Groupon API 描述了如何通过从多个网址收集数据来创建动态输入。 使用 MapForce 处理 Groupon API 的方法(第二部分) 它描述了我们如何从API中筛选数据,并定义输出格式,以便只提取最重要和有趣的信息。 处理 Groupon API – 第 3 部分 它描述了如何将输出格式化为单个HTML文档,该文档针对桌面设备和移动设备进行了优化,并介绍了自动化重复执行的方法。