У меня есть шаблон XSL, который представляет собой небольшую часть HTML-письма. Раздел XSL изменяется на основе данных, но окружающий HTML его нет. Я хотел бы включить этот HTML-код в шаблон XSL. Я попробовал следующий подход, но получаю исключение, потому что теги в EmailHeader.html не закрыты. Я пробовал использовать теги CDATA, но без успеха.Как включить HTML-разделы в шаблон XSL?
Мое исключение: Неожиданный конец файла произошел. Следующие элементы не закрыты: td, tr, table, td, tr, table, body, html.
Как включить разделы html в шаблон XSL?
(образцы кода были упрощены)
Мой 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 в документ? –
Я могу, но я хочу, чтобы они были разделены так, что если/когда они меняются, мне не нужно редактировать каждый XSL-файл, который у меня есть (может быть сотни). Верхний и нижний колонтитулы поддерживают внешний вид электронной почты, а XSL - это только динамический текст, который заполняет его. Имеют смысл? – ExceptionEx
как обменить его? Другими словами, используйте свой верхний/нижний колонтитул в одном XSL-файле и импортируйте содержимое. Это должно держать все хорошо сформированным ... – deanoj