我有一個XSL模板,它是HTML電子郵件的一小部分。 XSL部分根據數據更改,但周圍的HTML不會。我想將這個HTML包含在XSL模板中。我嘗試了以下方法,但因爲EmailHeader.html中的標記沒有關閉而發生異常。我嘗試使用CDATA標籤,但沒有成功。如何在XSL模板中包含HTML部分?
我的異常:發生意外的文件結束。以下元素不會關閉:td,tr,table,td,tr,table,body,html。
如何在XSL模板中包含html部分?
(代碼樣本已被簡化)
我的XSL文件:
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html" />
<xsl:template match="/Email">
<xsl:copy-of select="document('EmailHeader.html')"></xsl:copy-of>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td style="width:25px"> </td>
<td style="width:550px; text-align:left; font-family:Arial; font-size:10pt; color:#444444">
<br /><br />
To <xsl:value-of select="FirstName"/> <xsl:value-of select="LastName"/>:
<br /><br />
Welcome, and thank you for enrolling...
</td>
<td style="width:25px"> </td>
</tr>
</table>
<xsl:copy-of select="document('EmailFooter.html')"></xsl:copy-of>
</xsl:template>
</xsl:transform>
EmailHeader.html:
<html xmlns="http://www.w3.org/1999/xhtml" style="background-color:#96A084">
<head>
<title></title>
</head>
<body style="background-color:#96A084; margin:0px; padding:0px">
<table border="0" cellpadding="0" cellspacing="0" width="630px" style="background-color:#96A084">
<tr>
<td>
EmailFooter.html:
<td style="width:15px"> </td>
</tr>
</table>
</body>
</html>
爲什麼你不能在文檔中直接插入這些html元素? – 2012-01-05 15:07:06
我可以,但我想讓它們分開,以便如果/當它們發生更改時,我不必編輯每個XSL文件(可能有數百個)。頁眉和頁腳保持電子郵件的外觀/結構,而XSL只是填充它的動態文本。合理? – ExceptionEx 2012-01-05 15:19:25
如何扭轉它?換句話說,將頁眉/頁腳放在一個XSL文件中,然後導入內容。這應該保持一切正常... – deanoj 2012-01-05 15:24:58