html - XSLT 是否值得投入时间,是否有任何实际的替代方案?

标签 html xml xslt architecture offline

我知道还有一些关于这个主题的其他问题,普遍的共识是使用您选择的语言来操作 XML。但是,这个解决方案不太适合我的情况。

一、项目范围: 我们想开发平台独立的电子学习,目前,它是一堆 HTML 页面,但随着它们的成长和发展,它们变得难以维护。 我们已经有大约 30 个模块,每个模块有 10-30 个 HTML 页面,而且这个数字一直在增长。

想法: 有一个 XML 文件 + 模式预电子学习模块,然后生成一些 XSLT 文件,将 XML 处理到电子学习模块中。通过 XSLT 将 XML 转换为 HTML。

为什么: 我们希望能够灵活地重新格式化内容 我意识到 CSS 在这里是一个可行的替代方案,尤其是在视觉上改变外观,但我们可能需要比这更强大的功能,甚至重构页面。 如果我们决定改变页面布局或功能,我猜改变“共享”XSLT 文件会比更新 HTML 文件更容易。

根据一些“参数”,我们可以输出截然不同的页面布局/结构,超出 CSS 的能力。 XSLT 可以采用 QueryString 参数吗?不确定..

现在,所有这些都必须独立于平台,并且能够“离线”运行,即没有服务器支持 HTML,因此服务器端技术是不可能的(C#、PHP)

到目前为止我读到的关于 XSLT 的负面消息:

  • 开销?不太确定为什么...转换为 HTML 需要计算能力吗?
  • 很难学
  • 更好的选择

现在,我想知道的是:

  • 对于这种“离线”,实际上是否有任何可行的替代方案?
  • 我的处理方式是否正确
  • 你们有什么建议或替代方案吗。

编辑: 无论有没有 XSL,CSS 和 JQuery 都将是我们解决方案中非常重要的部分 开发。 一般整理(马虎英文!)

最佳答案

为此使用 XSLT 方案是合法的。如果您培养专业知识,XSLT 将非常强大。

  • 开销:是的,对于大型文档,转换可能需要几秒钟。对一分钟调用多次的大型文档进行转换可能是一个糟糕的策略。这对您来说不是什么大问题,因为您不会在需要修改时按需进行这些转换。
  • 很难学。您可以很快使用 XSLT 提高工作效率,但要注意:就在 XSLT 看起来越来越容易的时候,您会惊讶地发现它突然变得棘手了!您认为困难的事情可能很容易,反之亦然。例如,您可能需要导入或创建一些模板来进行一些简单的日期格式化。不过这一切都是可行的。不要害怕学习如何做"template"。
  • 更好的选择。是的,有更好的选择,但它们特定于平台。例如,我在 .NET 领域,我放弃了 XSLT,转而使用我们新的 XElements 等,而 VB.NET 嵌入式 XML 非常强大且简单。但是,当您想避免依赖于特定平台时,XSLT 仍然非常有用。

您仍将使用 CSS 作为策略的一部分,对吗?更改 XSLT 以一致地输出样式比手动在 30 个模块中执行它要好,但精心规划的 CSS 样式表仍然可以帮助简化事情(提高可维护性和灵 active )。

总结:组织静态 html 页面的布局/修订,平台独立,灵活分发:是的,据我所知,你有一个很好的策略。您在 XSLT 方面的专业知识在未来也将很有用。掌握 XSLT 后,您将真正理解 XML,这将永远有用。

关于html - XSLT 是否值得投入时间,是否有任何实际的替代方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2876777/

相关文章:

xml - 如何将没有根/父元素的 XML 转换为结构体?

xml - 使用 XSLT 将 XML 排序为 XML

javascript - jQuery在文本区域中设置光标位置

html - IE7 CSS - 悬停某些链接时页脚 div 移动

html - CSS Translate 在原始位置创建空白

xml - 如何成功地用 XML 中的批处理替换文本

css - 带有折叠侧边栏和静态大小中间的三列布局

java - 如何使用 Maven 组合并运行来自不同项目的 testng xml 文件?

xml - 如何使用 XSLT 从我的 XML 中删除换行符?

xml - XSLT 中的 If 条件