用于转换数据的 XQuery 与 XSLT
您在应用程序中使用什么来将 XML 数据转换为其他数据类型?为什么?
What do you use in your applications for transforming XML data to other data types? WHY?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
虽然 XQuery 可以用于简单的转换,但它缺乏 XSLT 的功能和复杂性(特别是模板和
指令)。XSLT 是一种专门为处理树结构而设计的语言。做这件事还是它最擅长。
在访问 XML 数据库时,最好使用 XQuery(的效率)来提取必要的 XML 节点,然后从这里开始使用 XSLT 进行转换。即使现在,一些 XSLT 2.x / XQuery 处理器也确实允许这样做(通过扩展)。下一波 XSLT 2.x/XQuery 1.x 规范很可能会使这种互操作性成为这些语言的官方功能。
While XQuery can be used for simple transformations, it lacks the power and sofistication of XSLT (especially templates and the
<xsl:apply-templates>
instruction).XSLT is a language that was especially designed to process tree structures. It is still best at doing this.
In cases when accessing an XML database it would be a good decision to use (the efficiency of) XQuery to extract the necessary XML nodes and then do the transformation with XSLT from here on. Some XSLT 2.x / XQuery processors do allow this (via extensions) even now. The next wave of XSLT 2.x/XQuery 1.x specifications will most probably make such interoperability an official feature of these languages.
如果您查看维基百科条目,他们有一个部分对两者进行了比较。
在我看来,我将 XSLT 视为数据的可编程表示层。
If you look at the Wikipedia Entry they have a section that compares the two.
In my view I see XSLT as a Programmable presentation layer for data.
这取决于您需要什么类型的“转换”,XQuery 允许您对 XML 数据执行查询,有点像 SQL。
XSLT 允许您在 XML 上应用样式,就像 CSS 对 HTML 所做的那样。
It depends what type of "transformation" you need, XQuery allows you to perform queries on your XML data, a bit like SQL.
XSLT allows you to apply a style on XML, like CSS does with HTML.