0

在研究了 XSLT 一段时间后,我可以想象,与任何其他技术一样,它可以很好地完成某些事情,但不适用于其他情况。但是,我无法找到太多出色的应用程序。

为什么选择 XSL 转换?似乎有很多关于某些领域的一般利弊的帖子,但问题更多地集中在为前端生成 HTML 上。XSLT 的其他一些应用程序是什么?最好使用它擅长的 XSLT 应用程序。(使用 XSLT 可能不是自然显而易见的也是一个加分项)

XSLT 的一些明显优势似乎是(如果我认为它是一种优势,请纠正我):

  • 将 XML 文档转换为 PDF 文档
  • 即时更改一个 XML 文档的结构,使其与另一个 XML 文档的结构相匹配
  • 处理许多不同的模板以在不同的设备上查看
  • 将 XML 文档转换为数据库的导入文件
4

2 回答 2

3

这些是导致我在编写的大多数程序中使用 XSLT 的优势;您的情况可能会有所不同。

1 更舒适地处理 XML

因为 XSLT 是从头开始设计用于处理 XML 数据的,所以有些人发现它对 XML 的阻抗失配比大多数传统编程语言要低;XQuery 也是如此。鉴于设计合理的 XML 输入,使用 XSLT 处理它(无论出于何种目的)通常比使用另一种语言更容易(有些人会说几乎总是)。我怀疑,许多认真的 XML 用户会本着这种精神概括您列出的 XSLT 的优势,并在输入数据为 XML 时更喜欢 XSLT(或 XQuery)。在 XSLT 中生成 XML 也很容易,而许多使用其他语言的程序员似乎发现生成格式良好的 XML 的过程容易出错。

2 声明式函数式语言

XSLT 是一种声明性的函数式语言,并具有该类语言的许多优点。一些面向过程语言的程序员发现很难准确理解,因为它是声明性的和函数式的。非程序员发现 XSLT 比来自 C 或 Java 的程序员更容易学习的情况并不少见。(一些程序员似乎觉得这是一种威胁性的经历,这可能解释了他们对 XSLT 和 XML 表现出的一些敌意。)

3 XML 语法

因为 XSLT 样式表是用 XML 编写的,所以任何好的现成 XML 编辑器都很容易提供出色的语法指导;我的经验(就其价值而言)是,在使用 XSLT 编写时,我几乎没有犯任何语法错误——与我在其他语言中的经验形成鲜明对比——而且当我打错字时,它会立即变得明显并且可以立即纠正。

当然,有些人大体上喜欢 XSLT,但特别挑出它的 XML 语法表示不喜欢。创造一个世界需要各种各样的东西。

4 模板和数据驱动的控制流

从技术上讲,XSLT 的特点是在输入上使用模板和模式匹配来控制执行流程。这使得编写在出现意外输入或输入格式演变时表现稳健的 XSLT 程序变得更容易,并且(与 XSLT 计算顶级样式表和导入样式表之间的模板优先级的规则相结合)更容易编写新的程序来添加现有程序的少量功能。

XSLT 1.0 不是特别适合处理非 XML 数据;在 XSLT 2.0 中,这样做要容易得多。

于 2013-05-07T17:57:11.000 回答
1

我喜欢 XSLT 有几个原因:

  • 它是一种非常自然的语言来操作 XML
  • 它的功能特性使其成为操作 XML 的非常安全的语言
  • DataPower 等硬件加速产品使其成为处理 XML 的最快语言
  • 它是真正的开源语言
于 2013-05-14T02:09:59.810 回答