是否可能:使用脚本绕过XSLT转换

时间:2013-11-12 00:17:34

标签: ruby xml xslt outlook

寻找有关需要动态html文档的项目的建议(未嵌入浏览器中)。

我是XML的新手,我很难理解XSLT转换。为了使事情更复杂,我正在使用MS Office Suite电子邮件自动化。

希望能够构建来自不同xsl / html模板的动态电子邮件,这些模板可以合并在一起并按收件人自定义。

我冒险尝试在MS Word中创建XSLT,但似乎存在不止一些障碍。

  1. 我是VBA程序员,只有Visual Studio的Express版本。
  2. 通过Word的VBA语言操作XML的文档并不是那么好。
  3. Word生成的XSLT让人精神恍惚。我可以看到一个典型的XSL文件,并获得最新消息。不能说Word版本一样。 (我偶然发现了一篇文章,其中O'Reilly出版的书籍Office XML 2003抨击MS的XML编程支持
  4. 我正在使用MS Access的平面文件XML导出。将它们转换为模板中表示的层次结构似乎很难。
  5. 我没有太多时间来构建应用程序的这个功能:(
  6. 考虑到所有这些,并从this中汲取灵感 链接,导出我的平面文件xml并使用ruby等脚本语言生成动态html文件是否可行?

    如果是,那么这种方法是否有任何指导方针和/或资源?

    我在想像......

    • 将XML文件转换为本机ruby数据结构。
    • 在HTML模板中调用变量,如<p>Greetings <div id="recipient"></div>!</p>(这将是父节点,附加到'收件人'散列,数组等)
    • 然后使用<table class="my-template"> <tr> <th id="action-item">Action Item</th> <th id="due-date">Due Date</th> </tr> <tr> <td></td> <td></td> </tr> </table>等表格定义,并根据模板中提供的classid属性构建完整的表格。

    好主意,坏主意?不是想偷懒,而是不想去MS Office - XSLT - .Net框架 - 有限的VBA文档路线而不探索可能的替代方案。

    也没有放弃XLST,但我不确定我是否有时间学习所有必要的项目情况和时间框架。

    如果您认为我错了,请告诉我!

1 个答案:

答案 0 :(得分:1)

谨防混合使用一种X技术。

XML 是一种标记语言,旨在以结构化和有意义的方式表示您的数据。

XSLT 提供了转换XML文档的方法。当然,XSLT样式表本身是用XML编写的,这是相当令人困惑的。但是这有一个明显的优点:如果XSLT是XML格式,您可以轻松地将XSLT转换为另一个XSLT。 XSLT样式表由XSLT处理器(如Saxon)读取并应用于XML文档。此外,“模板”仅存在于XSLT中,而不是一般存在于XML文件中。

所以,我会说你在混淆XSLT和XML。 MS Word可以将文件存储为 XML (OpenXML),这就是您一直在关注的内容。当然,您可以从这些OpenXML文件中获取任何信息,但如果您是XSLT的新手,我建议您从更简单的开始。

不过,

XSLT是将XML转换为HTML的不错选择。如果您了解Ruby(或Python,或Perl或Java ...),那么也有XML函数,例如DOM。

此外,这是一个相当概念性的问题 - 而SO更能帮助您解决离散编程问题。尝试一下并分享你的代码。