Dear Martin,
Is this technique called as Muenchian Grouping technique ?
Regards,
Ramesh
On Wed, Mar 24, 2010 at 4:04 PM, Martin Honnen
<Martin(_dot_)Honnen(_at_)gmx(_dot_)de> wrote:
Ramesh Kumar wrote:
The required HTML output is like....
<HTML><BODY>
<Table>
<TR><TD>
<Table border="1">
<tr><td>SysID</td><td>WFDocID</td></tr>
<tr><td>-2008080800041</td><td>0</td></tr>
</Table>
</TD></TR>
<TR><TD> </TD></TR>
<TR><TD>
<Table border="1">
<tr><td>SysID</td><td>ParentSysID</td></tr>
<tr><td>-2008080800045</td><td>-2008080800041</td></tr>
<tr><td>-2008080800046</td><td>-2008080800041</td></tr>
</Table>
</TD></TR>
</Table>
</Body>
</HTML>
Here is an XSLT 1.0 stylesheet:
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:output method="html" indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:key name="by-name"
match="/*/*"
use="concat('{', namespace-uri(), '}', local-name())"/>
<xsl:template match="/">
<html>
<body>
<table>
<tbody>
<xsl:apply-templates select="*/*[generate-id() =
generate-id(key('by-name', concat('{', namespace-uri(), '}',
local-name()))[1])]" mode="table"/>
</tbody>
</table>
</body>
</html>
</xsl:template>
<xsl:template match="/*/*" mode="table">
<tr>
<td>
<table border="1">
<thead>
<tr>
<xsl:apply-templates mode="th"/>
</tr>
</thead>
<tbody>
<xsl:apply-templates select="key('by-name', concat('{',
namespace-uri(), '}', local-name()))"/>
</tbody>
</table>
</td>
</tr>
<xsl:if test="position() != last()">
<tr>
<td> </td>
</tr>
</xsl:if>
</xsl:template>
<xsl:template match="/*/*/*" mode="th">
<th>
<xsl:value-of select="local-name()"/>
</th>
</xsl:template>
<xsl:template match="/*/*">
<tr>
<xsl:apply-templates/>
</tr>
</xsl:template>
<xsl:template match="/*/*/*">
<td>
<xsl:value-of select="."/>
</td>
</xsl:template>
</xsl:stylesheet>
Its output is a bit more structured (using tbody, thead, and th) than your
sample but it should give you an idea how to approach that.
--
Martin Honnen
http://msmvps.com/blogs/martin_honnen/
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--
Regards,
Ramesh
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--