锁定老帖子 主题:XSL 1.1 是否准备kill css
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-05-23
javadev 写道 我觉得xsl和css在近几年将会共存。
这么老的贴子都顶上来了. 我也在用css没办法. 其实将xml转化成预定格式的pdf xhtml wold只需要一个xsl就可以 xsl取代css应该在 rest系统普及 和类微软的sl系统流行之后吧 |
|
返回顶楼 | |
发表时间:2007-05-26
几个,首先说复用性。衡量标准很重要。我们必须认识到css是一种专门的语言,即为网页而生,而xsl的目标与其不同。所以单纯说哪一个复用性高是不合理的。抛开应用范围不说,从技术角度而言,css和xsl有很重要的区别。如css是层叠的,xsl没有这个能力,这点非常重要。另外一方面xslt作为一个变换语言来说比css selector要更具有完备的编程性。而xsl-fo则是用于专业排版,比css有更多更精细的控制,但是也显得繁琐。
另一个问题是css没有采用xml语法。这个到底好还是不好?见仁见智。我个人认为现在的css语法设计相当漂亮,从学习和使用的角度,比等价的xsl语法要好。实际上,现在对xml语法的批评很多,实际运用当中也确实如此。例如relax ng,明显其非xml的compat语法更容易书写和阅读。 winterwolf 写道 "1、开发成本。XSL 在没有出现功能强大的 IDE 之前,不会成为主流的开发模式。CSS 的学习成本和使用成本都要远远低于 XSL。从可重用性的角度来说,CSS 的可重用性并不比 XSL 低,事实上我很少见到真正可以重用的 XSL 样式单,而 CSS 的重用则要比 XSL 重用容易得多。"
这也许吧 但也很难确定. 对于没有接触过css的人 也许xsl更容易被理解和接受. 我认为xsl会成为web程序员的基础语言之一 . xsl的重用是css无法比模的, css只能处理一些静态的东西,而xsl本身就是一门编程语言. cocoon 的form框架 依靠xsl将form改造的相当灵活 远远超过现有的其他框架 包括jsf. "2、XSL 和 CSS 的作用定位不同。CSS 的作用就是单一用来做布局的。XSL 实际上分成两部分,XSLT 和 XSL-FO。一般人实际上只用到了 XSLT,他们所谓的 XSL 实际上指的是 XSLT;而 XSL-FO 相当复杂,我们很少会用到。XSLT 也可以用来做布局,但是 XSLT 最主要的作用还是用来转换 XML,将 XML 从一种词汇表转换为另外一种词汇表。" xsl xsl-fo过去是分离的w3c没有将他们放到一起,但现在1.1版本将他们合在一起 这是值得关注的. xsl做布局是适合的. 我就经常用xsl来做布局. 比如用top.xsl bottom.xsl ....将xml套上 top bottom left right等标签. 然后再用page.xsl做个模板 有的时候为了美观会用到css 但将css放到xml中是很碍眼的 如果xsl能做到我肯定会放弃css. "3、XSL 的起源和 XML Schema 很象,是一些开发人员感觉处理 CSS 无法使用 XML Parser 的资源,需要另外开发不同的解析器,一些 100% pure XML 的狂热分子认为什么都应该使用 XML 来描述,但是事实上并没有足够的证据证明必须要这样做。当然对于 XML Schema/Relax NG,相对于 DTD 来说采用 XML 来描述确实带来了巨大的利益(更加精确的数据格式定义使得 Schema 更适合于面向数据的应用,可以在运行时动态生成和修改 Schema 描述等等)。不过对于 XSLT,我并没有看到其在描述布局方面相对于 CSS 有任何优势,甚至我感觉没有任何优势。我并不认为将来的世界什么都应该使用 XML 来描述。即使出现了 XML Schema 和 XSLT,DTD 和 CSS 也不会消失或者被彻底淘汰,这是一种天真的想法。事实上 DTD 在面向文档的应用中还是有很多优势的,而在界面布局领域,CSS 相对于 XSLT 的优势简直就是压倒式的." 不要忘记xsl是图灵创造的. 最后,什么叫xsl是图灵创造的?? |
|
返回顶楼 | |
发表时间:2007-05-26
winterwolf 写道 可能是要等几年 估计在2007年以前 不会对css构成什么威胁.
"楼主既然说要 Kill CSS,那么就应该给我们一些令人信服的 CSS 不好的理由,因为这是包括我在内的很多朋友都不清楚的。难道仅仅是因为语法不是 XML 吗?" 这个题目不是很严肃的 只是开阔一下思路. 我个人不厌恶css 但确实怀疑css会很快退出. 假定以后的开发是以xml为核心的, xml文档中如果夹杂css就会带来麻烦 css会成为鸡筋 让系统的灵活性 大大降低. 在网页这个领域,css不会退出。因为xsl并不能取代css,例如xsl没有层叠。而且xsl要得到浏览器支持非常难非常慢。你知道opera从哪个版本才支持xslt 1.0?实际上opera的开发者在xsl那里绝对是反对的,很早写过文章专门反对xsl,可能还在w3c的投票里投了反对票。直到现在,也没有一个浏览器支持xsl-fo部分。而且css的有些内容,例如伪类、伪元素,在xsl中没有直接对应的。 值得特别注意的是,xsl本来是源自于出版印刷,而css的源起是网页。所以像ui交互(如css的focus、hover等特性)像语音样式等等,xsl里都没有! 比较可能的方向是,css会从xsl中吸取养料而茁壮成长。例如css 3的某些spec中写明某些属性是等价于xsl规范的属性。 如果说css现在存在什么阴云,那就是在未来的rwc/ria等战场上。微软的XAML就没有用css,而是完全采用一个新的基于xml语法的方式,这点很令人不解和不爽。其他一个把markup引入应用开发中的尝试也有许多完全采用xml语法,而不使用css,我认为这个方向存在问题。 我个人仍然看好css。 |
|
返回顶楼 | |
发表时间:2007-05-26
hax 写道 ,css会从xsl中吸取养料而茁壮成长。例如css 3的某些spec中写明某些属性是等价于xsl规范的属性。
如果说css现在存在什么阴云,那就是在未来的rwc/ria等战场上。微软的XAML就没有用css,而是完全采用一个新的基于xml语法的方式,这点很令人不解和不爽。其他一个把markup引入应用开发中的尝试也有许多完全采用xml语法,而不使用css,我认为这个方向存在问题。 我个人仍然看好css。 我也认为css比较容易使用 但对机器来说css代码很难被再加工和自动生成. xsl比css复杂是对人而言的. xaml抛弃css很容易被理解 因为它未来的方向不依靠浏览器自然无须顾忌浏览器上的标准 |
|
返回顶楼 | |