This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

RE: Problem with test condition in xsl:when


>From: "Rene de Vries" <RdVries@PCL-HaGe.nl>
>To: <xsl-list@lists.mulberrytech.com>
>Cc: <teclioness@yahoo.co.uk>,
>	"Tommie @ mulberrytech \(E-mail\)" <btusdin@mulberrytech.com>
>Subject: RE: [xsl] Problem with test condition in xsl:when
>Date: Thu, 30 Aug 2001 14:31:20 +0200
>
>Hi Gurnandan,
>
>What is your problem? Your XML & XSL work fine with me (except for the
>otherwise with the <xsl:for-each select="">)
>Furtermore you should use an XSL the way it was intended: replace all your
><xsl:for-each select="abc">...</xsl:for-each> with one line:
><xsl:apply-template select="abc"/> and move the source of the for-each to a
>seperate template <xsl:template match="abc">
>
>Greetings René
>   {@   @}
>      ^
>     \_/
>
>"You don't need eyes to see, you need vision!"
>-----Oorspronkelijk bericht-----
>Van: owner-xsl-list@lists.mulberrytech.com
>[mailto:owner-xsl-list@lists.mulberrytech.com]Namens Gurnandan Kaur
>Verzonden: donderdag 30 augustus 2001 10:55
>Aan: XSL-List@lists.mulberrytech.com
>Onderwerp: [xsl] Problem with test condition in xsl:when
>
>
>Hi
>
>The following is the XML file I am trying to
>transform.
>
><?xml version="1.0" encoding="ISO-8859-1"?>
><Timesheet>
>	<StaffID>30061</StaffID>
>	<WeekStartDate>08 Jan 2001</WeekStartDate>
>
><TimesheetStatusUID>{8A690915-17AC-11D5-A152-000347240DC9}</TimesheetStatusU
>ID>
>	<NumberOfCases>0</NumberOfCases>
>	<Status>Submitted</Status>
>	<Fullname/>
>	<Day>
>		<StaffID>30061</StaffID>
>		<AttDate>08 Jan 2001</AttDate>
>		<OnCall>N</OnCall>
>
><OnCallTypeUID>{00000000-0000-0000-0000-000000000000}</OnCallTypeUID>
>		<Shift>
>
><ShiftUID>{5D0EAB70-881D-11D5-A19F-000347240DC9}</ShiftUID>
>			<Date>08 Jan 2001</Date>
>			<ShiftIndex>2</ShiftIndex>
>			<TimeStart>01:00</TimeStart>
>			<TimeEnd>05:00</TimeEnd>
>
><AttendanceCategoryUID>{D13A0662-0EFF-11D5-A150-000347240DC9}</AttendanceCat
>egoryUID>
>			<ShiftChange>N</ShiftChange>
>
><ShiftChangeUID>{00000000-0000-0000-0000-000000000000}</ShiftChangeUID>
>			<Comments>this is the first shift</Comments>
>			<FlexibleChange>N</FlexibleChange>
>			<FlexibleContactability>N</FlexibleContactability>
>			<TotalMinutes>240</TotalMinutes>
>
><StandardCreditTypeUID>{B8505354-494D-11D5-A173-000347240DC9}</StandardCredi
>tTypeUID>
>		</Shift>
>	</Day>
>	<Day>
>		<StaffID>30061</StaffID>
>		<AttDate>09 Jan 2001</AttDate>
>		<OnCall>Y</OnCall>
>
><OnCallTypeUID>{131DC162-16C9-11D5-A151-000347240DC9}</OnCallTypeUID>
>		<Shift>
>
><ShiftUID>{5D0EAB71-881D-11D5-A19F-000347240DC9}</ShiftUID>
>			<Date>09 Jan 2001</Date>
>			<ShiftIndex>2</ShiftIndex>
>			<TimeStart>02:00</TimeStart>
>			<TimeEnd>07:00</TimeEnd>
>
><AttendanceCategoryUID>{D13A0662-0EFF-11D5-A150-000347240DC9}</AttendanceCat
>egoryUID>
>			<ShiftChange>N</ShiftChange>
>
><ShiftChangeUID>{00000000-0000-0000-0000-000000000000}</ShiftChangeUID>
>			<Comments>this is the sec shift</Comments>
>			<FlexibleChange>N</FlexibleChange>
>			<FlexibleContactability>N</FlexibleContactability>
>			<TotalMinutes>300</TotalMinutes>
>
><StandardCreditTypeUID>{B8505354-494D-11D5-A173-000347240DC9}</StandardCredi
>tTypeUID>
>		</Shift>
>	</Day>
>	</Timesheet>
>
>Following is the XSL I am using to tranform
>
><?xml version="1.0" encoding="UTF-8"?>
><xsl:stylesheet version="1.0"
>xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
><xsl:output method="html" version="1.0"
>encoding="UTF-8" indent="yes"/>
><xsl:template match="/">
>	<table border="1" cellspacing="0"
>class="TableFullWidth" width="100%">
>		<tr bgcolor="silver" class="HeadRow">
>			<td width="14%">&#160;</td>
>			<td width="15%" colspan="2">Att. Time</td>
>		   	<td width="32%">Attendance Category</td>
>		   	<td width="23%">Attendance Change</td>
>		       <td width="16%">Contacted</td>
>		</tr>
>		<tr bgcolor="silver" class="HeadRow">
>			<td>&#160;</td>
>			<td>Start</td>
>			<td>End</td>
>		   	<td>&#160;</td>
>		   	<td>&#160;</td>
>		   	<td>&#160;</td>
>		</tr>
>		<xsl:for-each select="/Timesheet/Day">
>			<xsl:variable name="OnCall" select="./OnCall"/>
>			<xsl:for-each select="./Shift">
>				<tr bgcolor="silver" class="HeadRow">
>				<!--
>					If intDay = 1 Then
>				-->
>					<td ><xsl:value-of select="./Date"/> -
><xsl:value-of select="./AttDate"/></td>
>					<!--
>					Else
>					<td valign="middle"
>align="right"><b>=intDay.</b></td>-->
>					<!--
>					End If
>					-->
>					<td valign="middle" align="center"><xsl:value-of
>select="./TimeStart"/></td>
>					<td valign="middle" align="center"><xsl:value-of
>select="./TimeEnd"/></td>
>					<td valign="middle" align="center">
>					<xsl:value-of select="./AttendanceCategoryUID"/>
>					<!--
>					If trim(strAttCatID)<>
>"{00000000-0000-0000-0000-000000000000}" Then
>					Dim sAttXML
>					sAttXML = oPickLists.AttendanceCategories
>					oDoc.loadXML(sAttXML)
>					Set oLists =
>oDoc.getElementsByTagName("ListEntry")
>					For Each oOption In oLists
>					If trim(strAttCatID) = trim(GetNodeValue(oOption,
>"Key")) Then
>					-->
>					<!--=trim(GetNodeValue(oOption,"Item"))--> -
>					<!--
>					Exit For
>					End If
>					Next
>					Else
>					Response.Write "&#160; - "
>					End If
>					-->
>					<xsl:choose>
>						<xsl:when
>test="./Timesheet/Day/Shift/AttendanceCategoryUID
>='{00000000-0000-0000-0000-000000000000}'">
>							&#160; -
>						</xsl:when>
>						<xsl:otherwise>
>							<xsl:for-each select="">
>
>							</xsl:for-each>
>						</xsl:otherwise>
>					</xsl:choose>
>					<!--
>					If trim(strStdCredit) <>
>"{00000000-0000-0000-0000-000000000000}" Then
>					Dim sStdCredit
>					sStdCredit = oPickLists.StandardCreditTypes
>					oDoc.loadXml(sStdCredit)
>					Set oLists =
>oDoc.getElementsByTagName("ListEntry")
>					For Each oOption In oLists
>					If trim(strStdCredit) =
>trim(GetNodeValue(oOption, "Key")) Then
>					-->
>					<!--=trim(GetNodeValue(oOption,"Item"))-->
>					<!--
>					Exit For
>					End If
>					Next
>					Else
>					Response.Write "&#160;"
>					End If
>					-->
>					</td>
>					<td valign="middle">
>					<!--
>					If trim(strShiftChangeID)<>
>"{00000000-0000-0000-0000-000000000000}" Then
>					sShiftXML = oPickLists.ShiftChanges
>					oDoc.loadXML(sShiftXML)
>					Set oLists =
>oDoc.getElementsByTagName("ListEntry")
>					For Each oOption In oLists
>					If trim(strShiftChangeID) =
>trim(GetNodeValue(oOption, "Key")) Then
>					-->
>					<!--=trim(GetNodeValue(oOption,"Item"))-->
>					<!--
>					Exit For
>					End If
>					Next
>					Else
>					Response.Write "&#160;"
>					End If
>					-->
>					</td>
>					<td valign="center" align="center"><xsl:value-of
>select="./FlexibleContactability"/><!--If
>strContact="Y" Then Response.write "Yes" Else
>Response.Write "No" End If-->
>					</td>
>				</tr>
>				<tr>
>					<!--
>					If intDay = 1 Then
>					-->
>					<td>
>						on Call - <xsl:value-of select="$OnCall"/><!--If
>strOnCall="Y" Then Response.Write "Yes" Else If
>strOnCall="N" Then Response.Write							"No" End
>If-->
>						<br/>
>						<!--
>						If trim(strOnCallType)<>
>"{00000000-0000-0000-0000-000000000000}" Then
>						sShiftXML = oPickLists.CalloutReasons
>						oDoc.loadXML(sShiftXML)
>						Set oLists =
>oDoc.getElementsByTagName("ListEntry")
>						For Each oOption In oLists
>						If trim(strOnCallType) =
>trim(GetNodeValue(oOption, "Key")) Then
>						-->
>						<!--=trim(GetNodeValue(oOption,"Item"))-->
>						<!--
>						Exit For
>						End If
>						Next
>						Else
>						-->
>						&#160;
>						<!--
>						End If
>						-->
>					</td>
>					<!--
>					Else
>					-->
>					<td>&#160;</td>
>					<!--End If-->
>					<td valign="top" align="left"
>colspan="7"><xsl:value-of select="/Comments"/></td>
>				</tr>
>				<!--
>				intDay = intDay +1
>				Next
>				Next
>				-->
>			</xsl:for-each>
>		</xsl:for-each>
>	</table>
>	<br/>
>	<table border="1" cellspacing="0"
>class="TableFullWidth" width="100%">
>		<tr bgcolor="silver" class="HeadRow">
>			<td><b>Summary</b></td>
>		</tr>
>		<tr>
>			<td>If you were on a PCEA call during this week,
>please enter the number of cases dealt by
>				you <b><xsl:value-of
>select="/Timesheet/NumberOfCases"/></b></td>
>		</tr>
>	</table>
></xsl:template>
></xsl:stylesheet>
>The problem comes when I try to test the value of node
>"AttendanceCategoryUID", but whatever I am using
>doesnt seem to resolve the problem. Please suggest
>what is wrong?? In xsl I use to say <xsl:when
>test=".[/AttendanceCategoryUID='value']> and it would
>work fine. This time it isnt. Is the way to access the
>node any different in XSLT now?
>
>Thanks for help.
>
>____________________________________________________________
>Do You Yahoo!?
>Get your free @yahoo.co.uk address at http://mail.yahoo.co.uk
>or your free @yahoo.ie address at http://mail.yahoo.ie
>
> XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


-- 
======================================================================
B. Tommie Usdin                        mailto:btusdin@mulberrytech.com
Mulberry Technologies, Inc.                http://www.mulberrytech.com  
17 West Jefferson Street                           Phone: 301/315-9631
Suite 207                                    Direct Line: 301/315-9634
Rockville, MD  20850                                 Fax: 301/315-8285
----------------------------------------------------------------------
  Mulberry Technologies: A Consultancy Specializing in SGML and XML              
======================================================================

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]