Home. 
.

transparent

transparent

transparent

Altova Mailing List Archives


Re: xslt problem for-each loop

From: "Yan Leshinsky" <yanl@------.---------.--->
To: NULL
Date: 5/6/2004 11:43:00 AM
This is a multi-part message in MIME format.

------=_NextPart_000_0026_01C4335F.5733D1A0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

You can use recursion instead:

         <xsl:template name=3D"timeline">

                   <xsl:param name=3D"str"/>

                   <xsl:param name=3D"pos"/>

                   <xsl:if test=3D"string-length($str) > $pos">

                             <timeline><xsl:value-of =
select=3D"substring($str, $pos, 1)" /></timeline>

                             <xsl:call-template name=3D"timeline">

                                      <xsl:with-param name=3D"str" =
select=3D"$str" />

                                      <xsl:with-param name=3D"pos" =
select=3D"$pos + 1" />

                             </xsl:call-template>

                   </xsl:if>

          </xsl:template>

         =20

          <xsl:template match=3D"timeline">

                   <xsl:call-template name=3D"timeline">

                             <xsl:with-param name=3D"str" =
select=3D"text()" />

                             <xsl:with-param name=3D"pos" select=3D"1" =
/>

                   </xsl:call-template>

          </xsl:template>

Yan



"Chris Millar" <chris.millar@e...> wrote in message =
news:eQUZ0r4MEHA.2628@T......
>I have the following xml file:
>=20
> <?xml version=3D"1.0" encoding=3D"UTF-8"?>
> <untable>
> <unavail>
> =
<timeline>111111111111111111111111111111111111111111000000000000111111111=
111
> 11111111111111111111111111111111111111</timeline>
> <type>1</type>
> <date>22/01/2004</date>
> </unavail>
> </untable>
>=20
> I have an xslt were i want to create html based on the timeline =
information.
>=20
> For each bit in the timeline element 1 or 0 I wish to create a TD =
element in
> a HTML table there are always 96 bits.
>=20
> The background color i want to set to black if the value of the =
current
> timeline bit is 1 and red if the current timeline bit is 0.
>=20
> The xsl is below, the problem i have is that i don't understand how i =
can do
> the template match as there aren't 96 consecutive timeline elements to =
do it
> with i.e <timeline>0</timeline><timeline>0</timeline> ... to 96. where =
i
> could use <xsl:for-each>
>=20
>=20
> can anyone help.
>=20
>=20
> xsl:
>=20
> <?xml version=3D"1.0" encoding=3D"UTF-8"?>
> <!DOCTYPE xsl:stylesheet [
> <!ENTITY nbsp "&#160;">
> ]>
> <xsl:stylesheet version=3D"1.0"
> xmlns:xsl=3D"http://www.w3.org/1999/XSL/Transform"
> xmlns:fo=3D"http://www.w3.org/1999/XSL/Format">
> <xsl:template match=3D"/">
> <html>
> <head>
> <script src=3D"file:///C|/Documents and
> Settings/Administrator/Desktop/Avail/avail.js" =
type=3D"text/javascript"/>
> <link
> =
href=3D"file:///C|/Documents%20and%20Settings/Administrator/Desktop/Avail=
/avai
> l.css" rel=3D"stylesheet" type=3D"text/css"/>
> </head>
> <body>
> <!-- header section for week num and Timeline intervals-->
> <table width=3D"1003" border=3D"0" cellpadding=3D"1" cellspacing=3D"0"
> bgcolor=3D"#0066CC">
> <tr valign=3D"top" bgcolor=3D"#7b9ebd" class=3D"style7">
> <td width=3D"115" height=3D"28" align=3D"right" valign=3D"middle">Time =
Periods:</td>
> <td width=3D"108" valign=3D"middle">
> <select name=3D"select">
> <option>Hourly</option>
> <option>1/2 Hourly</option>
> <option>1/4 Hourly</option>
> </select>
> </td>
> <td width=3D"77" align=3D"right" valign=3D"middle">Week No:</td>
> <td width=3D"86" align=3D"center" valign=3D"middle">
> <table width=3D"46" border=3D"0" cellpadding=3D"0" cellspacing=3D"0">
> <tr>
> <td width=3D"10">
> <input name=3D"textfield" type=3D"text" class=3D"style19" size=3D"2" =
maxlength=3D"2"/>
> </td>
> <td width=3D"36">
> <img
> =
src=3D"file:///C|/Documents%20and%20Settings/Administrator/Desktop/Avail/=
image
> s/btn_off_cal.gif" width=3D"36" height=3D"19"/>
> </td>
> </tr>
> </table>
> </td>
> <td width=3D"607">&nbsp;</td>
> </tr>
> </table>
> <!-- end of section for week num and Timeline intervals-->
> <!--start of timeline section-->
> <table border=3D"1" cellpadding=3D"2" cellspacing=3D"0" =
bgcolor=3D"#FFFFFF"
> OnMousedown=3D"mouseDown(event)" onMouseUp=3D"lmouseup()"
> onMouseMove=3D"changeto(event)">
> <tr bgcolor=3D"#7b9ebd">
> <td align=3D"center" class=3D"style9" id=3D"ignore">Week Day</td>
> <td align=3D"center" class=3D"style9">Week Date </td>
> <td colspan=3D"4" class=3D"style7">00:00</td>
> <td colspan=3D"4" class=3D"style7">01:00</td>
> <td colspan=3D"4" class=3D"style7">02:00</td>
> <td colspan=3D"4" class=3D"style7">03:00</td>
> <td colspan=3D"4" class=3D"style7">04:00</td>
> <td colspan=3D"4" class=3D"style7">05:00</td>
> <td colspan=3D"4" class=3D"style7">06:00</td>
> <td colspan=3D"4" class=3D"style7">07:00</td>
> <td colspan=3D"4" class=3D"style7">08:00</td>
> <td colspan=3D"4" class=3D"style7">09:00</td>
> <td colspan=3D"4" class=3D"style7">10:00</td>
> <td colspan=3D"4" class=3D"style7">11:00</td>
> <td colspan=3D"4" class=3D"style7">12:00</td>
> <td colspan=3D"4" class=3D"style7">13:00</td>
> <td colspan=3D"4" class=3D"style7">14:00</td>
> <td colspan=3D"4" class=3D"style7">15:00</td>
> <td colspan=3D"4" class=3D"style7">16:00</td>
> <td colspan=3D"4" class=3D"style7">17:00</td>
> <td colspan=3D"4" class=3D"style7">18:00</td>
> <td colspan=3D"4" class=3D"style7">19:00</td>
> <td colspan=3D"4" class=3D"style7">20:00</td>
> <td colspan=3D"4" class=3D"style7">21:00</td>
> <td colspan=3D"4" class=3D"style7">22:00</td>
> <td colspan=3D"4" class=3D"style7">23:00</td>
> <td colspan=3D"4" class=3D"style7">24:00</td>
> </tr>
> </table>
> <!--end of timeline section-->
> <!-- start of day times section-->
> <xsl:variable name=3D"testvar">96</xsl:variable>
> <table>
> <tr>
> <td bgcolor=3D"#7b9ebd" class=3D"style15" id=3D"ignore">Monday</td>
> <td bgcolor=3D"#7b9ebd" class=3D"style15">19/01/2004 <xsl:value-of
> select=3D"$testvar"></xsl:value-of></td>
> </tr>
> </table>
> <!-- <td class=3D"unnamed2">&nbsp;</td>-->
> <!-- end of day times section -->
> <!--Start of section for planner legend -->
> <table width=3D"800" border=3D"1" cellpadding=3D"1" cellspacing=3D"0"
> bordercolor=3D"#FFFFFF">
> <tr>
> <td width=3D"154" class=3D"style9">Planner Legend: </td>
> <td width=3D"29" bordercolor=3D"#000000" bgcolor=3D"#0000FF" =
class=3D"style18"
> onMouseDown=3D"changehighlightcolor('blue')">&nbsp;</td>
> <td width=3D"216" align=3D"center" class=3D"style15"> Regular =
Unavailabilty</td>
> <td width=3D"36" bordercolor=3D"#000000" bgcolor=3D"#FF0000" =
class=3D"style18"
> onMouseDown=3D"changehighlightcolor('red')">&nbsp;</td>
> <td width=3D"190" align=3D"center" class=3D"style15">Requirements</td>
> <td width=3D"36" bordercolor=3D"#000000" bgcolor=3D"#009900" =
class=3D"unnamed2"
> onMouseDown=3D"changehighlightcolor('green')">&nbsp;</td>
> <td width=3D"179" align=3D"center" class=3D"style15">Specific =
Unavailability</td>
> <td width=3D"36" align=3D"center" bordercolor=3D"#000000" =
class=3D"unnamed2"
> onMouseDown=3D"changehighlightcolor('white')">&nbsp;</td>
> <td width=3D"123" align=3D"center" class=3D"style15">Delete Times =
</td>
> </tr>
> <tr>
> <td colspan=3D"9" class=3D"style19">Please click a colour then drag =
&amp; drop
> unavailability, Right click button to edit unavailbilty description =
and
> notes. </td>
> </tr>
> </table>
> <!-- end of section for planner legend -->
> </body>
> </html>
> </xsl:template>
> </xsl:stylesheet>
>=20
>=20
> Cheers
>=20
> chris.
>=20
>
------=_NextPart_000_0026_01C4335F.5733D1A0
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 6.00.2900.2096" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY>
<DIV><SPAN style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Verdana"><SPAN=20
style=3D"mso-tab-count: 1">
<P class=3DMsoPlainText style=3D"MARGIN: 0in 0in 0pt">You can use =
recursion=20
instead:<?xml:namespace prefix =3D o ns =3D=20
"urn:schemas-microsoft-com:office:office" =
/><o:p></o:p></P></SPAN></SPAN>
<P class=3DMsoNormal style=3D"MARGIN: 0in 0in 0pt"><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Verdana"><FONT face=3DArial><SPAN =

style=3D"mso-tab-count: =
1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
</SPAN>&lt;xsl:template =
name=3D"timeline"&gt;<o:p></o:p></FONT></SPAN></P>
<P class=3DMsoNormal style=3D"MARGIN: 0in 0in 0pt"><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Verdana"><FONT face=3DArial><SPAN =

style=3D"mso-tab-count: =
2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
</SPAN>&lt;xsl:param name=3D"str"/&gt;<o:p></o:p></FONT></SPAN></P>
<P class=3DMsoNormal style=3D"MARGIN: 0in 0in 0pt"><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Verdana"><FONT face=3DArial><SPAN =

style=3D"mso-tab-count: =
2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
</SPAN>&lt;xsl:param name=3D"pos"/&gt;<o:p></o:p></FONT></SPAN></P>
<P class=3DMsoNormal style=3D"MARGIN: 0in 0in 0pt"><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Verdana"><FONT face=3DArial><SPAN =

style=3D"mso-tab-count: =
2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
</SPAN>&lt;xsl:if test=3D"string-length($str) &gt;=20
$pos"&gt;<o:p></o:p></FONT></SPAN></P>
<P class=3DMsoNormal style=3D"MARGIN: 0in 0in 0pt"><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Verdana"><FONT face=3DArial><SPAN =

style=3D"mso-tab-count: =
3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;=20
</SPAN>&lt;timeline&gt;&lt;xsl:value-of select=3D"substring($str, $pos, =
1)"=20
/&gt;&lt;/timeline&gt;<o:p></o:p></FONT></SPAN></P>
<P class=3DMsoNormal style=3D"MARGIN: 0in 0in 0pt"><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Verdana"><FONT face=3DArial><SPAN =

style=3D"mso-tab-count: =
3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;=20
</SPAN>&lt;xsl:call-template =
name=3D"timeline"&gt;<o:p></o:p></FONT></SPAN></P>
<P class=3DMsoNormal style=3D"MARGIN: 0in 0in 0pt"><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Verdana"><FONT face=3DArial><SPAN =

style=3D"mso-tab-count: =
4">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;=20
</SPAN>&lt;xsl:with-param name=3D"str" select=3D"$str"=20
/&gt;<o:p></o:p></FONT></SPAN></P>
<P class=3DMsoNormal style=3D"MARGIN: 0in 0in 0pt"><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Verdana"><FONT face=3DArial><SPAN =

style=3D"mso-tab-count: =
4">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;=20
</SPAN>&lt;xsl:with-param name=3D"pos" select=3D"$pos + 1"=20
/&gt;<o:p></o:p></FONT></SPAN></P>
<P class=3DMsoNormal style=3D"MARGIN: 0in 0in 0pt"><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Verdana"><FONT face=3DArial><SPAN =

style=3D"mso-tab-count: =
3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;=20
</SPAN>&lt;/xsl:call-template&gt;<o:p></o:p></FONT></SPAN></P>
<P class=3DMsoNormal style=3D"MARGIN: 0in 0in 0pt"><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Verdana"><FONT face=3DArial><SPAN =

style=3D"mso-tab-count: =
2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
</SPAN>&lt;/xsl:if&gt;<o:p></o:p></FONT></SPAN></P>
<P class=3DMsoNormal style=3D"MARGIN: 0in 0in 0pt"><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Verdana"><FONT face=3DArial><SPAN =

style=3D"mso-tab-count: =
1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
</SPAN>&lt;/xsl:template&gt;<o:p></o:p></FONT></SPAN></P>
<P class=3DMsoNormal style=3D"MARGIN: 0in 0in 0pt"><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Verdana"><FONT face=3DArial><SPAN =

style=3D"mso-tab-count: =
1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
</SPAN><o:p></o:p></FONT></SPAN></P>
<P class=3DMsoNormal style=3D"MARGIN: 0in 0in 0pt"><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Verdana"><FONT face=3DArial><SPAN =

style=3D"mso-tab-count: =
1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
</SPAN>&lt;xsl:template =
match=3D"timeline"&gt;<o:p></o:p></FONT></SPAN></P>
<P class=3DMsoNormal style=3D"MARGIN: 0in 0in 0pt"><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Verdana"><FONT face=3DArial><SPAN =

style=3D"mso-tab-count: =
2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
</SPAN>&lt;xsl:call-template =
name=3D"timeline"&gt;<o:p></o:p></FONT></SPAN></P>
<P class=3DMsoNormal style=3D"MARGIN: 0in 0in 0pt"><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Verdana"><FONT face=3DArial><SPAN =

style=3D"mso-tab-count: =
3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;=20
</SPAN>&lt;xsl:with-param name=3D"str" select=3D"text()"=20
/&gt;<o:p></o:p></FONT></SPAN></P>
<P class=3DMsoNormal style=3D"MARGIN: 0in 0in 0pt"><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Verdana"><FONT face=3DArial><SPAN =

style=3D"mso-tab-count: =
3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;=20
</SPAN>&lt;xsl:with-param name=3D"pos" select=3D"1"=20
/&gt;<o:p></o:p></FONT></SPAN></P>
<P class=3DMsoNormal style=3D"MARGIN: 0in 0in 0pt"><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Verdana"><FONT face=3DArial><SPAN =

style=3D"mso-tab-count: =
2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
</SPAN>&lt;/xsl:call-template&gt;<o:p></o:p></FONT></SPAN></P>
<P class=3DMsoNormal style=3D"MARGIN: 0in 0in 0pt"><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Verdana"><FONT face=3DArial><SPAN =

style=3D"mso-tab-count: =
1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
</SPAN>&lt;/xsl:template&gt;</FONT></SPAN></P>
<P class=3DMsoNormal style=3D"MARGIN: 0in 0in 0pt"><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Verdana"><FONT=20
face=3DArial>Yan</FONT></SPAN></P>
<P class=3DMsoNormal style=3D"MARGIN: 0in 0in 0pt"><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Verdana"><FONT face=3DArial=20
size=3D2></FONT></SPAN>&nbsp;</P></DIV>
<DIV><FONT face=3DArial size=3D2>"Chris Millar" &lt;</FONT><A=20
href=3D"mailto:chris.millar@e..."><FONT face=3DArial=20
size=3D2>chris.millar@e...</FONT></A><FONT face=3DArial =
size=3D2>&gt; wrote=20
in message </FONT><A =
href=3D"news:eQUZ0r4MEHA.2628@T..."><FONT=20
face=3DArial =
size=3D2>news:eQUZ0r4MEHA.2628@T...</FONT></A><FONT=20
face=3DArial size=3D2>...</FONT></DIV><FONT face=3DArial size=3D2>&gt;I =
have the=20
following xml file:<BR>&gt; <BR>&gt; &lt;?xml version=3D"1.0"=20
encoding=3D"UTF-8"?&gt;<BR>&gt; &lt;untable&gt;<BR>&gt; =
&lt;unavail&gt;<BR>&gt;=20
&lt;timeline&gt;111111111111111111111111111111111111111111000000000000111=
111111111<BR>&gt;=20
11111111111111111111111111111111111111&lt;/timeline&gt;<BR>&gt;=20
&lt;type&gt;1&lt;/type&gt;<BR>&gt; =
&lt;date&gt;22/01/2004&lt;/date&gt;<BR>&gt;=20
&lt;/unavail&gt;<BR>&gt; &lt;/untable&gt;<BR>&gt; <BR>&gt; I have an =
xslt were i=20
want to create html based on the timeline information.<BR>&gt; <BR>&gt; =
For each=20
bit in the timeline element 1 or 0 I wish to create a TD element =
in<BR>&gt; a=20
HTML table there are always 96 bits.<BR>&gt; <BR>&gt; The background =
color i=20
want to set to black if the value of the current<BR>&gt; timeline bit is =
1 and=20
red if the current timeline bit is 0.<BR>&gt; <BR>&gt; The xsl is below, =
the=20
problem i have is that i don't understand how i can do<BR>&gt; the =
template=20
match as there aren't 96 consecutive timeline elements to do it<BR>&gt; =
with i.e=20
&lt;timeline&gt;0&lt;/timeline&gt;&lt;timeline&gt;0&lt;/timeline&gt; ... =
to 96.=20
where i<BR>&gt; could use &lt;xsl:for-each&gt;<BR>&gt; <BR>&gt; <BR>&gt; =
can=20
anyone help.<BR>&gt; <BR>&gt; <BR>&gt; xsl:<BR>&gt; <BR>&gt; &lt;?xml=20
version=3D"1.0" encoding=3D"UTF-8"?&gt;<BR>&gt; &lt;!DOCTYPE =
xsl:stylesheet=20
[<BR>&gt; &lt;!ENTITY nbsp "&amp;#160;"&gt;<BR>&gt; ]&gt;<BR>&gt;=20
&lt;xsl:stylesheet version=3D"1.0"<BR>&gt; xmlns:xsl=3D"</FONT><A=20
href=3D"http://www.w3.org/1999/XSL/Transform"><FONT face=3DArial=20
size=3D2>http://www.w3.org/1999/XSL/Transform</FONT></A><FONT =
face=3DArial=20
size=3D2>"<BR>&gt; xmlns:fo=3D"</FONT><A=20
href=3D"http://www.w3.org/1999/XSL/Format"><FONT face=3DArial=20
size=3D2>http://www.w3.org/1999/XSL/Format</FONT></A><FONT face=3DArial=20
size=3D2>"&gt;<BR>&gt; &lt;xsl:template match=3D"/"&gt;<BR>&gt; =
&lt;html&gt;<BR>&gt;=20
&lt;head&gt;<BR>&gt; &lt;script src=3D"</FONT><A =
href=3D"file:///C|/Documents"><FONT=20
face=3DArial size=3D2>file:///C|/Documents</FONT></A><FONT face=3DArial =
size=3D2>=20
and<BR>&gt; Settings/Administrator/Desktop/Avail/avail.js"=20
type=3D"text/javascript"/&gt;<BR>&gt; &lt;link<BR>&gt; href=3D"</FONT><A =

href=3D"file:///C|/Documents%20and%20Settings/Administrator/Desktop/Avail=
/avai"><FONT=20
face=3DArial=20
size=3D2>file:///C|/Documents%20and%20Settings/Administrator/Desktop/Avai=
l/avai</FONT></A><BR><FONT=20
face=3DArial size=3D2>&gt; l.css" rel=3D"stylesheet" =
type=3D"text/css"/&gt;<BR>&gt;=20
&lt;/head&gt;<BR>&gt; &lt;body&gt;<BR>&gt; &lt;!-- header section for =
week num=20
and Timeline intervals--&gt;<BR>&gt; &lt;table width=3D"1003" =
border=3D"0"=20
cellpadding=3D"1" cellspacing=3D"0"<BR>&gt; =
bgcolor=3D"#0066CC"&gt;<BR>&gt; &lt;tr=20
valign=3D"top" bgcolor=3D"#7b9ebd" class=3D"style7"&gt;<BR>&gt; &lt;td =
width=3D"115"=20
height=3D"28" align=3D"right" valign=3D"middle"&gt;Time =
Periods:&lt;/td&gt;<BR>&gt;=20
&lt;td width=3D"108" valign=3D"middle"&gt;<BR>&gt; &lt;select=20
name=3D"select"&gt;<BR>&gt; &lt;option&gt;Hourly&lt;/option&gt;<BR>&gt;=20
&lt;option&gt;1/2 Hourly&lt;/option&gt;<BR>&gt; &lt;option&gt;1/4=20
Hourly&lt;/option&gt;<BR>&gt; &lt;/select&gt;<BR>&gt; =
&lt;/td&gt;<BR>&gt; &lt;td=20
width=3D"77" align=3D"right" valign=3D"middle"&gt;Week =
No:&lt;/td&gt;<BR>&gt; &lt;td=20
width=3D"86" align=3D"center" valign=3D"middle"&gt;<BR>&gt; &lt;table =
width=3D"46"=20
border=3D"0" cellpadding=3D"0" cellspacing=3D"0"&gt;<BR>&gt; =
&lt;tr&gt;<BR>&gt; &lt;td=20
width=3D"10"&gt;<BR>&gt; &lt;input name=3D"textfield" type=3D"text" =
class=3D"style19"=20
size=3D"2" maxlength=3D"2"/&gt;<BR>&gt; &lt;/td&gt;<BR>&gt; &lt;td=20
width=3D"36"&gt;<BR>&gt; &lt;img<BR>&gt; src=3D"</FONT><A=20
href=3D"file:///C|/Documents%20and%20Settings/Administrator/Desktop/Avail=
/image"><FONT=20
face=3DArial=20
size=3D2>file:///C|/Documents%20and%20Settings/Administrator/Desktop/Avai=
l/image</FONT></A><BR><FONT=20
face=3DArial size=3D2>&gt; s/btn_off_cal.gif" width=3D"36" =
height=3D"19"/&gt;<BR>&gt;=20
&lt;/td&gt;<BR>&gt; &lt;/tr&gt;<BR>&gt; &lt;/table&gt;<BR>&gt;=20
&lt;/td&gt;<BR>&gt; &lt;td =
width=3D"607"&gt;&amp;nbsp;&lt;/td&gt;<BR>&gt;=20
&lt;/tr&gt;<BR>&gt; &lt;/table&gt;<BR>&gt; &lt;!-- end of section for =
week num=20
and Timeline intervals--&gt;<BR>&gt; &lt;!--start of timeline=20
section--&gt;<BR>&gt; &lt;table border=3D"1" cellpadding=3D"2" =
cellspacing=3D"0"=20
bgcolor=3D"#FFFFFF"<BR>&gt; OnMousedown=3D"mouseDown(event)"=20
onMouseUp=3D"lmouseup()"<BR>&gt; =
onMouseMove=3D"changeto(event)"&gt;<BR>&gt; &lt;tr=20
bgcolor=3D"#7b9ebd"&gt;<BR>&gt; &lt;td align=3D"center" class=3D"style9" =

id=3D"ignore"&gt;Week Day&lt;/td&gt;<BR>&gt; &lt;td align=3D"center"=20
class=3D"style9"&gt;Week Date &lt;/td&gt;<BR>&gt; &lt;td colspan=3D"4"=20
class=3D"style7"&gt;00:00&lt;/td&gt;<BR>&gt; &lt;td colspan=3D"4"=20
class=3D"style7"&gt;01:00&lt;/td&gt;<BR>&gt; &lt;td colspan=3D"4"=20
class=3D"style7"&gt;02:00&lt;/td&gt;<BR>&gt; &lt;td colspan=3D"4"=20
class=3D"style7"&gt;03:00&lt;/td&gt;<BR>&gt; &lt;td colspan=3D"4"=20
class=3D"style7"&gt;04:00&lt;/td&gt;<BR>&gt; &lt;td colspan=3D"4"=20
class=3D"style7"&gt;05:00&lt;/td&gt;<BR>&gt; &lt;td colspan=3D"4"=20
class=3D"style7"&gt;06:00&lt;/td&gt;<BR>&gt; &lt;td colspan=3D"4"=20
class=3D"style7"&gt;07:00&lt;/td&gt;<BR>&gt; &lt;td colspan=3D"4"=20
class=3D"style7"&gt;08:00&lt;/td&gt;<BR>&gt; &lt;td colspan=3D"4"=20
class=3D"style7"&gt;09:00&lt;/td&gt;<BR>&gt; &lt;td colspan=3D"4"=20
class=3D"style7"&gt;10:00&lt;/td&gt;<BR>&gt; &lt;td colspan=3D"4"=20
class=3D"style7"&gt;11:00&lt;/td&gt;<BR>&gt; &lt;td colspan=3D"4"=20
class=3D"style7"&gt;12:00&lt;/td&gt;<BR>&gt; &lt;td colspan=3D"4"=20
class=3D"style7"&gt;13:00&lt;/td&gt;<BR>&gt; &lt;td colspan=3D"4"=20
class=3D"style7"&gt;14:00&lt;/td&gt;<BR>&gt; &lt;td colspan=3D"4"=20
class=3D"style7"&gt;15:00&lt;/td&gt;<BR>&gt; &lt;td colspan=3D"4"=20
class=3D"style7"&gt;16:00&lt;/td&gt;<BR>&gt; &lt;td colspan=3D"4"=20
class=3D"style7"&gt;17:00&lt;/td&gt;<BR>&gt; &lt;td colspan=3D"4"=20
class=3D"style7"&gt;18:00&lt;/td&gt;<BR>&gt; &lt;td colspan=3D"4"=20
class=3D"style7"&gt;19:00&lt;/td&gt;<BR>&gt; &lt;td colspan=3D"4"=20
class=3D"style7"&gt;20:00&lt;/td&gt;<BR>&gt; &lt;td colspan=3D"4"=20
class=3D"style7"&gt;21:00&lt;/td&gt;<BR>&gt; &lt;td colspan=3D"4"=20
class=3D"style7"&gt;22:00&lt;/td&gt;<BR>&gt; &lt;td colspan=3D"4"=20
class=3D"style7"&gt;23:00&lt;/td&gt;<BR>&gt; &lt;td colspan=3D"4"=20
class=3D"style7"&gt;24:00&lt;/td&gt;<BR>&gt; &lt;/tr&gt;<BR>&gt;=20
&lt;/table&gt;<BR>&gt; &lt;!--end of timeline section--&gt;<BR>&gt; =
&lt;!--=20
start of day times section--&gt;<BR>&gt; &lt;xsl:variable=20
name=3D"testvar"&gt;96&lt;/xsl:variable&gt;<BR>&gt; =
&lt;table&gt;<BR>&gt;=20
&lt;tr&gt;<BR>&gt; &lt;td bgcolor=3D"#7b9ebd" class=3D"style15"=20
id=3D"ignore"&gt;Monday&lt;/td&gt;<BR>&gt; &lt;td bgcolor=3D"#7b9ebd"=20
class=3D"style15"&gt;19/01/2004 &lt;xsl:value-of<BR>&gt;=20
select=3D"$testvar"&gt;&lt;/xsl:value-of&gt;&lt;/td&gt;<BR>&gt;=20
&lt;/tr&gt;<BR>&gt; &lt;/table&gt;<BR>&gt; &lt;!-- &lt;td=20
class=3D"unnamed2"&gt;&amp;nbsp;&lt;/td&gt;--&gt;<BR>&gt; &lt;!-- end of =
day times=20
section --&gt;<BR>&gt; &lt;!--Start of section for planner legend =
--&gt;<BR>&gt;=20
&lt;table width=3D"800" border=3D"1" cellpadding=3D"1" =
cellspacing=3D"0"<BR>&gt;=20
bordercolor=3D"#FFFFFF"&gt;<BR>&gt; &lt;tr&gt;<BR>&gt; &lt;td =
width=3D"154"=20
class=3D"style9"&gt;Planner Legend: &lt;/td&gt;<BR>&gt; &lt;td =
width=3D"29"=20
bordercolor=3D"#000000" bgcolor=3D"#0000FF" class=3D"style18"<BR>&gt;=20
onMouseDown=3D"changehighlightcolor('blue')"&gt;&amp;nbsp;&lt;/td&gt;<BR>=
&gt;=20
&lt;td width=3D"216" align=3D"center" class=3D"style15"&gt; Regular=20
Unavailabilty&lt;/td&gt;<BR>&gt; &lt;td width=3D"36" =
bordercolor=3D"#000000"=20
bgcolor=3D"#FF0000" class=3D"style18"<BR>&gt;=20
onMouseDown=3D"changehighlightcolor('red')"&gt;&amp;nbsp;&lt;/td&gt;<BR>&=
gt;=20
&lt;td width=3D"190" align=3D"center"=20
class=3D"style15"&gt;Requirements&lt;/td&gt;<BR>&gt; &lt;td width=3D"36" =

bordercolor=3D"#000000" bgcolor=3D"#009900" class=3D"unnamed2"<BR>&gt;=20
onMouseDown=3D"changehighlightcolor('green')"&gt;&amp;nbsp;&lt;/td&gt;<BR=
>&gt;=20
&lt;td width=3D"179" align=3D"center" class=3D"style15"&gt;Specific=20
Unavailability&lt;/td&gt;<BR>&gt; &lt;td width=3D"36" align=3D"center"=20
bordercolor=3D"#000000" class=3D"unnamed2"<BR>&gt;=20
onMouseDown=3D"changehighlightcolor('white')"&gt;&amp;nbsp;&lt;/td&gt;<BR=
>&gt;=20
&lt;td width=3D"123" align=3D"center" class=3D"style15"&gt;Delete Times=20
&lt;/td&gt;<BR>&gt; &lt;/tr&gt;<BR>&gt; &lt;tr&gt;<BR>&gt; &lt;td =
colspan=3D"9"=20
class=3D"style19"&gt;Please click a colour then drag &amp;amp; =
drop<BR>&gt;=20
unavailability, Right click button to edit unavailbilty description =
and<BR>&gt;=20
notes. &lt;/td&gt;<BR>&gt; &lt;/tr&gt;<BR>&gt; &lt;/table&gt;<BR>&gt; =
&lt;!--=20
end of section for planner legend --&gt;<BR>&gt; &lt;/body&gt;<BR>&gt;=20
&lt;/html&gt;<BR>&gt; &lt;/xsl:template&gt;<BR>&gt;=20
&lt;/xsl:stylesheet&gt;<BR>&gt; <BR>&gt; <BR>&gt; Cheers<BR>&gt; =
<BR>&gt;=20
chris.<BR>&gt; <BR>&gt;</FONT></BODY></HTML>

------=_NextPart_000_0026_01C4335F.5733D1A0--



transparent
Print
Mail
Digg
delicious
Disclaimer
.

These Archives are provided for informational purposes only and have been generated directly from the Altova mailing list archive system and are comprised of the lists set forth on www.altova.com/list/index.html. Therefore, Altova does not warrant or guarantee the accuracy, reliability, completeness, usefulness, non-infringement of intellectual property rights, or quality of any content on the Altova Mailing List Archive(s), regardless of who originates that content. You expressly understand and agree that you bear all risks associated with using or relying on that content. Altova will not be liable or responsible in any way for any content posted including, but not limited to, any errors or omissions in content, or for any losses or damage of any kind incurred as a result of the use of or reliance on any content. This disclaimer and limitation on liability is in addition to the disclaimers and limitations contained in the Website Terms of Use and elsewhere on the site.

.
.

transparent

transparent