【问题标题】:What to use? Integrate a front end Web App with XQuery/Saxon as the platform?用什么?以 XQuery/Saxon 作为平台集成前端 Web 应用程序?
【发布时间】:2012-09-10 15:36:15
【问题描述】:

作为 XQuery 和 Saxon 的新手,我继承了数百个用于分析自动回归测试结果文件的 XQuery 模块。每个测试用例有一个.txt 测试结果文件。每个回归测试用例还有一个 XQuery .XQ 模块。

基本上每个 XQuery 模块.XQ 都将一组以 XML 格式编码的原始测试数据作为输入,运行分析并生成一个显示 PASS/FAIL 类型结果的 HTML 表格。

目前对该套件的控制是通过一组 DOS .BAT 文件,每个测试用例一个文件。从每个.BAT 内部,外部解析器.exe 将原始测试结果文件从.txt 格式编码为.xml 格式,然后使用Saxon.jar 作为处理器为测试用例运行特定的XQuery 模块。 '.bat' 文件通过启动资源管理器实例来完成,以显示包含结果表的最终 HTML 文件。

基本上,上述过程非常手动,需要使用 .BAT 文件单独运行每个案例。我需要一个改进的体系结构,以便使用我目前拥有的一组 XQuery 模块来控制和呈现对这些测试结果文件的分析。执行分析的过程将涉及

  • .txt 格式加载/存储一组原始测试结果文件
  • 使用外部解析器 .exe 将原始测试结果文件转换为 XML
  • 使用 Saxon 启动 XQuery 模块套件以分析 .xml 结果文件
  • 生成显示列表结果

所以我的问题是为了实现上述过程的集成,假设我替换了.bat 文件,我应该考虑哪些理想的工具可以连接到底层 XQuery/Saxon 引擎?

例如 - 我的主要想法是运行一个带有 UI 的本地 Apache 实例来控制一切?我需要快速构建它,那么什么样的技术可以构建一个与 Saxon 配合得很好的 Web 应用 PHP/Java/Ruby/GWT?其他人都做什么?

我知道一个高级问题,所以可能会有不止一个答案。

【问题讨论】:

    标签: java php gwt xquery saxon


    【解决方案1】:

    从 .bat 文件为每个测试运行一个新的 Saxon 实例肯定是非常低效的 - 它会产生大量初始化 Java VM 的开销。

    我们使用 Java 编写的测试驱动程序(实际上是分发的)执行相同的过程,该驱动程序包含您在 bat 文件中的控制逻辑,通过 s9api API 调用 Saxon(尽管如果您想使用 XQJ它更便携)。我们以 XML 而不是 HTML 生成结果,因为它更易于分析,并且我们总是可以在必要时呈现结果以供浏览器查看 - 尽管通常我们只查看 XML。还有一个运行 Swing UI 的版本,但我很少使用那个版本。

    如果我从今天开始,我可能会考虑使用 XProc 编写这样的测试驱动程序。

    【讨论】:

    • 感谢您为我指明正确的方向@michael-kay - 您能否也告诉我:1) 您的发行版中的测试驱动程序的名称是什么以及在哪里参考吗? 2) 测试驱动程序可以作为 servlet 运行吗? 3) 我正在使用 GWT 开发 WebApp 并提供上传功能和结果显示 UI - 我需要在我的 CLASSPATH 中使用什么 Saxon JAR 来实现您所描述的内容? 4) XProc 看起来非常有趣,尤其是 p:exec,我认为它可以用于调用我们的外部 XML 解析器并在原始结果日志上传到服务器以准备解析为 XML 后驱动该过程。
    • 从 SourceForge 页面获取 saxon-resources 下载,并查找 drivers/java/com/saxonica/testdriver/XQueryTestSuiteDriver.java
    • 谢谢,我会发现 - 这也有一个在 XProc 中挂钩的例子吗?
    • 不,我们没有尝试过 XProc。如果我重新开始,我会的。
    • 我明白了,是的会很好。有没有可以编程控制的 XProc 处理器,也可以连接到 Saxon?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-01
    • 2020-11-07
    • 2020-04-28
    • 1970-01-01
    • 2017-05-24
    • 1970-01-01
    相关资源
    最近更新 更多