【发布时间】:2015-02-21 23:55:49
【问题描述】:
必须存在一些应用程序来执行以下操作,但我什至不知道如何用谷歌搜索它。
难题在于我们必须回溯缺陷,这样做需要查看输出 xml 中的某些字段是如何由 XSL 生成的。困难的部分是在 XSL 和 XML 中花费数小时试图找出它是在哪里生成的。如果您正在处理多个 XSL 转换和编辑,即使调试也很困难,因为您仍然需要找出在该转换的特定场景中获得的主键。
是否有一些软件程序可以采用 XSL 并可能执行以下两种操作之一:
- 给它一个输出字段名称,它会生成一个列表 生成此字段的可能条件,以便您确定 XSL 中的十几个符合您的条件的条件,或
- 以某种方式将 xsl 转换为更易读的 if/then 类型 格式(有点像如何使用 Javadoc 生成可读文档)
【问题讨论】:
-
问题似乎是开发人员不熟悉 xslt;你所拥有的是一个仍在建设中的xsl,因为你仍在调试它并试图让它工作。有很多标准的xml开发工具,我可以想到氧气,xmlspy,这样的工具使开发xsls更容易,但它们不会生成xsls供您选择。我认为您正在寻找的是 xpath 表达式,因为您声明您只需要一个输出字段。 xslt 也不能归结为一系列 if-else。可以发布您正在尝试做的更多细节吗?
-
嗨,每个问题 - 问题是我们必须解决正在处理的交易的异常/缺陷。第一步是找出它是由我们的系统还是发件人引起的。发件人发送一种类型的 xml,然后我们使用(大部分)xsl 文件转换为我们内部的 xml 类型。对于像我们这样大的系统,这些 xsl 非常复杂,可能需要几个小时来调试,以确定原因是来自源的错误数据还是我们的 xsl 转换它的方式。
-
您应该使 xslt 的输出符合模式定义。
-
谢谢,我们正在使用 XSLT 来确保这一点。在我的情况下,我们确实使用 xslt 进行模式验证。真正的问题在于获取输出 xml 值并插入数据库,然后您会遇到唯一约束的问题。此时,您必须确定这些唯一键值是如何从 xsl 生成的,以查看您是否以这种方式生成它们,或者它们是否作为这些值从源系统开始发送
标签: debugging xslt transformation