XSL - Como generar una tabla con esta plantilla XSL

 
Vista:

Como generar una tabla con esta plantilla XSL

Publicado por emilio (1 intervención) el 17/06/2010 14:02:37
pues eso tengo que generar un xml para que con ayuda de una plantilla xsl genere un pdf. el problema es que en la plantilla se define el uso de tablas pero no se como usarla bien por que siempre me da error el codigo del xsl que define la tabla es este:

<!-- TABLA DE DATOS -->

<xsl:template match="table">
<fo:table xsl:use-attribute-sets="table">
<xsl:call-template name="process-common-attributes"/>
<xsl:apply-templates select="tcol"/>
<fo:table-body xsl:use-attribute-sets="tbody">
<xsl:apply-templates select="tr"/>
</fo:table-body>
</fo:table>
</xsl:template>

<xsl:template match="tcol">
<fo:table-column>
<xsl:attribute name="column-width"><xsl:value-of select="@width"/></xsl:attribute>
</fo:table-column>
</xsl:template>

<xsl:template match="tr">
<fo:table-row xsl:use-attribute-sets="tr">
<xsl:call-template name="process-common-attributes-and-children"/>
</fo:table-row>
</xsl:template>

<xsl:template match="th">
<fo:table-cell xsl:use-attribute-sets="th">
<xsl:call-template name="process-table-cell"/>
</fo:table-cell>
</xsl:template>

<xsl:template match="td">
<fo:table-cell xsl:use-attribute-sets="td">
<xsl:call-template name="process-table-cell"/>
</fo:table-cell>
</xsl:template>

<xsl:template name="process-table-cell">
<xsl:if test="@colspan">
<xsl:attribute name="number-columns-spanned">
<xsl:value-of select="@colspan"/>
</xsl:attribute>
</xsl:if>
<xsl:if test="@rowspan">
<xsl:attribute name="number-rows-spanned">
<xsl:value-of select="@rowspan"/>
</xsl:attribute>
</xsl:if>
<xsl:call-template name="process-common-attributes"/>
<fo:block>
<xsl:apply-templates/>
</fo:block>
</xsl:template>
<!----FIN --->


dentro del xml meto este codigo pedo da error:

<table>

<tbody>

<tr>

<th>

<td>hola mundo<td>

<th>

</tr>

</tbody>

</table>

como genero una tabla en xml segun la definicion del xsl?? muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Como generar una tabla con esta plantilla XSL

Publicado por Alejandro (227 intervenciones) el 07/07/2023 00:14:42
Para generar una tabla en XML que cumpla con la definición del XSL proporcionado, debes asegurarte de seguir la estructura y las reglas de marcado del XSL. Aquí tienes un ejemplo de cómo generar una tabla correctamente en XML:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<table>
  <tbody>
    <tr>
      <th>Encabezado 1</th>
      <td>Dato 1</td>
      <th>Encabezado 2</th>
    </tr>
    <tr>
      <td>Dato 2</td>
      <td>Dato 3</td>
      <td>Dato 4</td>
    </tr>
  </tbody>
</table>

En este ejemplo, se crea una tabla con dos filas y tres columnas. Los elementos `<table>`, `<tbody>`, `<tr>`, `<th>` y `<td>` coinciden con las plantillas definidas en el XSL.

Es importante tener en cuenta que el XML debe estar estructurado correctamente y seguir las reglas de marcado según la definición del XSL. Asegúrate de cerrar adecuadamente todas las etiquetas y cumplir con los requisitos del XSL en cuanto a las plantillas y atributos utilizados.

Una vez que tengas el XML generado correctamente, puedes aplicar la transformación XSLT utilizando el archivo XSL para obtener el PDF final con la tabla formateada según la definición del XSL.

Recuerda que este es solo un ejemplo básico y puedes ajustar y expandir la tabla según tus necesidades específicas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar