XML Programming
 
Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
User Name:
Password:
Remember me

The Shed is going Social! Join us on FaceBook and Twitter and chime in on the conversation.

Go Back   Dev Shed ForumsProgramming Languages - MoreXML Programming

Reply
Add This Thread To:
  Del.icio.us   Digg   Google   Spurl   Blink   Furl   Simpy   Y! MyWeb 
Thread Tools Search this Thread Rate Thread Display Modes
 
Unread Dev Shed Forums Sponsor:
  #1  
Old April 4th, 2011, 11:32 AM
Beans72 Beans72 is offline
Registered User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Apr 2011
Posts: 2 Beans72 User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 1 h 2 m 15 sec
Reputation Power: 0
XML will not display the way I want!!!

Hi all,



Anyway I'm learning XML and I have run into a problem that I can't get past. I have an XML file that will not display properly. All of the rows and columns are populated correctly except the 'Hire Date' column. I can only seem to get it to read the first hire date of the first employee for all employees or nothing at all...or I get the hire dates out but they are not in the correct column. I have tried everything I can think of but no joy



This is my XML data

Code:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="employees.xsl" type="text/xsl"?>
<employees xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:noNamespaceSchemaLocation="employees.xsd">
  <head>
    <title>Employee Data File</title>
    <maintainer>Sam Williams</maintainer>
  </head>
  <employee eid="p98145" dept="programming">
    <contact addInfo="c_98145.xml">
      <name>
        <firstName>Joe</firstName>
        <middleName int="B">Brian</middleName>
        <lastName>Smith</lastName>
      </name>
      <address>
        <street>611 Ridgewood Drive,</street>
        <city>Denver,</city>
        <state>Colorado</state>
        <zipcode>80210</zipcode>
      </address>
      <phone>
        <tel type="wk">303-4667339</tel>
        <tel type="hm">303-9842361</tel>
        <fax>303-4667357</fax>
      </phone>
      <email>JSmith@earthlink.net</email>
    </contact>
    <hireDate>1998-10-14</hireDate>
  </employee>
  <employee eid="t00022" dept="training">
    <contact addInfo="c_00022.xml">
      <name>
        <firstName>Sam</firstName>
        <middleName int="S">Stephen</middleName>
        <lastName>Williams</lastName>
      </name>
      <address>
        <street>2103 Steck Drive,</street>
        <city>Austin,</city>
        <state>Texas</state>
        <zipcode>78731</zipcode>
      </address>
      <phone>
        <tel type="wk">512-3467899</tel>
        <tel type="hm">512-4623356</tel>
        <fax>512-3465655</fax>
      </phone>
      <email>swilliams@verizon.net</email>
    </contact>
    <hireDate>2000-03-11</hireDate>
  </employee>
  <employee eid="e67721" dept="engineering">
    <contact addInfo="c_20022.xml">
      <name>
        <firstName>Sean</firstName>
        <middleName int="J">James</middleName>
        <lastName>Walters</lastName>
      </name>
      <address>
        <street>2122 Steinway Drive,</street>
        <city>Dallas,</city>
        <state>Texas</state>
        <zipcode>78246</zipcode>
      </address>
      <phone>
        <tel type="wk">512-3457599</tel>
        <tel type="hm">512-4622556</tel>
        <fax>512-3465612</fax>
      </phone>
      <email>swalters@comcast.net</email>
    </contact>
    <hireDate>12-7-2007</hireDate>
  </employee>
  <employee eid="cd34512" dept="content development">
    <contact addInfo="c_54511.xml">
      <name>
        <firstName>Adam</firstName>
        <middleName int="W">William</middleName>
        <lastName>Hopkins</lastName>
      </name>
      <address>
        <street>1266 Leeway Street,</street>
        <city>Denver,</city>
        <state>Colorado</state>
        <zipcode>44699</zipcode>
      </address>
      <phone>
        <tel type="wk">233-3467899</tel>
        <tel type="hm">233-4623356</tel>
        <fax>233-3465655</fax>
      </phone>
      <email>ahopkins@verizon.net</email>
    </contact>
    <hireDate>6-2-2004</hireDate>
  </employee>
  <employee eid="r00022" dept="research">
    <contact addInfo="r_00442.xml">
      <name>
        <firstName>Steve</firstName>
        <middleName int="D">David</middleName>
        <lastName>Manley</lastName>
      </name>
      <address>
        <street>2122 Pittsburgh Drive,</street>
        <city>Pittsburgh,</city>
        <state>Philadelphia</state>
        <zipcode>54541</zipcode>
      </address>
      <phone>
        <tel type="wk">588-3466699</tel>
        <tel type="hm">588-4626656</tel>
        <fax>588-3466655</fax>
      </phone>
      <email>smanley@gmail.com</email>
    </contact>
    <hireDate>9-10-2009</hireDate>
  </employee>
  <employee eid="s00236" dept="support">
    <contact addInfo="c_00644.xml">
      <name>
        <firstName>Trevor</firstName>
        <middleName int="E">Evan</middleName>
        <lastName>Williams</lastName>
      </name>
      <address>
        <street>9755 Christchurch Drive,</street>
        <city>Reno,</city>
        <state>Nevada</state>
        <zipcode>67244</zipcode>
      </address>
      <phone>
        <tel type="wk">922-4217899</tel>
        <tel type="hm">922-5473356</tel>
        <fax>922-3474255</fax>
      </phone>
      <email>twilliams@verizon.net</email>
    </contact>
    <hireDate>1-11-2002</hireDate>
  </employee>
  <employee eid="s00023" dept="support">
    <contact addInfo="c_22122.xml">
      <name>
        <firstName>David</firstName>
        <middleName int="F">Frank</middleName>
        <lastName>Jackson</lastName>
      </name>
      <address>
        <street>2126 Beltway Drive,</street>
        <city>Dallas,</city>
        <state>Texas</state>
        <zipcode>78731</zipcode>
      </address>
      <phone>
        <tel type="wk">512-3725322</tel>
        <tel type="hm">512-4827633</tel>
        <fax>512-3462876</fax>
      </phone>
      <email>swilliams@verizon.net</email>
    </contact>
    <hireDate>2000-03-11</hireDate>
  </employee>
  <employee eid="p88022" dept="programming">
    <contact addInfo="c_88022.xml">
      <name>
        <firstName>Ben</firstName>
        <middleName int="J">John</middleName>
        <lastName>Ashton</lastName>
      </name>
      <address>
        <street>724 Irvine Street,</street>
        <city>San Francisco,</city>
        <state>California</state>
        <zipcode>78446</zipcode>
      </address>
      <phone>
        <tel type="wk">717-3467899</tel>
        <tel type="hm">717-4623356</tel>
        <fax>717-3444655</fax>
      </phone>
      <email>bashton@comcast.net</email>
    </contact>
    <hireDate>22-9-2000</hireDate>
  </employee>
  <employee eid="hr00022" dept="hr">
    <contact addInfo="hr_00022.xml">
      <name>
        <firstName>James</firstName>
        <middleName int="M">Mark</middleName>
        <lastName>Duffield</lastName>
      </name>
      <address>
        <street>2122 Joshua Avenue,</street>
        <city>Chicago,</city>
        <state>Illinois</state>
        <zipcode>44226</zipcode>
      </address>
      <phone>
        <tel type="wk">603-1997899</tel>
        <tel type="hm">603-7443356</tel>
        <fax>603-3463855</fax>
      </phone>
      <email>jd@verizon.net</email>
    </contact>
    <hireDate>22-7-2003</hireDate>
  </employee>
  <employee eid="f06622" dept="finance">
    <contact addInfo="f_06622.xml">
      <name>
        <firstName>Paul</firstName>
        <middleName int="T">Terry</middleName>
        <lastName>Pender</lastName>
      </name>
      <address>
        <street>7732 LaJolla Drive,</street>
        <city>San Diego,</city>
        <state>California</state>
        <zipcode>55981</zipcode>
      </address>
      <phone>
        <tel type="wk">808-3467899</tel>
        <tel type="hm">808-4623356</tel>
        <fax>808-3465655</fax>
      </phone>
      <email>ppender@verizon.net</email>
    </contact>
    <hireDate>4-5-2001</hireDate>
  </employee>
  <employee eid="e00322" dept="engineering">
    <contact addInfo="e_00322.xml">
      <name>
        <firstName>Joseph</firstName>
        <middleName int="C">Chris</middleName>
        <lastName>Aherne</lastName>
      </name>
      <address>
        <street>2103 Westway Drive,</street>
        <city>Boston,</city>
        <state>Massacheutes</state>
        <zipcode>78681</zipcode>
      </address>
      <phone>
        <tel type="wk">677-4787899</tel>
        <tel type="hm">677-9973356</tel>
        <fax>677-2255655</fax>
      </phone>
      <email>ja@comcast.net</email>
    </contact>
    <hireDate>31-9-1998</hireDate>
  </employee>
  <employee eid="p00072" dept="programming">
    <contact addInfo="p_00072.xml">
      <name>
        <firstName>Sean</firstName>
        <middleName int="A">Adam</middleName>
        <lastName>Walsh</lastName>
      </name>
      <address>
        <street>1222 Christopher Street,</street>
        <city>New York,</city>
        <state>New York</state>
        <zipcode>11021</zipcode>
      </address>
      <phone>
        <tel type="wk">212-3467899</tel>
        <tel type="hm">212-4623356</tel>
        <fax>212-3465655</fax>
      </phone>
      <email>saws@verizon.net</email>
    </contact>
    <hireDate>21-2-2002</hireDate>
  </employee>
  <employee eid="f00332" dept="finance">
    <contact addInfo="f_00332.xml">
      <name>
        <firstName>Vincent</firstName>
        <middleName int="B">Barry</middleName>
        <lastName>Steadman</lastName>
      </name>
      <address>
        <street>23 Rushton Way,</street>
        <city>Portland,</city>
        <state>Oregon</state>
        <zipcode>44731</zipcode>
      </address>
      <phone>
        <tel type="wk">434-3467899</tel>
        <tel type="hm">434-4623356</tel>
        <fax>434-3465655</fax>
      </phone>
      <email>vas@verizon.net</email>
    </contact>
    <hireDate>25-7-1995</hireDate>
  </employee>
</employees>


And this is my XSL file

Code:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">


	<xsl:template match="/">
		<html>
			<body style="background-color: #bf99ff">
				<h2 style="text-align:center">Employee Data File</h2>
				<table border="1">
					<tr style="background-color:#cf99ff">
						<th style="font-size:20pt">First_Name</th>
						<th style="font-size:20pt">Middle_Name</th>
						<th style="font-size:20pt">Last_Name</th>
						<th style="font-size:20pt">Address</th>
						<th style="font-size:20pt">Work Phone</th>
						<th style="font-size:20pt">Home Phone</th>
						<th style="font-size:20pt">Fax</th>
						<th style="font-size:20pt">E-Mail</th>
						<th style="font-size:20pt">Hire Date</th>
					</tr>

					<xsl:for-each select="employees/employee/contact">
						<tr>
							<td style="font-size:14pt">
								<xsl:value-of select="name/firstName"/>
							</td>
							<td style="font-size:14pt">
								<xsl:value-of select="name/middleName"/>
							</td>
							<td style="font-size:14pt">
								<xsl:value-of select="name/lastName"/>
							</td>
							<td style="font-size:14pt">
								<xsl:value-of select="address"/>
							</td>
							<td style="font-size:14pt">
								<xsl:value-of select="phone/tel[@type='wk']"/>
							</td>
							<td style="font-size:14pt">
								<xsl:value-of select="phone/tel[@type='hm']"/>
							</td>
							<td style="font-size:14pt">
								<xsl:value-of select="phone/fax"/>
							</td>
							<td style="font-size:14pt">
								<xsl:value-of select="email"/>
							</td>
					

							<tr>

							</tr>
						

							</tr>
							</xsl:for-each>

						

							xsl:for-each select="employees/employee">
							<tr>
							<td style="font-size:14pt">
								<xsl:value-of select="hireDate"/>
							</td>
							
						</tr>
					</xsl:for-each>


					
				</table>
			</body>
		</html>
	</xsl:template>

</xsl:stylesheet>


This is my best effort, as I say previous attempts either repeat the hire date or no date entered in the column at all.

Sorry for the long winded code..first time poster. Any help that can point me in the right direction of populating the Hire_Date column correctly would be brilliant

Thanks All

Reply With Quote
  #2  
Old April 5th, 2011, 10:44 AM
xml-profi xml-profi is offline
Contributing User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Apr 2009
Posts: 190 xml-profi User rank is Sergeant Major (2000 - 5000 Reputation Level)xml-profi User rank is Sergeant Major (2000 - 5000 Reputation Level)xml-profi User rank is Sergeant Major (2000 - 5000 Reputation Level)xml-profi User rank is Sergeant Major (2000 - 5000 Reputation Level)xml-profi User rank is Sergeant Major (2000 - 5000 Reputation Level)xml-profi User rank is Sergeant Major (2000 - 5000 Reputation Level) 
Time spent in forums: 3 Days 7 h 8 m 25 sec
Reputation Power: 48
Send a message via ICQ to xml-profi
use css better
than have one place to change the values

and look at xpath
to found hireDate
go back in tree with ../
than you at the same level as concat
so you must select hireDate

so result ../hireDate

better template to use for simple things xml
otherwise you can see that was not xml / xsl correctly

Code:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
	<xsl:output indent="yes" method="html"/>
	<xsl:template match="/">
		<html>
			<style type="text/css">
table {
border: 2px solid black;
}
th,td{
border: 2px solid black;
font-size:14pt;
}
tr{
text-align: center;
font-size:20pt;
}
tr.head{
text-align: left;
background-color:#ff99ff;
}
tr.odd{
background-color:#ff9900;
}
tr.even{
background-color:#ff0099;
}</style>
			<body>
				<h2 style="text-align:center">Employee Data File</h2>
				<table>
					<tr class="head">
						<th>First_Name</th>
						<th>Middle_Name</th>
						<th>Last_Name</th>
						<th>Address</th>
						<th>Work Phone</th>
						<th>Home Phone</th>
						<th>Fax</th>
						<th>E-Mail</th>
						<th>Hire Date</th>
					</tr>
					<xsl:apply-templates select="employees/employee/contact"/>
				</table>
			</body>
		</html>
	</xsl:template>
	<xsl:template match="contact">
		<tr>
			<xsl:choose>
				<xsl:when test="position() mod 2 = 1">
					<xsl:attribute name="class">odd</xsl:attribute>
				</xsl:when>
				<xsl:when test="position() mod 2 = 0">
					<xsl:attribute name="class">even</xsl:attribute>
				</xsl:when>
			</xsl:choose>
			<td>
				<xsl:value-of select="name/firstName"/>
			</td>
			<td>
				<xsl:value-of select="name/middleName"/>
			</td>
			<td>
				<xsl:value-of select="name/lastName"/>
			</td>
			<td>
				<xsl:value-of select="address"/>
			</td>
			<td>
				<xsl:value-of select="phone/tel[@type='wk']"/>
			</td>
			<td>
				<xsl:value-of select="phone/tel[@type='hm']"/>
			</td>
			<td>
				<xsl:value-of select="phone/fax"/>
			</td>
			<td>
				<xsl:value-of select="email"/>
			</td>
			<td>
				<xsl:value-of select="../hireDate"/>
			</td>
		</tr>
	</xsl:template>
</xsl:stylesheet>
Comments on this post
Beans72 agrees: Don't completly understand what you done but it works. I'll have to study your reply. Thank you!
__________________
Helmut Hagemann Germany

fallen to the bottom of the facts?
I reach my hand and we go together


wer lesen und google kann ist klar im Vorteil
who read and google is able is clear in the advantage

Last edited by xml-profi : April 5th, 2011 at 10:48 AM.

Reply With Quote
  #3  
Old April 6th, 2011, 11:01 AM
Beans72 Beans72 is offline
Registered User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Apr 2011
Posts: 2 Beans72 User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 1 h 2 m 15 sec
Reputation Power: 0
Hey thank you xml-profi

I just implemented it and it is perfect..even like your colour scheme!!!

But must admit I'll have to play around with the xsl file to see exactly how you done it & understand it properly.

Thanks again that you took the time

Reply With Quote
Reply

Viewing: Dev Shed ForumsProgramming Languages - MoreXML Programming > XML will not display the way I want!!!

Developer Shed Advertisers and Affiliates



Thread Tools  Search this Thread 
Search this Thread:

Advanced Search
Display Modes  Rate This Thread 
Rate This Thread:


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
View Your Warnings | New Posts | Latest News | Latest Threads | Shoutbox
Forum Jump

Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
  
 


Powered by: vBulletin Version 3.0.5
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.

© 2003-2013 by Developer Shed. All rights reserved. DS Cluster - Follow our Sitemap