[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Problem with test condition in xsl:when

Subject: Problem with test condition in xsl:when
From: Gurnandan Kaur <teclioness@xxxxxxxxxxx>
Date: Thu, 30 Aug 2001 09:50:34 +0100 (BST)
test condition
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}</TimesheetStatusUID>
	<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}</AttendanceCategoryUID>
			<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}</StandardCreditTypeUID>
		</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}</AttendanceCategoryUID>
			<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}</StandardCreditTypeUID>
		</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


Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.