【问题标题】:Is there any reasons to prefer SparkViewEngine over XSLT (or vice versa) for a standalone email generation?是否有任何理由更喜欢 SparkViewEngine 而不是 XSLT(反之亦然)来生成独立的电子邮件?
【发布时间】:2010-05-24 14:14:08
【问题描述】:

我有一个服务,它接收包含构建时事通讯所需的所有数据的对象。我需要能够使用不同的模板生成电子邮件。 我不想为此涉及整个 ASP.NET 堆栈,所以我想要一个单独的模板引擎。

阅读了很多意见后,我发现 XSLT 在模板引擎方面并没有得到太多的喜爱。为什么?

SparkViewEngine 是一个“新酷玩具”,但考虑到使用它构建的项目数量,它似乎已经足够成熟了。你怎么看?

你用过这两个引擎吗?在什么情况下,你享受/忍受了什么力量/痛苦

【问题讨论】:

    标签: email xslt spark-view-engine


    【解决方案1】:

    XSLT 更加冗长,尤其是在涉及条件属性等技巧时。我经常使用它(甚至生成 C#/C++ 源代码),但我不记得那段时间是快乐的。火花是。

    【讨论】:

    • 这正是我在问题中提出的问题... “我发现 XSLT 在模板引擎方面并没有得到太多的喜爱。为什么?”为什么真的是我正在寻找的 :) 既然您使用了这两个框架,那么使用它真的很痛苦吗?
    • 我实际上回答了这个问题。如果语言过于冗长(过于冗长)不会打扰您,请继续使用 XSLT。当我必须编写比有意义的内容更多的辅助标签时,我认为这是一种痛苦。这就是为什么。 Spark 试图减少其每个构造中的冗长,我喜欢使用它。除非必须,否则我永远不会考虑使用 XSLT。
    • 感谢您分享您的经验 :) 这让我对我们的选择感到欣慰,我们现在开始使用 spark 构建我们的模板 :)
    【解决方案2】:

    我在上一个项目中使用 Spark 模板生成了一封电子邮件,这是一种相当直接的体验。

    正如您所提到的,您有一个包含构建时事通讯所需的所有数据的对象。要使用 XSLT,您不需要先序列化为 XML 吗?使用 Spark 可以跳过序列化步骤,直接获得所需的输出,正如queen3 所提到的,创建条件属性非常容易。

    如果您需要,这里有一篇关于如何使用 Spark 作为通用模板引擎的帖子here

    此外,如果您必须与任何图形设计师合作,将 HTML 模型转换为 spark 模板可能比将 HTML 模型转换为 XSLT 更容易。

    【讨论】:

    • 谢谢!我已经阅读了那篇文章,实际上我已经构建了一个概念证明,它在控制台应用程序中使用 spark 生成输出。我更多的是寻找两个引擎的正/负点来解释选择。
    • @Stephane:更好的是,除了保存中间 XML 序列化步骤之外,忽略所有内容。此外,如果您必须与任何图形设计师合作,将 HTML 模型转换为 spark 模板可能比将 HTML 模型转换为 XSLT 更容易。
    • 这是一个有效的观点。我们将有客户向我们提供电子邮件模型,我们必须将其转换为模板。
    • 不,我说的是条件属性,比如 attr="?{value}", IIRC。条件标签在 XSLT 中没有问题,但条件属性意味着使用 XSLT 语法手工构造标签(尴尬)。
    猜你喜欢
    • 2010-12-03
    • 1970-01-01
    • 2011-03-18
    • 2011-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-10
    • 2011-11-03
    相关资源
    最近更新 更多