添加Mime边界

时间:2014-05-02 14:30:31

标签: xslt mime

我有一个XML文档,我需要在Mime Boundary下面添加。 有人可以让我知道我们如何在XSL中做到这一点。 请注意,Mime Boundary始终是静态的,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--

由于

2 个答案:

答案 0 :(得分:0)

尝试:

<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声明不匹配。

答案 1 :(得分:0)

这肯定不是永远做的,但是......

<?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声明。