[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: XSL Challenge
Hi Folks, This didn't work for me (I am using IE5). Can anybody give me the correct working version of this application. Thanks so much. -Swamy --- James Clark <jjc@j...> wrote: > You have to use the variables feature of the current > WD. Replace the > second TR element in your attempted solution by the > following: > > > <TR> > <xsl:variable name="cols" expr="Column"/> > <xsl:for-each > select="../../Columns/Column"> > <TD> > <xsl:variable name="colname" > expr="@name"/> > <xsl:value-of > select="$cols[@name=$colname]"/> > </TD> > </xsl:for-each> > </TR> > > > Roger Costello wrote: > > > > Hi Folks, > > > > Are you up for a mind-bending XSL problem? > Someone presented > > me with this problem several weeks ago and I have > yet to find > > a solution. It looks simple. It is deceptively > challenging. > > > > An XML document stores database data as follows: > > > > <?xml version="1.0"?> > > <DynamicTable> > > <Columns> > > <Column name="col1"/> > > <Column name="col2"/> > > </Columns> > > <Rows> > > <Row> > > <Column name="col1">A</Column> > > <Column name="col3">B</Column> > > <Column name="col2">C</Column> > > </Row> > > <Row> > > <Column name="col2">S</Column> > > <Column name="col1">E</Column> > > </Row> > > <Row> > > <Column name="col5">R</Column> > > <Column name="col2">G</Column> > > <Column name="col1">Q</Column> > > </Row> > > </Rows> > > </DynamicTable> > > > > Note that the columns that we are interested in > are col1 and col2. > > A <Row> element may contain data from columns not > of interest. > > But, it will always contain at least data for col1 > and col2. > > > > The problem is to create an XSL stylesheet that > generates an > > HTML table with a table header: > > > > col1 col2 > > > > and within the table it has the row data. So the > HTML table > > should look like this: > > > > col1 col2 > > A C > > E S > > Q G > > > > I have shown an XML document which has just two > columns. However, > > the XSL stylesheet needs to be generic and capable > of handling > > XML documents with any number of columns (as > listed in the <Columns> > > section). > > /Roger > > > > P.S. Below is what I tried, which doesn't work. > > > > <?xml version="1.0"?> > > <xsl:stylesheet > xmlns:xsl="http://www.w3.org/TR/WD-xsl" > > result-ns="html"> > > <xsl: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> > > <xsl:for-each > select="Rows/Row"> > > <TR> > > <xsl:for-each > select="../../Columns/Column"> > > <TD><xsl:value-of > > > > > select="../../Rows/Row/Column[@name='{@name}']"/></TD> > > </xsl:for-each> > > </TR> > > </xsl:for-each> > > </TABLE> > > </BODY> > > </HTML> > > </xsl:template> > > </xsl:stylesheet> > > > xml-dev: A list for W3C XML Developers. To post, > mailto:xml-dev@i... > 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@i... the > following message; > (un)subscribe xml-dev > To subscribe to the digests, > mailto:majordomo@i... the following message; > subscribe xml-dev-digest > List coordinator, Henry Rzepa > (mailto:rzepa@i...) > > _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@i... 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@i... the following message; (un)subscribe xml-dev To subscribe to the digests, mailto:majordomo@i... the following message; subscribe xml-dev-digest List coordinator, Henry Rzepa (mailto:rzepa@i...)
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|