用xslt+css让RSS显示的跟网页一样漂亮
最近,我开始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就能运行,但结果出现了很多问题。目前我暂时没时间深入研究,等有空再写些测试吧。
我的学习成果展示在[
编程语言
- 用xslt+css让RSS显示的跟网页一样漂亮
- 浅谈thinkphp的实例化模型
- 3种不同的方法生成文件
- JavaScript简单实现合并两个Json对象的方法示例
- js中取得变量绝对值的方法
- 教你JS中的运算符乘方、开方及变量格式转换
- 关于JavaScript的单双引号嵌套问题
- php共享内存段示例分享
- ASP中FSO的神奇功能 - 文件读取
- Laravel 5 学习笔记
- JavaScript实现学生在线做题计时器功能
- JSP MySQL插入数据时出现中文乱码问题的解决方法
- PHP中list()函数用法实例简析
- angular select 默认值设置方法
- Angular4 Select选择改变事件的方法
- 解析php中用PHPMailer来发送邮件的示例(126.com的例子