Я пытаюсь сгенерировать красиво отформатированный HTML-документ из комментариев, которые у меня есть в XML-файле. В настоящее время у меня есть XML-файл, который используется для создания HTML-списка таблиц XML. Чтобы добавить комментарии к таблицам, я вручную добавляю комментарии в выходной HTML-файл.
Я хотел бы, если возможно, поместить html-код в xml-файл в качестве комментария, а xslt использовать комментарий для создания правильно отформатированного документа.
Вот часть XML-файла, которая комментируется. Здесь есть html синтаксис новой строки, который я хотел бы, чтобы xslt читал как html. Я думаю, что должен быть лучший способ использовать raw xml для создания этого, но я не хочу, чтобы комментарии читались в файле xml, поэтому не хочу, чтобы он был в виде таблицы.
<table name="ers_benchmark_defn" xmlns="">
<!-- This table contains mapping between hierarchy nodes and their respective benchmarks. The columns should be populated as follows:<br>
<ul>
<li>HIERARCHY_NODE<br>
This column contains the name of the hierarchy node in the ERS Risk Hierarchy.</ul>
<ul>
<li>BENCHMARK<br>
The column can be populated with either;<br>
a Calypso portfolio name,<br>
an ERS Risk Hierarchy name, or<br>
an ERS Risk Hierarchy node name.<br><br>
In the latter case, the column should be populated with the hierarchy node name and the hierarchy to which it belongs, separated by a percentage symbol, %.</ul>
<ul>
<li>BENCHMARK_TYPE<br>
If the value in the benchmark column is an ERS hierarchy or hierarchy node name, this column should be populated with the value HIERARCHY. Otherwise, when using a Calypso portfolio name, it should not be populated.</ul>
<ul>
<li>SCALING_FACTOR<br>
This column should be populated with the scaling factor by which the benchmark results should be multiplied. To use MTM scaling, leave this column unpopulated.</ul>
See the ERS 10.2 Release notes for further information.<br><br> -->
<column name="hierarchy_node" nullable="false" type="string" scale="255"/>
<column name="benchmark" nullable="false" type="string" scale="255"/>
<column name="benchmark_type" nullable="true" type="string" scale="32"/>
<column name="scaling_factor" nullable="true" type="float"/>
Это часть xsl-файла, которую я сделал для использования комментария, однако он не интерпретирует html.
<tr class="info" width="100%">
<td colspan="4"><xsl:value-of select="comment()"/></td>
</tr>
Требуемый вывод при форматировании вручную выглядит следующим образом:
<p>
<table border="1" cellpadding="2" cellspacing="0">
<tr class="title">
<th colspan="4"><a name="ers_benchmark_defn"></a>ers_benchmark_defn
</th>
</tr>
<tr class="info" width=100%>
<th colspan=4 align=left>This table contains mapping between hierarchy nodes and their respective benchmarks. The columns should be populated as follows:<br>
<ul>
<li>HIERARCHY_NODE<br>
This column contains the name of the hierarchy node in the ERS Risk Hierarchy.</ul>
<ul>
<li>BENCHMARK<br>
The column can be populated with either;<br>
a Calypso portfolio name,<br>
an ERS Risk Hierarchy name, or<br>
an ERS Risk Hierarchy node name.<br><br>
In the latter case, the column should be populated with the hierarchy node name and the hierarchy to which it belongs, separated by a percentage symbol, %.</ul>
<ul>
<li>BENCHMARK_TYPE<br>
If the value in the benchmark column is an ERS hierarchy or hierarchy node name, this column should be populated with the value HIERARCHY. Otherwise, when using a Calypso portfolio name, it should not be populated.</ul>
<ul>
<li>SCALING_FACTOR<br>
This column should be populated with the scaling factor by which the benchmark results should be multiplied. To use MTM scaling, leave this column unpopulated.</ul>
See the ERS 10.2 Release notes for further information.<br><br></th>
</tr>
<tr class="header">
<th>column name</th>
<th>nullable</th>
<th>type</th>
Это выдержки из полного кода, но я думаю, этого должно быть достаточно, чтобы кто-то мне помог.
Спасибо!