将样式化 (XSLT) XML 作为邮件正文通过电子邮件发送的机制是什么?



使用Perl,我尝试使用sendmail发送一页样式化的XML。如果我在浏览器中调用它 file://mydir/myfile.xml 它看起来很棒。

在磁盘上,我有myfile.xml和myfile.xslt文件。我可以附加这些中的每一个,并显示为附件。但是,如果我尝试将XML推入电子邮件正文,电子邮件是否足够聪明,知道在遇到附件时查看附件:

<?xml-stylesheet type="text/xsl" href="myfile.xslt"?>

在 XML 中?这部分对我来说是陌生的,因为根据我的经验,href 始终是磁盘目录。

我用谷歌搜索了一下,大多数网站都在谈论"首先将XML转换为HTML"并将其塞入正文 - 这听起来像是一个额外的步骤,我希望我不需要执行。

欢迎和赞赏建议。我现在正在构建一些快速而肮脏的Perl测试用例,但我认为你们专家可能会有一些见解。

电子邮件是否足够聪明,知道查看附件

不。磁盘上的绝对路径不等于客户端上的绝对路径。电子邮件客户端具有以下共同点:

流行的网络邮件工具,如Hotmail,Yahoo Mail和Gmail,都会重写,更改和更改您的代码,以使其适合其基于Web的电子邮件应用程序。

在外部样式表的上下文中:

有些会断开指向外部样式表的任何链接

使用自包含样式表:

<?xml-stylesheet type="text/xsl" href="#style1"?>
<!DOCTYPE catalog [
  <!ATTLIST xsl:stylesheet id ID #REQUIRED>
]>
<ns>
  <xsl:stylesheet version="1.0" id="style1" 
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  >
    <xsl:output method="html"/>
    <xsl:template match="n"> 
      <xsl:value-of select="."/><sup>2</sup>=<xsl:value-of select=".*."/><br/>
    </xsl:template>
    <xsl:template match="xsl:stylesheet"><!-- ignore --></xsl:template>
  </xsl:stylesheet>
  <n>2</n><n>3</n>
</ns>

引用

  • 8 个 HTML 电子邮件提示,我希望我早点知道

  • 电子邮件中的动态内容

  • RFC 822/MIME 的 RDF XML 映射

  • xml-stylesheet+DataPower

  • 在 VBA 项目中引用 MSXML

相关内容

  • 没有找到相关文章

最新更新