![]() |
1
22
XSLT是一种函数式编程语言,您可以使用它创建与任何模板系统一样丰富的前端。然而,你不应该这样做,你和你的团队会疯掉的。 这两个选项都提供了以逻辑方式将对象转换为表示形式的机会。XSLT最适合创建更多的XML,这可能会让您相信它是创建XHTML的完美候选者。但是,创建XHTML不应该是创建 是别担心这件事 中等的 XSLT的两个显著缺点与语法有关:您的模板及其包含的模板,以及这些模板包含的模板都将是庞大而冗长的。其次,您必须进行大量的函数式编程,经验较少的工程师在遇到递归模板时可能会感到困惑和恐惧,因为该模板具有累积的函数参数,而不是简单的for循环。 Google XML Pages ,并创建逻辑组织、类型安全的模板,这些模板将便于未来工程师学习和扩展。 |
![]() |
2
19
大约5年前,我为一个企业产品创建了一个XML/XSLT驱动的UI。我们仍在使用它,现在回顾我的经验,我可以看到许多优点和缺点:
欺骗:
希望有帮助! |
![]() |
3
18
我使用XSLT进行了重要的开发,在两个不同的站点上都取得了巨大的成功,但也完全失败了。 总结前的几点思考:
我喜欢XSLT,但您是否应该使用它归结为以下几点: 您是否致力于XSLT?您是否拥有XSLT方面的内部专业知识?你准备好了吗?
除非这些问题的答案是肯定的,而且你有复杂的数据,需要复杂的渲染过程,我不会考虑使用XSLT…尤其是在团队中没有经验的情况下。糟糕的XSLT比糟糕的模板糟糕得多。
|
![]() |
4
5
走XSL之路将为您的应用程序提供未来证明。也就是说,如果您决定在将来添加更多具有不同布局的模板,您将能够利用这些优势。在我当前的项目中,我们保存了使用的XML(在XMLType或CLOB中),并允许其他应用程序通过web服务访问数据和XSL模板以生成文档。由于我们决定使用XML/XSL,最初的设计非常容易实现,这是经过深思熟虑的。 |
![]() |
5
4
XSLT的优点是还可以生成其他文档类型(即pdf)的输出,现在很可能会生成pdf输出。XML/XSLT也将数据与视图分离。 |
![]() |
6
4
然而,如上所述,XSLT语法和函数式编程思想会使有效生成模板变得困难。我们发现,我们喜欢坚持我们学到的技巧,当我们有客户的请求超出我们已经知道的范围时,没有人愿意自愿购买门票。通常,最终有人会想出如何完成任务,我们的“技巧袋”也会变得越来越大,但想出新的东西往往非常麻烦。 如果您没有预见到UI的任何变化,或者至少没有太多变化,那么XSLT可能不值得付出额外的努力。 |
![]() |
7
4
请不要将XML/XSLT用于web前端。我参与过这样的项目,太可怕了。通常,您必须首先从对象或类似的东西生成XML,这是没有意义的。第二点是,有这么多优秀的HTML编辑器是免费的,但我发现没有一个是用于XSLT的。因此,编辑复杂的XSLT毫无乐趣。我建议使用HTML模板和通用模板引擎。 |
![]() |
8
2
根据您的应用程序,有一个XML层,然后通过XSLT转换为XHTML,您可以在XML层编写简单的Web服务,允许您的客户使用您的站点数据。。。
|
![]() |
9
2
我认为您需要检查数据的来源。正如boris callens前面提到的,如果要从数据库中提取数据,则必须首先转换为XML,然后应用转换。如果数据源是RSS或类似的,那么XSLT是一种自然的选择。 XPATH和XSLT具有很高的学习曲线,函数式编程可能会让人望而生畏。在时间紧迫的情况下,这可能不是正确的选择。
|
![]() |
10
2
保持简单。这是一个人们越来越欣赏的原则。 Velocity或Freemarker的灵活性和通用性令人难以置信。您的代码库将是清晰的、易于理解的,并且运行速度将比X monstrosities快得多。 |
![]() |
12
2
我知道如果您的数据已经是XML,XSL方法是多么方便。
|
![]() |
13
1
与HTML不同,如果您需要以任何方式对模板进行解析和处理,则有许多XML工具可用。因此,您应该选择XML来获得使用XML工具和库的好处。 然而,也就是说,XHTML可能正适合您的需要,因为它为您提供了对XML工具和库的全面支持,同时仍然是由现代web浏览器正确处理的普通HTML。如果以后需要对这些数据进行后处理,仍然可以对XHTML数据应用XSLT。 |
![]() |
14
1
我使用了XML&XSLT在以前的项目“金融网站”中使用,它对我们很有效,但是:
我看到使用XSLT的主要原因是,如果有多个站点都基于相同的XML,但需要不同的HTML输出。 |
![]() |
15
1
XML+XSLT真的很酷。您可以在将来输出多种类型的目标格式。 但是ne意识到XML中嵌入了HTML。Firefox XSLT不支持“禁用输出转义”。看见 Bugzilla . |
![]() |
16
0
我们使用XSLT在我们的内容管理系统中生成html,它工作得很好。
话虽如此,如果您永远只需要一个布局,我怀疑您是否真的需要xslt。 |
![]() |
Pjoern · 在XSLT中包装没有属性的节点组 7 年前 |
![]() |
user2093335 · XSLT:基于现有属性值替换属性值 7 年前 |
![]() |
Leth · 字符串串联functoid不将映射值返回到目标记录 7 年前 |
![]() |
shawn · XSLT 3.0在应用模板中使用变量进行动态选择? 7 年前 |
|
user9238790 · 将XML转换为数据帧 7 年前 |
![]() |
Vanessa · xsl:当两个节点相等时,显示第一个节点的子节点 7 年前 |
![]() |
Adi · 并行读取大型XSLT字符串 7 年前 |
![]() |
Brian Arthur · XSLT从另一个上下文获取信息 7 年前 |