XSLT值得学习吗?

116
前一阵子,我开始一个项目,在该项目中,我设计了一个类似于HTML的XML模式,以便作者们可以用简化格式编写他们的内容(教育课程资料),然后通过XSLT转换成HTML。我尝试(挣扎)使用它一段时间,并将其达到了非常基本的水平,但是随后我因为遇到的限制感到非常恼火(这些限制可能是我知识的限制),当我读到一篇博客建议放弃XSLT,只需在你选择的语言中编写自己的XML转换器时,我热切地跳上了这条路线,结果效果很好。
我至今仍在继续开发它(实际上我现在应该在工作,而不是在SO上打游戏),我看到越来越多的东西使我认为放弃XSLT是一个明智的决定。
我知道XSLT有其存在的意义,因为它是一个被广泛接受的标准,如果每个人都在编写自己的解析器,其中90%的人最终会出现在TheDailyWTF上。但是,考虑到它是一个函数式语言,而不是大多数程序员熟悉的过程式语言,对于像我这样开始类似项目的人,你会推荐他们走我选择的道路,还是坚持使用XSLT

1
我认为你的问题主题(有争议)和你所问的实际问题(即SO读者是否实际使用XSLT或推荐使用它)之间存在严重脱节。同时也不清楚你为什么需要回答这个问题。 - Martin v. Löwis
3
@Martin,你有什么建议作为标题吗?我并不一定需要这个问题被回答,但我认为它很有趣,并且对于那些正在考虑是否要投资于XSLT或其他替代方案的人来说也很有用。 - Benjol
7
我认为XSLT已经在炒作周期的生产力高原上达到了顶峰。 - Dirk Vollmar
我个人认为,除非我将XML通过至少1或2次转换处理,否则它不会增加任何价值。 - user74754
@Martinv.Löwis,我同意你的看法。此外,这确实归结于企业问题,也就是说,如果同一个人做所有事情,并且方法是创业公司...很好,以最快的实现方式完成它,反正在这种情况下你只是自己搞砸而已。虽然 XSLT 在点击之前相当困难,需要具有领域专业知识,但在大型组织中......我的天啊,您会意识到反对 XML 的所有人是多么错误。此外,一旦您了解了 XSLT,它就是最佳选择,只有在您不了解 XSLT 时才会出现其他情况,因此您需要考虑学习投资。 - J. M. Becker
新时代已经到来,JSON和JavaScript(例如客户端、后端、数据库)的文件转换变得更加易读(还有其他非常好的特性)。 - ddsultan
41个回答

0

XSLT 1.0 是最具可移植性的代码之一,至少在桌面和服务器计算机上如此。因为大多数这些系统上都有一个(甚至多个)运行时:

  • Microsoft Windows 拥有 MSXML,自 Windows 2000 起已安装在基础系统中。它可以从 MSIE、命令行(使用 WSH)或 Office 应用程序中使用
  • Java 运行时环境(JRE)拥有 XSLT 运行时,并且大多数桌面上都安装了 JRE
  • 几乎所有主要的 Web 浏览器都有一个。Opera 是例外。
  • 在主要的 GNU 基础操作系统上默认安装了免费实现(libxslt、xsltproc)
  • 我没有检查过 MacOS X,但它至少在 Safari 中有一个实现

这使得它非常适合构建一些需要便携性和轻量级/无需安装的应用程序。

此外,XSLT 只需要运行时(不需要编译器),您可以使用任何文本编辑器轻松创建代码。因此,您可以轻松地从任何桌面计算机创建程序(好吧,一旦您掌握了该语言)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接