在研究XSLT一段时间之后,我可以想象,与任何其他技术一样,它可以很好地完成某些事情,但在其他情况下则不适用。但是我找不到太多突出的应用程序。
Why choose an XSL-transformation?似乎在某些方面有很多关于一般优缺点的帖子,但问题更多地集中在为前端制作HTML。 XSLT的其他一些应用是什么?最好是XSLT的应用,它擅长。(使用XSLT可能不是很明显也是一个优点)
XSLT 的一些显而易见的优势似乎是(并且如果我错了它是正确的话,请纠正我):
答案 0 :(得分:2)
这些优势促使我在我编写的大多数程序中使用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中,这样做要容易得多。
答案 1 :(得分:1)
我喜欢XSLT有几个原因: