Note that there are some explanatory texts on larger screens.

plurals
  1. POXSLT creating Table
    text
    copied!<p>I have xml table with unknown rows count, looks like this : </p> <pre><code> &lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;?xml-stylesheet type="text/xsl" href="Realone.xsl"?&gt; &lt;norm builddate="xxxxxxxxxxxxxx" doknr="xxxxxxxxxxxxxxxxxxx"&gt; &lt;textdata&gt; &lt;text format="XML"&gt; &lt;Content&gt; &lt;BR /&gt; &lt;table frame="all" pgwide="1" tabstyle="tab2" tocentry="%yes;"&gt; &lt;tgroup align="left" char="" charoff="50" cols="3" colsep="1" rowsep="1"&gt; &lt;colspec colname="col1" colnum="1" /&gt; &lt;colspec colname="col2" colnum="2" /&gt; &lt;colspec colname="col3" colnum="3" /&gt; &lt;thead valign="bottom"&gt; &lt;row&gt; &lt;entry VJ="1" align="center" colname="col1" colsep="1" rowsep="1" valign="top"&gt;Color&lt;/entry&gt; &lt;entry VJ="1" align="center" colname="col2" colsep="1" rowsep="1" valign="top"&gt;Number1&lt;/entry&gt; &lt;entry VJ="1" align="center" colname="col3" valign="top"&gt;Number2&lt;/entry&gt; &lt;/row&gt; &lt;/thead&gt; &lt;tbody valign="top"&gt; &lt;row&gt; &lt;entry VJ="1" align="left" colname="col1" colsep="1" rowsep="1" valign="top"&gt;blue&lt;/entry&gt; &lt;entry VJ="1" align="left" colname="col2" colsep="1" rowsep="1" valign="top"&gt;11-11-11&lt;/entry&gt; &lt;entry VJ="1" align="left" colname="col3" colsep="1" rowsep="1" valign="top"&gt;44&lt;/entry&gt; &lt;/row&gt; &lt;row&gt; &lt;entry VJ="1" align="left" colname="col1" colsep="1" rowsep="1" valign="top"&gt;Red&lt;/entry&gt; &lt;entry VJ="1" align="left" colname="col2" colsep="1" rowsep="1" valign="top"&gt;22-22-22&lt;/entry&gt; &lt;entry VJ="1" align="left" colname="col3" colsep="1" rowsep="1" valign="top"&gt;33&lt;/entry&gt; &lt;/row&gt; &lt;/tbody&gt; &lt;/tgroup&gt; &lt;/Content&gt; &lt;/text&gt; </code></pre> <p> </p> <p>The xsl file : </p> <pre><code> &lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"&gt; &lt;xsl:output method="html" encoding="ISO-8859-1" /&gt; &lt;xsl:template match="/"&gt; &lt;html xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;head&gt; &lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8" /&gt; &lt;title&gt;A&lt;/title&gt; &lt;link rel="stylesheet" href="../../format.css" type="text/css" /&gt; &lt;/head&gt; &lt;body&gt; &lt;xsl:apply-templates select="normal"/&gt; &lt;/body&gt; &lt;/html&gt; &lt;/xsl:template&gt; &lt;xsl:template match="norm"&gt; &lt;xsl:apply-templates select="textdata" /&gt; &lt;/xsl:template&gt; &lt;xsl:template match="textdata"&gt; &lt;xsl:if test="text"&gt; &lt;xsl:apply-templates select="text"/&gt; &lt;/xsl:if&gt; &lt;/xsl:template&gt; &lt;xsl:template match="text"&gt; &lt;xsl:if test="TOC"&gt; &lt;xsl:apply-templates select="TOC"/&gt; &lt;/xsl:if&gt; &lt;xsl:if test="Content"&gt; &lt;xsl:apply-templates select="Content"/&gt; &lt;/xsl:if&gt; &lt;/xsl:template&gt; &lt;xsl:template match="Content"&gt; &lt;xsl:for-each select="P"&gt; &lt;P&gt; &lt;xsl:for-each select="text()"&gt; &lt;xsl:value-of select="."/&gt; &lt;/xsl:for-each&gt; &lt;xsl:choose&gt; &lt;xsl:when test="DL"&gt; &lt;xsl:apply-templates select="DL" /&gt; &lt;/xsl:when&gt; &lt;/xsl:choose&gt; &lt;/P&gt; &lt;/xsl:for-each&gt; &lt;/xsl:template&gt; </code></pre> <p>I would like the output to look like : </p> <pre><code>Color Number 1 Number2 Blue 11-11-11 44 Red 22-22-22 33 </code></pre> <p>Please notice : 1. Can't change the xml file (my input). 2. Don't know how many rows .</p> <p>How can I manage this using XSLT ? Thanks in advance.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload