Я пытаюсь эмулировать создание таблицы через xslt. У меня эти две классные модели.JAXB marshalling в таблицу HTML через XSLT содержит пустые значения
запись Таблица содержит строки:
@XmlRootElement(name = "table")
@XmlType(propOrder = { "header", "rows" })
public class TableEntry extends PropertyEntry {
private String header;
private final List<TableRowEntry> rows = new ArrayList<TableRowEntry>();
@XmlElement(name = "row", required = true)
public List<TableRowEntry> getRows() {
return rows;
}
public String getHeader() {
return header;
}
@XmlAttribute
public void setHeader(String header) {
this.header = header;
}
}
Тогда я TableRowEntry модель класса:
@XmlRootElement(name = "tableRow")
public class TableRowEntry implements Reportable {
private List<String> cells = new ArrayList<String>();
@XmlElement(name = "cell")
public List<String> getCells() {
return cells;
}
public void setCells(List<String> cells) {
this.cells = cells;
}
}
и у меня есть это в шаблоне XSL
<xsl:for-each select="table">
<table>
<xsl:if test="@header">
<th><xsl:value-of select="@header"/></th>
</xsl:if>
<xsl:for-each select="row">
<tr>
<xsl:for-each select="cell">
<td><xsl:value-of select="cell"/></td>
</xsl:for-each>
</tr>
</xsl:for-each>
</table>
</xsl:for-each>
Тогда я это сделать, и я marshall it
TableEntry tableEntry = new TableEntry();
tableEntry.setHeader("This is my header");
TableRowEntry tableRow = new TableRowEntry();
tableRow.setCells(Arrays.asList("cell", "cell2", "cell3"));
TableRowEntry tableRow2 = new TableRowEntry();
tableRow2.setCells(Arrays.asList("cell4", "cell5", "cell6"));
tableEntry.getRows().add(tableRow);
tableEntry.getRows().add(tableRow2);
Всякий раз, когда я сортирую его в HTML, в ячейках есть пустые значения, почему? Когда я сортирую его в XML, эти значения в ячейках есть, но я не могу выбрать это значение в xsl-шаблоне. Зачем?
В файле HTML есть две строки с тремя ячейками в каждой строке, но эти ячейки пусты.
Я использую затмение Moxy