Pasar el contenido del nodo XML para procesamiento adicional en XSLT

Pasar el contenido del nodo XML para procesamiento adicional en XSLT

Tengo un archivo XML largo, generado por humanos, con suficiente regularidad para poder identificar su contenido usando XPath. Estoy intentando reformatearlo como una tabla HTML.

El material original está técnicamente formateado como una tabla solo para efectos visuales (no me hagas hablar). Donde tengo problemas es que la parte descriptiva de cada entrada puede contener marcas arbitrarias, que debo transmitir para un procesamiento adicional. No he descubierto cómo obtener el contenido de la descripción y procesarlo adecuadamente.

No obtengo los resultados deseados usando value-of o copy-of. Probablemente me estoy perdiendo algo obvio.

Documento de muestra:

<?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>

He estado probando variaciones del siguiente fragmento 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> 

Respuesta1

Lo estaba pensando demasiado. O tal vez subpensarlo.

<td class="desc">
   <xsl:apply-templates select="tgroup/tbody/row[2]/entry[2]/*" />
</td>

información relacionada