【问题标题】:Add Mime Boundary添加 Mime 边界
【发布时间】:2014-06-19 06:46:47
【问题描述】:

我有一个 XML 文档,我需要在 Mime Boundary 下方添加该文档。 有人可以让我知道我们如何在 XSL 中做到这一点。 请注意,Mime 边界始终是静态的,并且在 XML 中不会有任何附件。我们只需要围绕 XML 的边界

MIME-Version: 1.0
Content-Type: multipart/Related; type="text/xml"; boundary=_MIME-Boundary
--_MIME-Boundary
content-type: text/xml
Content-ID: BodyPart
Content-Transfer-Encoding: 7bit
<My XML Goes here>.....
--_MIME-Boundary--

谢谢

【问题讨论】:

  • 这不应该由网络服务器或其他应用程序添加吗?它与 XML/XSLT 无关。

标签: xslt mime


【解决方案1】:

试试:

<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" omit-xml-declaration="yes"/>
<xsl:strip-space elements="*"/>

<xsl:template match="/">
<xsl:text>MIME-Version: 1.0
Content-Type: multipart/Related; type="text/xml"; boundary=_MIME-Boundary
--_MIME-Boundary
content-type: text/xml
Content-ID: BodyPart
Content-Transfer-Encoding: 7bit
</xsl:text>
<xsl:copy-of select="."/>
<xsl:text>
--_MIME-Boundary--</xsl:text>
</xsl:template>  

</xsl:stylesheet>

请注意,XSLT 应用的编码可能与 MIME 声明不匹配。

【讨论】:

  • 太棒了。像魅力一样工作:) 谢谢迈克尔
  • @user2157477 如果您的问题得到解答,请通过接受答案来关闭它。
【解决方案2】:

这当然不是你应该永远做的,但是......

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"
>
  <xsl:output method="xml" indent="yes" omit-xml-declaration="yes"/>


  <xsl:template match="/">
    <xsl:text>MIME-Version: 1.0&#xa;</xsl:text>
    <xsl:text>Content-Type: multipart/Related; type="text/xml"; boundary=_MIME-Boundary&#xa;</xsl:text>
    <xsl:text>--_MIME-Boundary&#xa;</xsl:text>
    <xsl:text>content-type: text/xml&#xa;</xsl:text>
    <xsl:text>Content-ID: BodyPart&#xa;</xsl:text>
    <xsl:text>Content-Transfer-Encoding: 7bit&#xa;</xsl:text>
    <xsl:text disable-output-escaping="yes">&lt;?xml version="1.0" encoding="utf-8"?&gt;&#xa;</xsl:text>
    <xsl:copy-of select="." />
    <xsl:text>&#xa;--_MIME-Boundary--&#xa;</xsl:text>
  </xsl:template>


</xsl:stylesheet>

请注意,使用 disable-output-escaping 手动添加 XML 声明。

【讨论】:

    猜你喜欢
    • 2012-09-07
    • 2014-12-08
    • 2016-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-11
    • 2011-06-07
    • 1970-01-01
    相关资源
    最近更新 更多