使用 Altova AI 进行智能 XML 开发
任何从事XML相关工作的人都知道,时间总是过得飞快。你可能需要手动编写XSLT样式表,将一种文档结构映射到另一种。你可能会创建一个示例实例来测试一个模式,但最终你只是用“Test1”和“555-555-1212”之类的内容填充它,这些内容可能掩盖了更多问题,而不是暴露问题。你可能还需要在本周第三次查找精确的XPath语法。
最新版本的 XMLSpy 旨在解决这类工作。通过与 Altova AI Server 的集成——这是一款由 Altova 提供的可选增值服务——这款 XML 编辑器现在为最耗时的 XML 开发任务提供基于上下文的 AI 辅助功能。由于 AI 可以读取您已经打开的模式和文档,因此它的输出是基于您的实际工作,而不是泛泛的猜测。无需在不同工具之间复制粘贴,也不再出现“几乎符合”的答案。
以下两个例子比任何功能列表都能更好地说明其中的区别。这两者都是开发者经常做的事情,而且两者都曾经需要实时处理。

示例 1:基于您的数据模型生成的真实测试数据
假设您有一个用于采购订单的 XML 模式,并且需要一些示例数据来测试导入程序。传统的做法是手动编写一个文档,或者自动生成一个文档,但通常每个字段都会显示为无意义的占位符。 无论哪种方式,都很难了解您的代码如何处理实际的输入数据。
使用 Altova AI,您只需将其指向 XSD 文件,然后请求生成一个示例文档。

您可以指定一些选项来控制样本的生成方式,或者直接使用默认设置。

然后,Altova AI 会根据您提供的模式生成一个示例数据。它不会生成随机的有效值,而是会理解每个元素的含义,并填充合理的数据:例如,真实的公司名称、彼此相关且有意义的日期、格式正确的地址和价格等等

使用真实数据带来的好处是双重的。首先,它可以暴露一些使用占位符数据可能无法发现的特殊情况,例如:过长的姓名、多行文本、接近边界的值等等。其次,您的团队可以使用看起来像生产环境数据的资料进行演示、文档编写和原型设计,而无需接触到真实的客户记录。过去需要繁琐的人工操作,现在只需一键请求即可完成。
示例 2:使用 XSLT 或 XQuery 在两种结构之间进行转换
XML 转换是 XML 工作中最耗时的一环,很可能需要花费一个下午才能完成。以下是一个实际的例子:一家位于英国的公司向一家位于德国的供应商下订单,但需要将每份英文采购订单重新编写,使其元素名称与供应商的会计系统所期望的名称相匹配。这两个文件包含相同的信息,但每个标签都不同,属性名称也不同。
以下是德国系统期望接收的目标数据:

与其手动映射大量字段,您只需向 Altova AI 提供源文档和目标文档。它会读取这两个文档,识别在不同名称下但语义上相同的字段,并生成一个 XSLT 样式表,用于在它们之间进行映射。运行转换后,您将获得一个正确映射的德语文档,其中包含所有条目。

同样的流程可以生成 XQuery 代码,而不是 XSLT 代码,具体取决于您的偏好。而且,由于输出的是标准的、可完全编辑的代码,您可以在 XMLSpy 的 XSLT 编辑器中对其进行修改,在 XSLT 调试器中逐行调试,或者使用 XSL Speed Optimizer对其进行优化。Altova AI 为您提供一个可用的起点,而不是一个难以理解的“黑盒子”。
用于 XML 和 JSON 的人工智能助手
以上两个例子都利用了相同的底层技术,该技术驱动着交互式人工智能助手,而这个助手就是一个内置于 XMLSpy 中的聊天窗口。您可以用简单的语言描述您的需求,系统会根据您当前的上下文生成相应的内容。
通过辅助工具栏,您可以复制一个响应,将其粘贴到新文档中,或者直接在 XPath/XQuery 窗口 中打开它。 这种自然语言工作流程可以生成 XML 和 JSON 模式、示例实例,以及 XPath、XQuery 和 XSLT 代码,这同时也使其成为学习这些语言语法的快速方法。 同样,它也适用于 JSON 开发:您可以请求一个 JSON 模式、一个实例或一些示例数据,并在界面上直接查看结果。
可能性是无限的,但以下是一些示例提示:
• 创建一个XML模式,用于处理涉及多个承运商和跟踪事件的运输清单
• 创建一个JSON实例,其中包含一些示例保险理赔数据,包括一些特殊情况
• 创建一个XSL转换,该转换列出当前文件中所有顶层元素
• 编写一个XPath表达式,用于查找所有金额超过10,000美元,且在过去一个季度内下的订单
入门指南
Altova AI 作为一个订阅服务,可以与您的 XMLSpy 许可证一起购买。您需要购买支持与维护套餐(SMP),可以将 AI 订阅添加到新的 SMP 套餐,也可以添加到现有的 SMP 套餐。要了解更多选项并开始订阅,请访问 Altova 在线商店。您还可以在 Altova AI for XMLSpy 页面 上了解该功能的使用情况。
任务并没有改变:XML开发人员仍然需要测试数据、转换规则、模式和查询。改变的是完成这些任务所需的时间。借助Altova AI完成初步草稿后,原本需要一个下午才能完成的工作,现在可以在喝咖啡的间隙完成。