XSL Challenge

Robert C. Lyons boblyons at unidex.com
Mon Jun 7 22:51:48 BST 1999


Roger wrote:
	"...Any way to do it with the Dec. 16 WD?"

Roger,

I thought of a kludgey way to do it with the Dec. 16 WD.
You can create a stylesheet that generates a 2nd stylesheet,
such that the 2nd stylesheet transforms your
DynamicTable document into the desired HTML table.

You would then invoke XT twice as follows:
  xt.exe table.xml first.xsl second.xsl
  xt.exe table.xml second.xsl table.htm

The following XSL stylesheet converts your DynamicTable
document into a stylesheet that transforms your 
XML doc into the desired HTML table:

<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl" 
                xmlns:qxsl="quote:http://www.w3.org/TR/WD-xsl"
                indent-result="yes"> 
    <xsl:template match="/DynamicTable">
        <qxsl:stylesheet result-ns="qxsl">
            <qxsl:template match="/DynamicTable">
                <HTML>
                    <HEAD>
                        <TITLE>Dynamic Table</TITLE>
                    </HEAD>
                    <BODY>
                        <TABLE BORDER="1" WIDTH="50%">
                          <TR>
                            <xsl:for-each select="Columns/Column">
                              <TH><xsl:value-of select="@name"/></TH>
                              </xsl:for-each>
                          </TR>
                          <qxsl:for-each select="Rows/Row">
                            <TR>
                              <xsl:for-each select="Columns/Column">
                                <qxsl:for-each>
                                  <xsl:attribute name="select">
                                    Column[@name="<xsl:value-of select="@name"/>"]
                                  </xsl:attribute>
                                  <TD>
                                    <qxsl:value-of select="."/>
                                  </TD>
                                </qxsl:for-each>
                              </xsl:for-each>
                            </TR>
                          </qxsl:for-each>
                        </TABLE>
                    </BODY>
                </HTML>
            </qxsl:template>
        </qxsl:stylesheet>
    </xsl:template>
</xsl:stylesheet>

Hope this helps.

Bob

------
Bob Lyons
EC Consultant
Unidex Inc.
1-732-975-9877
boblyons at unidex.com
http://www.unidex.com/


xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)





More information about the Xml-dev mailing list