用xslt+css让RSS显示的跟网页一样漂亮

网络编程 2025-03-13 18:30www.168986.cn编程入门

最近,我开始XML、XSLT与CSS结合构建网页的奥秘。我选择了自己网站的一部分作为实验场,但因为实验室内容存放在另一服务器上,懒得再制作一个首页,于是选择了同步RSS作为临时首页。面对没有关联样式的XML,我始终觉得它缺乏吸引力。虽然直接关联CSS能稍微改善XML的表现力,但这并非我的最终目标。我的浏览器虽然大多支持XSLT,但我发现单纯依赖CSS的功能仍然有限。XSLT的引入为我带来了更多可能性,使得XML终于可以像网页一样展现。

通过研究XSLT,我发现许多操作与我之前熟悉的HTML和CSS类似。在写HTML时的自由度在XSLT中并不适用,不能随意添加元素以达到预期效果。尽管如此,我还是能写出一些比纯文本好看的CSS定义。例如,在XSLT中,我学习了如何使用xsl:for-each、xsl:value-of和disable-output-escaping等指令,这使我能轻松地复制我程序用的模板文件,将smarty标签替换为xsl标签。

等待网站核心程序完成后,我计划尝试直接使用XSLT作为smarty模板。每当进行网页开发时,总会遇到一些浏览器兼容性问题。这次,我遇到了moz内核浏览器的问题。我需要显示CDATA里的HTML,使其更像网页。但搜索告诉我,Mozilla的Transformiix不支持disable-output-escaping。我记得feedburner能在Firefox显示CDATA里的HTML代码,通过研究其XSLT和搜索结果,我发现大多数解决方案是使用JS的innerHTML将内容再次写入。虽然我不完全清楚原因,但我还是按照大家的方法解决了这个问题。

在写JS时,我又发现了一些奇怪的现象。例如,直接在XSLT中写JS和外链JS有些不同。我本想在一个页面内随意写function就能运行,但结果出现了很多问题。目前我暂时没时间深入研究,等有空再写些测试吧。

我的学习成果展示在[

上一篇:浅谈thinkphp的实例化模型 下一篇:没有了

Copyright © 2016-2025 www.168986.cn 狼蚁网络 版权所有 Power by