【问题标题】:Is there a simple preprocessor/code-generator like GNU M4 that can be called from Ant?是否有可以从 Ant 调用的简单的预处理器/代码生成器,例如 GNU M4?
【发布时间】:2010-07-09 20:19:35
【问题描述】:

我需要维护一些旧的 XSL 代码,但我发现 XSL 文件中有很多重复项。看起来 XSL 没有一个简单的包含/导入功能,它允许我将代码移动到不同的文件并在需要时包含它。

这听起来像是可以使用模型驱动开发工具来完成,但我只是听说过,并没有真正使用过它,而且它可能对这项工作来说太过分了。

是否有一个可以从 Ant 调用的简单预处理器,它支持包含/导入?

【问题讨论】:

    标签: ant code-generation preprocessor


    【解决方案1】:

    XSL 有一个包含机制。详情请见http://www.w3.org/TR/xslt#section-Combining-Stylesheets

    如果你不能用它来实现你想要的,你可以用另一个 XSL 转换来预处理你的 XSL:XSL 就是 XML。但是……我不认为在你离开后必须维护你的项目的程序员会感谢你这样做!

    如果您只想跨平台替换 M4,您可以调用 VelocityFreemarker 或 Ant 的其他模板库。

    【讨论】:

    • 我尝试使用它,但它不是很直接。我相信我必须在 XML 中插入一个标签,然后将包含的 XSL 绑定到新标签。这还不错,但不幸的是,我们正在扩展一个生成 XML 的专有系统,因此我实际上无法修改正在输出的 XML。
    • 要使用 XSL 的包含机制,只需将 元素添加到您的 XSL 样式表。您不需要更改正在转换的 XML。要转换 XSL 本身,您只需将元素添加到在您自己的命名空间中定义的源 XSL,然后让另一个转换将这些元素转换为普通 XSL。
    猜你喜欢
    • 2012-09-04
    • 2018-01-03
    • 1970-01-01
    • 2018-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多