我意识到关于这个主题还有其他一些问题,而且一般的共识是使用您选择的语言来操纵XML。但是,这种解决方案并不适合我的情况。
首先,项目范围: 我们希望开发独立于平台的电子学习,目前,它是一堆HTML页面,但随着它们的成长和发展,它们变得难以维护。 我们已经有大约30个模块,每个模块有10-30个HTML页面,而且这个模块一直在增长。
这个想法: 有一个XML文件+ Schema pre eLearning Module,然后生成一些XSLT文件,将XML处理成电子教学模块。通过XSLT将XML转换为HTML。
为什么: 我们希望flexibilty能够轻松地重新格式化内容 我意识到CSS在这里是一个可行的选择,特别是在视觉上改变了look'n'feel,但我们可能需要比这更多的功能,并且重建页面。 如果我们决定改变页面布局或功能,我猜测改变“共享”XSLT文件比更新HTML文件更容易。
根据一些“参数”,我们可以输出截然不同的页面布局/结构,超出CSS的范围。 XSLT可以采用QueryString参数吗?不确定..
现在,所有这些都必须与平台无关,并且能够“脱机”运行,即没有服务器为HTML提供动力,因此服务器端技术是不可能的(C#,PHP)
我目前为XSLT读过的否定词:
现在,我想知道的是:
编辑: 无论有没有XSL,CSS和JQuery都将是我们解决方案中非常重要的一部分 开发。 一般整理(邋eng的英格兰!)
答案 0 :(得分:8)
使用XSLT方案是合法的。如果您发展专业知识,XSLT是强大的。
你仍然会使用CSS作为策略的一部分,对吧?将XSLT更改为输出样式始终比手动更改30个模块更好,但精心规划的CSS样式表仍然可以帮助简化操作(提高可维护性和灵活性)。
总结:组织静态html页面的布局/修订,独立于平台,以便灵活分发:是的,从我所看到的,你有一个很好的策略。您在XSLT中开发的专业知识也将在未来发挥作用。在掌握了XSLT之后,你将真正理解XML,这将永远有用。
答案 1 :(得分:4)
XSLT是一个理想的工具,用于在您描述的情况下从XML文档生成HTML。关于XSLT的处理开销的常见抱怨 - 它需要将整个源XML文档加载到内存中 - 如果您使用XSLT生成静态HTML页面,则实际上并不相关,除非您生成数十万个。
(事实上,投诉实际上只与源XML文档很大的情况有关。如果您构建了一个围绕从大型XML文档动态生成HTML的架构,选择XSLT作为您的技术可能是一个错误,但是这不是大错。)
你当然应该也使用CSS。
答案 2 :(得分:2)
将您的数据与演示文稿分开。
将演示文稿渲染卸载到浏览器,使用CSS和CSS“增强器”,如SASS,Less等。
生成严格的XHTML - 可以使用CSS格式化,可以使用XML解析器等进行解析
像交互一样使用JQuery
XSLT非常重量级,并且不能很好地扩展,而XHTML + XSS + JQuery非常清楚,并且存在大量工具。
答案 3 :(得分:0)
如果你已经知道C#或VB.NET考虑使用LINQ to XML,那么代码会更长,但对于非XSLT专家来说,编写和维护可能会少一些。
这一切都取决于您需要多少XML转换,只需1或2,然后我就不会花时间学习XSLT。