加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

xml – 是XSLT值得吗?

发布时间:2020-12-16 08:17:31 所属栏目:百科 来源:网络整理
导读:前一段时间,我开始了一个项目,我设计了一个html-esque XML模式,以便作者可以用简化的格式编写他们的内容(教育课程材料),然后通过XSLT转换为HTML。我玩了一段时间,玩了一段时间,然后得到了一个非常基本的水平,但后来被我遇到的限制太too ann了(这可能
前一段时间,我开始了一个项目,我设计了一个html-esque XML模式,以便作者可以用简化的格式编写他们的内容(教育课程材料),然后通过XSLT转换为HTML。我玩了一段时间,玩了一段时间,然后得到了一个非常基本的水平,但后来被我遇到的限制太too ann了(这可能是我的知识的限制),当我读一个博客建议沟XSLT,只是用你自己选择的语言编写自己的XML-to-any解析器,我急切地跳到那里,它的出色完成。

我仍然在这工作到这一天(我实际上应该是在它的工作,而不是在SO),我看到越来越多的事情,使我认为决定甩开XSLT是一个好的。

我知道XSLT有它的地方,因为它是一个公认的标准,如果每个人都在写自己的口译,其中90%将最终在TheDailyWTF.但鉴于它是一个functional style language而不是程序风格,最程序员都很熟悉,对于某人开始一个项目,如我自己,你会建议他们沿着我做的路径,或坚持使用XSLT?

XSLT的优点:

>特定于XML的域,因此例如不需要在输出中引用文字XML。
>支持XPath / XQuery,它可以是一种很好的查询DOM的方式,就像使用正则表达式可以很好地查询字符串一样。
>功能语言。

XSLT的缺点:

>可以是淫秽的冗长 – 你不必引用文字XML,这有效地意味着你必须报价代码。而不是一个漂亮的方式。但再次,它没有比你的典型SSI差多少。
>不做某些大多数程序员认为理所当然的事情。例如字符串操作可以是一个杂事。这可能导致“不幸的时刻”,当新手设计代码,然后疯狂地搜索网络提示如何实现他们认为只是在那里的功能,没有给自己的时间写。
>功能语言。

顺便说一下,获得过程行为的一种方法是将多个变换链接在一起。在每个步骤后,您有一个全新的DOM工作,反映该步骤中的更改。一些XSL处理器有扩展,有效地做到这一点在一个转换,但我忘了细节。

所以,如果你的代码主要是输出和没有太多的逻辑,XSLT可以是一个非常整洁的方式来表达它。如果有很多逻辑,但大多数是内置到XSLT的表单(选择所有的元素,看起来像blah,并为每个输出blah),它可能是一个相当友好的环境。如果你喜欢在任何时候都思考XML,那么给XSLT 2。

否则,我会说,如果你最喜欢的编程语言有一个良好的DOM实现支持XPath,并允许您以有用的方式构建文档,那么使用XSLT几乎没有什么好处。绑定到libxml2和gdome2应该做得很好,并且没有耻于坚持通用语言,你知道很好。

自制的XML解析器通常是不完整的(在这种情况下,你会变得不稳定的一天),否则不会比你可能已经下架了(这种情况下你可能浪费你的时间),并给予您有任何数量的机会引入围绕恶意输入的严重安全问题。不要写一个,除非你知道你通过这样做得到什么。这不是说你不能写一个比XML更简单的解析器作为输入格式,如果你不需要一切XML提供。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读