这只是出于好奇而提出的问题。
谁能举例说明无法使用 XSLT 模板解决的与 XML 处理相关的问题?
处理一个 XML 文档实际上通常需要处理两件事——文档本身的结构,以及各个节点中的内容。
例如,如果您想foo
使用 XSLT 1.0 在所有节点上进行正则表达式替换,编写与这些节点匹配的模板很容易,但实际上对内容进行正则表达式替换非常困难,您需要编写自己的正则表达式解析器。在这种情况下,让宿主语言使用 XPath 获取节点列表并自行处理替换会更有意义。
其次,一些解决方案在 XSLT 中效率不高。以这个问题为例:高效的 xslt 条件增量,尽管 OP 要求的内容当然是完全可能的,但 XSLT 并不是最有效的语言。我可以很容易地使用程序语言。
另一个论点当然是关于可维护性的——你编写的代码让你的团队能够维护。如果您的团队中没有其他人知道 XSLT,那么短期内您可能最好使用他们所知道的(尽管如果您有时间/预算,让他们学习 XSLT 总是一个好计划)。
声明说“特定的计算或特定类型的操作在给定的语言中是不可能的”是不公平的。因为世界上某个地方会有一个人提供扩展并证明它是可能的: )
出色地。XSLT 旨在将 XML 转换为所需的格式,如 XML/HTML/Text(也包括生成 CSV 文件),而 XSLT 在这方面非常完美!!
分享我的个人经验,在 XSLT 1.0 中,我遇到了一些听起来很困难的操作。示例:日期时间操作(加减两个日期时间值)。但幸运的是 msxsl 支持内联脚本,这解决了我的问题!
你为什么不尝试实现一些超出你想象的东西..如果你被困在某个地方,那么让其他成员玩得开心解决这些难题:)