[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
Sorry, i dont think the attachments were working, ill paste them in:
-----------------------------------------------------
examplexsl.xsl:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="UTF-8" indent="yes" />
<xsl:variable name="Digits" select="1234567890"/>
<xsl:choose>
<!--TYPE-->
<xsl:when test="entrydata/@colno='0'">
<!--<tr align="Left" valign="Top">-->TR<!--HEREHERE-->
<td rowspan="{$rowspan}" bgColor="#FFFFC2" valign="Middle">
<xsl:choose>
<xsl:when test="entrydata/text=''">
<B>-Uncategorised Type-</B>
</xsl:when>
<xsl:otherwise>
<B><xsl:value-of select="entrydata/text" /><xsl:value-of select="@pos" /></B>
</xsl:otherwise>
</xsl:choose>
</td>
</xsl:when>
<!--RESPONSIBILITY, 1 dot-->
<xsl:when test="entrydata/@colno='1'">
<xsl:choose>
<xsl:when test="((count(../ve/@pos[string-length(translate(.,$Digits,'')) = 1])) > 1) and substring(current()/@pos, string-length(current()/@pos),'1') = 1"> <!--if count 1 dot elements > 1 and the last digit of the current element is 1 then dont put tr tag-->
</xsl:when>
<xsl:otherwise>
<!--<tr align="left" valign="Top">-->TR<!--HEREHERE-->
</xsl:otherwise>
</xsl:choose>
<td rowspan="{$rowspan}" bgcolor="#FFFFC2" valign="Middle">
<xsl:choose>
<xsl:when test="entrydata/text=''">
<B>-Uncategorised Responsibility-<xsl:value-of select="@pos" /></B>
</xsl:when>
<xsl:otherwise>
<B><xsl:value-of select="entrydata/text" /><xsl:value-of select="@pos" /></B>
</xsl:otherwise>
</xsl:choose>
</td>
</xsl:when>
<!--MISCELLANEOUS, 2 dots-->
<xsl:when test="entrydata/@colno='2'">
<xsl:choose>
<xsl:when test="((count(../ve/@pos[string-length(translate(.,$Digits,'')) = 2])) > 1) and substring(current()/@pos, string-length(current()/@pos),'1') = 1"> <!--if count 2 dot elements > 1 and the last digit of the current element is 1 then dont put tr tag-->
</xsl:when>
<xsl:otherwise>
<!--<tr align="Left" valign="Top">-->TR<!--HEREHERE-->
</xsl:otherwise>
</xsl:choose>
<td rowspan="{$rowspan}" bgcolor="#FFFFC2" valign="Middle">
<xsl:choose>
<xsl:when test="entrydata/text=''">
<B>-Uncategorised Misc-<xsl:value-of select="@pos" /></B>
</xsl:when>
<xsl:otherwise>
<B><xsl:value-of select="entrydata/text" /><xsl:value-of select="@pos" /></B>
</xsl:otherwise>
</xsl:choose>
</td>
</xsl:when>
<!--PROC, 3 dots-->
<xsl:otherwise>
<xsl:choose>
<xsl:when test="((count(../ve/@pos[string-length(translate(.,$Digits,'')) = 3])) > 1) and substring(current()/@pos, string-length(current()/@pos),'1') = 1"> <!--if count 3 dot elements > 1 and the last digit of the current element is 1 then dont put tr tag-->
</xsl:when>
<xsl:otherwise>
<!--<tr align="Left" valign="Top">-->TR<!--HEREHERE-->
</xsl:otherwise>
</xsl:choose>
<!--proc name-->
<td BgColor="#FFFFC2"><xsl:value-of select="entrydata/text" /><xsl:value-of select="@pos" /></td>
<!--proc owner-->
<td BgColor="#FFFFC2"><xsl:value-of select="entrydata/text" /><xsl:value-of select="@pos" /></td>
<!--proc status-->
<xsl:choose>
<xsl:when test="entrydata[5]/text='Draft'">
<td BGColor="FF0000"><xsl:value-of select="entrydata/text" /><xsl:value-of select="@pos" /></td>
</xsl:when>
<xsl:otherwise>
<td BGColor="00FF00"><xsl:value-of select="entrydata/text" /><xsl:value-of select="@pos" /></td>
</xsl:otherwise>
</xsl:choose>
<!--proc ID number-->
<td BgColor="#FFFFC2"><xsl:value-of select="entrydata/text" /><xsl:value-of select="@pos" /></td>
<!--</tr>-->endTR<!--HEREHERE-->
</xsl:otherwise>
</xsl:stylesheet>
------------------------------------------------------------
validoutput.html:
<html>
<table><tr><td rowspan="4" bgColor="#FFFFC2" valign="Middle"><B>Worldwide1</B></td>
<td rowspan="3" bgcolor="#FFFFC2" valign="Middle"><B>Implementation1.1</B></td>
<td rowspan="1" bgcolor="#FFFFC2" valign="Middle"><B>Unit controls1.1.1</B></td>
<td BgColor="#FFFFC2">Obtain version of anti-virus software1.1.1.1</td>
<td BgColor="#FFFFC2">Obtain version of anti-virus software1.1.1.1</td>
<td BGColor="00FF00">Obtain version of anti-virus software1.1.1.1</td>
<td BgColor="#FFFFC2">Obtain version of anti-virus software1.1.1.1</td></tr>
<tr><td rowspan="2" bgcolor="#FFFFC2" valign="Middle"><B>Quality controls1.1.2</B></td>
<td BgColor="#FFFFC2">Check proc1.1.2.1</td>
<td BgColor="#FFFFC2">Check proc1.1.2.1</td>
<td BGColor="00FF00">Check proc1.1.2.1</td>
<td BgColor="#FFFFC2">Check proc1.1.2.1</td></tr>
<tr><td rowspan="1" bgcolor="#FFFFC2" valign="Middle"><B>Testing1.2</B></td>
<td rowspan="1" bgcolor="#FFFFC2" valign="Middle"><B>More controls1.2.1</B></td>
<td BgColor="#FFFFC2">Check tools available1.2.1.1</td>
<td BgColor="#FFFFC2">Check tools available1.2.1.1</td>
<td BGColor="00FF00">Check tools available1.2.1.1</td>
<td BgColor="#FFFFC2">Check tools available1.2.1.1</td></tr></table>
</html>
---------------------------------------------------------------
output.html:
<html>
<table>TR<td rowspan="4" bgColor="#FFFFC2" valign="Middle"><B>Worldwide1</B></td>
<td rowspan="3" bgcolor="#FFFFC2" valign="Middle"><B>Implementation1.1</B></td>
<td rowspan="1" bgcolor="#FFFFC2" valign="Middle"><B>Unit controls1.1.1</B></td>
<td BgColor="#FFFFC2">Obtain version of anti-virus software1.1.1.1</td>
<td BgColor="#FFFFC2">Obtain version of anti-virus software1.1.1.1</td>
<td BGColor="00FF00">Obtain version of anti-virus software1.1.1.1</td>
<td BgColor="#FFFFC2">Obtain version of anti-virus software1.1.1.1</td>endTRTR<td rowspan="2" bgcolor="#FFFFC2" valign="Middle"><B>Quality controls1.1.2</B></td>
<td BgColor="#FFFFC2">Check proc1.1.2.1</td>
<td BgColor="#FFFFC2">Check proc1.1.2.1</td>
<td BGColor="00FF00">Check proc1.1.2.1</td>
<td BgColor="#FFFFC2">Check proc1.1.2.1</td>endTRTR<td BgColor="#FFFFC2">Obtain ver1.1.2.2</td>
<td BgColor="#FFFFC2">Obtain ver1.1.2.2</td>
<td BGColor="00FF00">Obtain ver1.1.2.2</td>
<td BgColor="#FFFFC2">Obtain ver1.1.2.2</td>endTRTR<td rowspan="1" bgcolor="#FFFFC2" valign="Middle"><B>Testing1.2</B></td>
<td rowspan="1" bgcolor="#FFFFC2" valign="Middle"><B>More controls1.2.1</B></td>
<td BgColor="#FFFFC2">Check tools available1.2.1.1</td>
<td BgColor="#FFFFC2">Check tools available1.2.1.1</td>
<td BGColor="00FF00">Check tools available1.2.1.1</td>
<td BgColor="#FFFFC2">Check tools available1.2.1.1</td>endTR</table>
</html>
--------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
[xsl] xsl doesnt produce valid xhtml!!
Subject: [xsl] xsl doesnt produce valid xhtml!! From: "james walker" <jameswalkerandy@xxxxxxxxxxx> Date: Tue, 21 Oct 2003 09:26:54 +0100 |
Sorry, i dont think the attachments were working, ill paste them in:
-----------------------------------------------------
examplexsl.xsl:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="UTF-8" indent="yes" />
<xsl:variable name="Digits" select="1234567890"/>
<xsl:template match="ves"> <html> <table> <xsl:apply-templates select="ve[not(contains(@pos, '.'))]" /> </table> </html> </xsl:template>
<xsl:template match="ve"> <xsl:variable name="rowspan" select="@des" />
<xsl:choose>
<!--TYPE-->
<xsl:when test="entrydata/@colno='0'">
<!--<tr align="Left" valign="Top">-->TR<!--HEREHERE-->
<td rowspan="{$rowspan}" bgColor="#FFFFC2" valign="Middle">
<xsl:choose>
<xsl:when test="entrydata/text=''">
<B>-Uncategorised Type-</B>
</xsl:when>
<xsl:otherwise>
<B><xsl:value-of select="entrydata/text" /><xsl:value-of select="@pos" /></B>
</xsl:otherwise>
</xsl:choose>
</td>
</xsl:when>
<!--RESPONSIBILITY, 1 dot-->
<xsl:when test="entrydata/@colno='1'">
<xsl:choose>
<xsl:when test="((count(../ve/@pos[string-length(translate(.,$Digits,'')) = 1])) > 1) and substring(current()/@pos, string-length(current()/@pos),'1') = 1"> <!--if count 1 dot elements > 1 and the last digit of the current element is 1 then dont put tr tag-->
</xsl:when>
<xsl:otherwise>
<!--<tr align="left" valign="Top">-->TR<!--HEREHERE-->
</xsl:otherwise>
</xsl:choose>
<td rowspan="{$rowspan}" bgcolor="#FFFFC2" valign="Middle">
<xsl:choose>
<xsl:when test="entrydata/text=''">
<B>-Uncategorised Responsibility-<xsl:value-of select="@pos" /></B>
</xsl:when>
<xsl:otherwise>
<B><xsl:value-of select="entrydata/text" /><xsl:value-of select="@pos" /></B>
</xsl:otherwise>
</xsl:choose>
</td>
</xsl:when>
<!--MISCELLANEOUS, 2 dots-->
<xsl:when test="entrydata/@colno='2'">
<xsl:choose>
<xsl:when test="((count(../ve/@pos[string-length(translate(.,$Digits,'')) = 2])) > 1) and substring(current()/@pos, string-length(current()/@pos),'1') = 1"> <!--if count 2 dot elements > 1 and the last digit of the current element is 1 then dont put tr tag-->
</xsl:when>
<xsl:otherwise>
<!--<tr align="Left" valign="Top">-->TR<!--HEREHERE-->
</xsl:otherwise>
</xsl:choose>
<td rowspan="{$rowspan}" bgcolor="#FFFFC2" valign="Middle">
<xsl:choose>
<xsl:when test="entrydata/text=''">
<B>-Uncategorised Misc-<xsl:value-of select="@pos" /></B>
</xsl:when>
<xsl:otherwise>
<B><xsl:value-of select="entrydata/text" /><xsl:value-of select="@pos" /></B>
</xsl:otherwise>
</xsl:choose>
</td>
</xsl:when>
<!--PROC, 3 dots-->
<xsl:otherwise>
<xsl:choose>
<xsl:when test="((count(../ve/@pos[string-length(translate(.,$Digits,'')) = 3])) > 1) and substring(current()/@pos, string-length(current()/@pos),'1') = 1"> <!--if count 3 dot elements > 1 and the last digit of the current element is 1 then dont put tr tag-->
</xsl:when>
<xsl:otherwise>
<!--<tr align="Left" valign="Top">-->TR<!--HEREHERE-->
</xsl:otherwise>
</xsl:choose>
<!--proc name-->
<td BgColor="#FFFFC2"><xsl:value-of select="entrydata/text" /><xsl:value-of select="@pos" /></td>
<!--proc owner-->
<td BgColor="#FFFFC2"><xsl:value-of select="entrydata/text" /><xsl:value-of select="@pos" /></td>
<!--proc status-->
<xsl:choose>
<xsl:when test="entrydata[5]/text='Draft'">
<td BGColor="FF0000"><xsl:value-of select="entrydata/text" /><xsl:value-of select="@pos" /></td>
</xsl:when>
<xsl:otherwise>
<td BGColor="00FF00"><xsl:value-of select="entrydata/text" /><xsl:value-of select="@pos" /></td>
</xsl:otherwise>
</xsl:choose>
<!--proc ID number-->
<td BgColor="#FFFFC2"><xsl:value-of select="entrydata/text" /><xsl:value-of select="@pos" /></td>
<!--</tr>-->endTR<!--HEREHERE-->
</xsl:otherwise>
</xsl:choose> <!--loop through the viewentries by position--> <xsl:apply-templates select="../ve[starts-with(@pos, current()/@pos) and string-length(translate(@pos, $Digits, '' ) ) = 1 + string-length(translate(current()/@pos, $Digits, '' ) ) ]"> </xsl:apply-templates> </xsl:template>
</xsl:stylesheet>
----------------------------------------------------------- examplexml.xml: <ves> <ve pos="1" des="4" siblings="2"> <entrydata colno="0" name="Type"> <text>Worldwide</text></entrydata> </ve> <ve pos="1.1" des="3"> <entrydata colno="1" name="Responsibilities"> <text>Implementation</text></entrydata> </ve> <ve pos="1.1.1" des="1"> <entrydata colno="2" name="MiscData"> <text>Unit controls</text></entrydata> </ve> <ve pos="1.1.1.1" siblings="1"> <entrydata colno="3" name="procName"> <text>Obtain version of anti-virus software</text></entrydata> <entrydata colno="4" name="procOwn"> <text>gale deve</text></entrydata> <entrydata colno="5" name="procPriority"> <text>4</text></entrydata> <entrydata colno="6" name="procPoints"> <text>hatfield, surrey</text></entrydata> <entrydata colno="7" name="procStatus"> <text>Live</text></entrydata> <entrydata colno="8" name="procID"> <text>uut-347</text></entrydata> </ve> <ve pos="1.1.2" des="2"> <entrydata colno="2" name="MiscData"> <text>Quality controls</text></entrydata> </ve> <ve pos="1.1.2.1" siblings="1"> <entrydata colno="3" name="procName"> <text>Check proc</text></entrydata> <entrydata colno="4" name="procOwn"> <text>bob dill</text></entrydata> <entrydata colno="5" name="procPriority"> <text>2</text></entrydata> <entrydata colno="6" name="procPoints"> <text>surrey</text></entrydata> <entrydata colno="7" name="procStatus"> <text>Live</text></entrydata> <entrydata colno="8" name="procID"> <text>eut-347</text></entrydata> </ve> <ve pos="1.1.2.2" siblings="1"> <entrydata colno="3" name="procName"> <text>Obtain ver</text></entrydata> <entrydata colno="4" name="procOwn"> <text>dave</text></entrydata> <entrydata colno="5" name="procPriority"> <text>5</text></entrydata> <entrydata colno="6" name="procPoints"> <text>hatfield</text></entrydata> <entrydata colno="7" name="procStatus"> <text>Live</text></entrydata> <entrydata colno="8" name="procID"> <text>urt-347</text></entrydata> </ve> <ve pos="1.2" des="1"> <entrydata colno="1" name="Responsibilities"> <text>Testing</text></entrydata> </ve> <ve pos="1.2.1" des="1"> <entrydata colno="2" name="MiscData"> <text>More controls</text></entrydata> </ve> <ve pos="1.2.1.1" siblings="1"> <entrydata colno="3" name="procName"> <text>Check tools available</text></entrydata> <entrydata colno="4" name="procOwn"> <text>gale deve</text></entrydata> <entrydata colno="5" name="procPriority"> <text>4</text></entrydata> <entrydata colno="6" name="procPoints"> <text>hatfield, surrey</text></entrydata> <entrydata colno="7" name="procStatus"> <text>Live</text></entrydata> <entrydata colno="8" name="procID"> <text>uut-347</text></entrydata> </ve> </ves>
------------------------------------------------------------
validoutput.html:
<html>
<table><tr><td rowspan="4" bgColor="#FFFFC2" valign="Middle"><B>Worldwide1</B></td>
<td rowspan="3" bgcolor="#FFFFC2" valign="Middle"><B>Implementation1.1</B></td>
<td rowspan="1" bgcolor="#FFFFC2" valign="Middle"><B>Unit controls1.1.1</B></td>
<td BgColor="#FFFFC2">Obtain version of anti-virus software1.1.1.1</td>
<td BgColor="#FFFFC2">Obtain version of anti-virus software1.1.1.1</td>
<td BGColor="00FF00">Obtain version of anti-virus software1.1.1.1</td>
<td BgColor="#FFFFC2">Obtain version of anti-virus software1.1.1.1</td></tr>
<tr><td rowspan="2" bgcolor="#FFFFC2" valign="Middle"><B>Quality controls1.1.2</B></td>
<td BgColor="#FFFFC2">Check proc1.1.2.1</td>
<td BgColor="#FFFFC2">Check proc1.1.2.1</td>
<td BGColor="00FF00">Check proc1.1.2.1</td>
<td BgColor="#FFFFC2">Check proc1.1.2.1</td></tr>
<tr><td BgColor="#FFFFC2">Obtain ver1.1.2.2</td> <td BgColor="#FFFFC2">Obtain ver1.1.2.2</td> <td BGColor="00FF00">Obtain ver1.1.2.2</td> <td BgColor="#FFFFC2">Obtain ver1.1.2.2</td></tr>
<tr><td rowspan="1" bgcolor="#FFFFC2" valign="Middle"><B>Testing1.2</B></td>
<td rowspan="1" bgcolor="#FFFFC2" valign="Middle"><B>More controls1.2.1</B></td>
<td BgColor="#FFFFC2">Check tools available1.2.1.1</td>
<td BgColor="#FFFFC2">Check tools available1.2.1.1</td>
<td BGColor="00FF00">Check tools available1.2.1.1</td>
<td BgColor="#FFFFC2">Check tools available1.2.1.1</td></tr></table>
</html>
---------------------------------------------------------------
output.html:
<html>
<table>TR<td rowspan="4" bgColor="#FFFFC2" valign="Middle"><B>Worldwide1</B></td>
<td rowspan="3" bgcolor="#FFFFC2" valign="Middle"><B>Implementation1.1</B></td>
<td rowspan="1" bgcolor="#FFFFC2" valign="Middle"><B>Unit controls1.1.1</B></td>
<td BgColor="#FFFFC2">Obtain version of anti-virus software1.1.1.1</td>
<td BgColor="#FFFFC2">Obtain version of anti-virus software1.1.1.1</td>
<td BGColor="00FF00">Obtain version of anti-virus software1.1.1.1</td>
<td BgColor="#FFFFC2">Obtain version of anti-virus software1.1.1.1</td>endTRTR<td rowspan="2" bgcolor="#FFFFC2" valign="Middle"><B>Quality controls1.1.2</B></td>
<td BgColor="#FFFFC2">Check proc1.1.2.1</td>
<td BgColor="#FFFFC2">Check proc1.1.2.1</td>
<td BGColor="00FF00">Check proc1.1.2.1</td>
<td BgColor="#FFFFC2">Check proc1.1.2.1</td>endTRTR<td BgColor="#FFFFC2">Obtain ver1.1.2.2</td>
<td BgColor="#FFFFC2">Obtain ver1.1.2.2</td>
<td BGColor="00FF00">Obtain ver1.1.2.2</td>
<td BgColor="#FFFFC2">Obtain ver1.1.2.2</td>endTRTR<td rowspan="1" bgcolor="#FFFFC2" valign="Middle"><B>Testing1.2</B></td>
<td rowspan="1" bgcolor="#FFFFC2" valign="Middle"><B>More controls1.2.1</B></td>
<td BgColor="#FFFFC2">Check tools available1.2.1.1</td>
<td BgColor="#FFFFC2">Check tools available1.2.1.1</td>
<td BGColor="00FF00">Check tools available1.2.1.1</td>
<td BgColor="#FFFFC2">Check tools available1.2.1.1</td>endTR</table>
</html>
--------------------------------------------------------------
From: "james walker" <jameswalkerandy@xxxxxxxxxxx> Reply-To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: [xsl] xsl doesnt produce valid xhtml Date: Mon, 20 Oct 2003 13:22:14 +0100
I am having a problem with the design of an xsl. I want it to tak ethe <ve> tags and put it onto a table with rowpsans.
examplexsl.xsl and examplexml.xml produce output.html and i want it to produce validoutput.html with the <tr> and </tr> tags in th ecrrect place. Only the processor complains at me when i try to process the xslt with <tr> tags in it *as it isnt valid xhtml). I f anyone knows of any way to solve this, i would much appreciate it, are there any ways to get around producing valid xhtml ?
thanks
(files attached)
_________________________________________________________________
Stay in touch with absent friends - get MSN Messenger http://www.msn.co.uk/messenger
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
_________________________________________________________________ Get Hotmail on your mobile phone http://www.msn.co.uk/msnmobile
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Game of Life: an XSLT imp, Simon Woodside | Thread | [no subject], Skwirel Software Ltd |
Re: [xsl] XSLT Process for Linux --, Cas Tuyn | Date | [no subject], Skwirel Software Ltd |
Month |