XSLT是否值得投入时间,是否有任何实际的替代方案?

Kee*_*eno 3 html xml architecture xslt offline

我意识到在这个主题上还有一些其他的问题,一般的共识是使用你选择的语言来操纵XML.但是,这种解决方案并不适合我的情况.

首先,项目的范围:我们希望开发独立于平台的电子学习,目前,它是一堆HTML页面,但随着它们的成长和发展,它们变得难以维护.我们已经有大约30个模块,每个模块有10-30个HTML页面,而且这个模块一直在增长.

想法:拥有一个XML文件+ Schema pre eLearning Module,然后生成一些XSLT文件,将XML处理成电子教学模块.通过XSLT将XML转换为HTML.

为什么:我们希望灵活性能够轻松地重新格式化内容我认识到CSS在这里是一个可行的替代方案,特别是在视觉上改变了外观,但我们可能需要比这更多的功能并进行重组页面.如果我们决定改变页面布局或功能,我猜测改变"共享"XSLT文件比更新HTML文件更容易.

根据一些"参数",我们可以输出截然不同的页面布局/结构,超出CSS的范围.XSLT可以采用QueryString参数吗?不确定..

现在,所有这些必须是平台无关的,并且能够"离线"运行,即没有服务器为HTML提供动力,因此服务器端技术是不可能的(C#,PHP)

我到目前为止已经读过XSLT的否定词:

  • 高架?不完全确定为什么...是否需要转换为HTML的计算能力?
  • 很难学
  • 更好的选择

现在,我想知道的是:

  • 这个"离线"实际上有没有可行的替代方案?
  • 我是以正确的方式去做的
  • 你们有什么建议或替代方案吗?

编辑:有或没有XSL,CSS和JQuery将是我们开发的解决方案中非常重要的一部分.一般整理(草率的!)

Pat*_*her 8

为此使用XSLT方案是合法的.如果您发展专业知识,XSLT是强大的.

  • 开销:是的,对于大型文档,转换可能需要几秒钟.对每分钟多次调用的大型文档进行转换可能是一个糟糕的策略.这对你来说不是一个大问题,因为当你想要修改时,你不会按需进行这些转换.
  • 很难学.你很快就可以很有效地使用XSLT,但要注意:只要看起来XSLT变得越来越容易,你会惊讶于它突然变得棘手!您认为困难的事情可能很容易,反之亦然.例如,您可能必须导入或创建一些模板才能进行一些简单的日期格式化.尽管如此,这一切都是可行的.不要害怕学习如何做"模板".
  • 更好的选择.是的,有更好的选择,但它们是特定于平台的.例如,我在.NET领域,我已经放弃了XSLT,转而操纵我们的新XElements等,而且VB.NET嵌入式XML非常强大和简单.但是当你想避免依赖特定平台时,XSLT仍然很棒.

您仍将使用CSS作为策略的一部分,对吧?将XSLT更改为输出样式始终比手动更改30个模块更好,但精心规划的CSS样式表仍然可以帮助简化事情(提高可维护性和灵活性).

总结:组织静态html页面的布局/修订,平台独立,灵活分发:是的,从我所看到的,你有一个很好的策略.您在XSLT中开发的专业知识也将在未来发挥作用.在掌握了XSLT之后,您将真正理解XML,这将永远有用.