在OnlineExam的开发过程中,我们使用了xsl/xml的技术进行分层开发。
这一技术在实现keystone的时候非常顺利,不愧是标准。

但是在OnlineExam中,由于考题的描述需要用所见即所得的模式编辑,我们引入了FCKEditor这个富文本编辑器,这样的话,我们就把带有html的数据保存在了考题描述这个字段中,当要列出所有考题的描述时,我们必须让xsl去解析其中的html代码,以显示考题描述原有的格式。
但是很遗憾虽然我们在xml中引入了更糟糕的是,当输入

找了整整一天的解决方案,还是不能解决我们的问题。
最终求人不如求己,自己写了一个转换js方法,将特殊符号的前缀&号,转义成我们自己的[amp]标签,这样的话,xsl就会乖乖的听话输出我们需要的字符,而在xsl渲染之后,我们又通过js方法把[amp]转成了&号,页面进一步渲染,就成了html标签。

这样做的好处就是,我们不再依赖那个非标准的disable-output-escaping属性,而完全依靠自己的js方法就搞定了,这样跨浏览器的目的也达到了。

软件开发

感谢软件定制开发