XSL构建了剥离Outlook条件语句的电子邮件

时间:2016-05-19 11:45:43

标签: xml email outlook xslt-2.0

我在渲染Outlook条件语句时遇到问题,这些条件语句用于将两个表放在彼此旁边,然后堆叠在较小的屏幕上。出于某种原因建立电子邮件。

对于它所需要的部分,我目前有(我知道这需要清理): -

<table width="580" border="0" cellpadding="0" cellspacing="0" align="center" class="deviceWidth" bgcolor="#ffffff">
  <tr>
    <td>
      <p style="margin-top:0;margin-bottom:10px; color:#000000; font-size:14px; letter-spacing:1px; text-transform: uppercase; padding:5px;">Order Number: <xsl:value-of select="StrongMail/ordernumber" /></p>
    </td>
  </tr>
  <tr>
    <td class="center" style="padding:0">
    <xsl:for-each select="StrongMail/productlineitems/line">
<!--[if (gte mso 9)|(IE)]>
  <td align="center">
    <![endif]-->
    <table width="289" border="0" cellpadding="0" cellspacing="0" align="left" class="deviceWidth" style="width:50%; padding:5px; margin:5px 0 5px 0;">
      <tr>
       <td align="left">
           <img width="68" border="0" style="width: 68px; vertical-align:bottom;" >
                <xsl:attribute name="src"><xsl:value-of select='imageURL' /></xsl:attribute>            
            </img>
          </td>
          <td align="left">
            <table style="padding:0 5px 0 5px;">
              <tr>
                <td>
                  <p style="margin-top:0;margin-bottom:10px; font-size:12px;"><xsl:value-of select="desc" /></p>
                </td>
              </tr>
              <tr>
                <td>
                  <p style="margin-top:0;margin-bottom:10px; font-size:12px;">QUANTITY : <xsl:value-of select="quantity"/></p>
                </td>
        </tr>
      </table>
      </td>
      </tr>
      </table>
     <!--[if (gte mso 9)|(IE)]>
      </td>
      <![endif]-->
    </xsl:for-each>
  </td>
</tr>
</table>

非常感谢任何帮助。三江源。

2 个答案:

答案 0 :(得分:1)

除了添加xsl:comment之外,您还需要转换&#39;&lt;&#39;和&#39;&gt;&#39;符号到HTML名称或数字,并删除现有的注释标记。

E.G。

<!--[if (gte mso 9)|(IE)]>
<td align="center">
<![endif]-->

会变成......

<xsl:comment>[if (gte mso 9)|(IE)]&gt;
&lt;td align="center"&gt;
&lt;![endif]</xsl:comment>

希望有所帮助。

答案 1 :(得分:0)

如果上述方法无效,您可以尝试以下代码。我曾经在一家使用StrongView和XSL的公司工作。

<xsl:text disable-output-escaping="yes">&lt;!--</xsl:text>

这需要一段时间,但如果您使用查找和替换(我更喜欢notepad ++),那么这将很容易。

注释掉的HTML块的示例如下所示:

<xsl:text disable-output-escaping="yes">&lt;!--</xsl:text>[if (gte mso 9)|(IE)]<xsl:text disable-output-escaping="yes">&gt;</xsl:text>
<xsl:text disable-output-escaping="yes">&lt;</xsl:text>td align="center"<xsl:text disable-output-escaping="yes">&gt;</xsl:text>
<xsl:text disable-output-escaping="yes">&lt;!--</xsl:text>![endif]<xsl:text disable-output-escaping="yes">&gt;</xsl:text>

请告诉我这是否适合您。