我有一個很長的人工生成的 XML 文件,該文件具有足夠的規律性,可以使用 Xpath 識別其內容。我正在嘗試將其重新格式化為 HTML 表格。
來源材料在技術上被格式化為表格,只是為了視覺效果(別讓我開始)。我遇到麻煩的是每個條目的描述部分可以包含任意標記,我需要將其傳遞以進行額外處理。我還沒有弄清楚如何獲取描述的內容並對其進行適當的處理。
我沒有使用 value-of 或 copy-of 來獲得所需的結果。我可能錯過了一些明顯的東西。
範例文件:
<?xml version="1.0" encoding="UTF-8"?>
<manual>
<body>
<chapter>
<table>
<thead>
<row>
<entry>
<para>Some parameter name</para>
</entry>
<entry>
<para>1</para>
</entry>
</row>
</thead>
<tbody>
<row>
<entry>
<para>Range</para>
</entry>
<entry>
<para>1–10</para>
</entry>
</row>
<row>
<entry>
<para>Description</para>
</entry>
<entry>
<para>Sets the type of process module.</para>
<para>There can be <emphasis>more arbitrary markup</emphasis> in here.</para>
<list>
<item>Even a list</item>
</list>
</entry>
</row>
</tbody>
</table>
<!-- and so on -->
</chapter>
</body>
</manual>
我一直在嘗試以下 XSLT 片段的變體
<xsl:for-each select="table">
<tr>
<!-- insert additional code here -->
<td class="desc"> <xsl:value-of select="//tbody/row[2]/entry[2]/*"><xsl:apply-templates select="@*|node()" /></xsl:value-of> </td>
</tr>
</xsl:for-each>
答案1
是我想太多了。或許是考慮不足。
<td class="desc">
<xsl:apply-templates select="tgroup/tbody/row[2]/entry[2]/*" />
</td>