2010-06-09 95 views
18

您在应用程序中如何将XML数据转换为其他数据类型?为什么?用于转换数据的XQuery vs XSLT

+1

好问题:+1。看到我的答案,以获得明智的意见。 – 2010-06-09 13:00:07

回答

13

尽管XQuery 可以使用进行简单的转换,但它缺乏XSLT的强大功能和特性(尤其是模板和指令)。

XSLT是一种专门用于处理树结构的语言。这样做仍然是最好的。

在访问XML数据库的情况下,使用XQuery的效率(效率)来提取必要的XML节点,然后从XSLT开始执行转换是一个很好的决定。甚至现在,一些XSLT 2.x/XQuery处理器也允许这样做(通过扩展)。下一波XSLT 2.x/XQuery 1.x规范很可能使这种互操作性成为这些语言的官方功能。

-4

这取决于您需要什么类型的“转换”,XQuery允许您对XML数据执行查询,有点像SQL。

XSLT允许您将样式应用于XML,就像CSS使用HTML一样。

+8

我完全不同意这样一句话:“XSLT允许您在XML上应用样式,就像CSS使用HTML一样”。 XSLT并不是XML到CSS的HTML。 CSS告诉处理器如何显示HTML。 XSLT用于将数据转换为其他内容。您可以使用XSLT将XML转换为HTML,以便处理器知道应该如何显示数据,但处理器如何显示结果HTML与XSLT无关。 – 2010-06-11 01:42:17

+0

XSLT比CSS复杂得多。借助XSLT,您可以在输出文件中添加/删除元素和属性。您还可以重新整理和排序元素,执行测试并决定要隐藏和显示哪些元素等等。 – Premraj 2015-05-20 12:10:44

0

如果你看看Wikipedia Entry他们有一个比较两个部分。

在我看来,我将XSLT看作是数据的可编程表示层。