html语言节点树,哪些模板语言输出HTML *作为节点树*?

首先,

HTML是一个节点树.这不仅仅是一个文本.

但是,大多数模板引擎处理它们的输入和输出,因为它只是一个文本;他们不关心他们的标签,他们的{$foo}和周围发生了什么;他们也不关心他们输出什么.有时它们碰巧产生了正确的html,但这只是巧合;他们没有达到目的,他们想要的只是用他们的评价来取代文本流中的一些有趣的标记.

有一些模板引擎会将其输出视为一组节点;想到XSLT和Haml.对于某些任务,这具有优势:例如,您可以自动重新格式化(例如,删除所有空文本节点;自动缩进;自动换行).除非您使用可以破坏该操作的严格操作子集,否则结果将保证为正确的xml / sgml.此外,这样的模板引擎会在文本节点和属性中自动引用字符串,因为它严格知道您是在编写属性还是文本节点.

此外,它可以有条件地从输出中删除节点,因为它知道它的开始和结束位置,这很有用,并且可以执行其他非平凡的节点操作.

你可能不喜欢XSLT的动词或功能,但是你的模板是xmllint-able XML,并且你的输出是一个很好的sgml / xml,这是有帮助的.

所以问题是:您知道哪些模板引擎将其输出视为一组正确的节点,而不仅仅是非结构化文本?

我知道XSLT,Haml和一些基于python的晦涩的. Moar!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值