I have an XML file that needs to go to HTML. It will be converted into several tables with a 16 rows per table, including the first row of XML data becoming the same first row of each table. Each table would get a unique ID.
The xml sample file is structured as follows (truncated - usually several hundred rows):
<?xml version="1.0" encoding="ISO-8859-1"?>
<Data>
<Head><Title>As of April 17, 2014</Title></Head>
<Person><Name>ADAMS,MARTIN</Name><DOB>DOB: 11/02/38</DOB></Person>
<Person><Name>ADAMS,ICHAEL</Name><DOB>DOB: 04/06/37</DOB></Person>
<Person><Name>ALANIZ, ALEX</Name><DOB>DOB: 08/09/37</DOB></Person>
<Person><Name>ALFORD JASON</Name><DOB>DOB: 08/11/35</DOB></Person>
<Person><Name>ALLEGR ERICK</Name><DOB>DOB: 09/01/38</DOB></Person>
<Person><Name>ALMER,XANDER</Name><DOB>DOB: 01/09/33</DOB></Person>
<Person><Name>ALVAREHECTOR</Name><DOB>DOB: 07/04/30</DOB></Person>
<Person><Name>AMAR, TUMAA</Name><DOB>DOB: 07/09/32</DOB></Person>
<Person><Name>ANON, JUSTIN</Name><DOB>DOB: 05/06/37</DOB></Person>
<Person><Name>ANSON, TERRY</Name><DOB>DOB: 01/18/35</DOB></Person>
<Person><Name>APGUI, JORGE</Name><DOB>DOB: 12/05/34</DOB></Person>
<Person><Name>APDACA, CODY</Name><DOB>DOB: 02/01/33</DOB></Person>
<Person><Name>ARLLO, MARIO</Name><DOB>DOB: 04/03/30</DOB></Person>
<Person><Name>AR, CHANELLE</Name><DOB>DOB: 06/07/39</DOB></Person>
<Person><Name>AR AGA, ADAN</Name><DOB>DOB: 08/30/32</DOB></Person>
<Person><Name>ATC, MICHAEL</Name><DOB>DOB: 05/01/37</DOB></Person>
<Person><Name>BAI Y, JAMES</Name><DOB>DOB: 03/05/35</DOB></Person>
<Person><Name>BAKER, ALECD</Name><DOB>DOB: 02/02/31</DOB></Person>
<Person><Name>BALDWIN , PH</Name><DOB>DOB: 08/08/39</DOB></Person>
<Person><Name>BALLWEBE RRY</Name><DOB>DOB: 04/06/34</DOB></Person>
<Person><Name>BANDLE, T X2</Name><DOB>DOB: 02/09/30</DOB></Person>
</Data>
Based on the sample file, the resulting HTML file should appear as follows (obviously a larger XML file would result in more tables):
<html>
<body>
<table ID="1">
<tr><td colspan="2">Date of list: 04/21/2014</td></tr>
<tr><td>ADAMS,MARTIN</td><td>DOB: 11/02/38</td></tr>
<tr><td>ADAMS,ICHAEL</td><td>DOB: 04/06/37</td></tr>
<tr><td>ALANIZ, ALEX</td><td>DOB: 08/09/37</td></tr>
<tr><td>ALFORD JASON</td><td>DOB: 08/11/35</td></tr>
<tr><td>ALLEGR ERICK</td><td>DOB: 09/01/38</td></tr>
<tr><td>ALMER,XANDER</td><td>DOB: 01/09/33</td></tr>
<tr><td>ALVAREHECTOR</td><td>DOB: 07/04/30</td></tr>
<tr><td>AMAR, TUMAA</td><td>DOB: 07/09/32</td></tr>
<tr><td>ANON, JUSTIN</td><td>DOB: 05/06/37</td></tr>
<tr><td>ANSON, TERRY</td><td>DOB: 01/18/35</td></tr>
<tr><td>APGUI, JORGE</td><td>DOB: 12/05/34</td></tr>
<tr><td>APDACA, CODY</td><td>DOB: 02/01/33</td></tr>
<tr><td>ARLLO, MARIO</td><td>DOB: 04/03/30</td></tr>
<tr><td>AR, CHANELLE</td><td>DOB: 06/07/39</td></tr>
<tr><td>AR AGA, ADAN</td><td>DOB: 08/30/32</td></tr>
</table>
<table ID="2">
<tr><td colspan="2">Date of list: 04/21/2014</td></tr>
<tr><td>ATC, MICHAEL</td><td>DOB: 05/01/37</td></tr>
<tr><td>BAI Y, JAMES</td><td>DOB: 03/05/35</td></tr>
<tr><td>BAKER, ALECD</td><td>DOB: 02/02/31</td></tr>
<tr><td>BALDWIN , PH</td><td>DOB: 08/08/39</td></tr>
<tr><td>BALLWEBE RRY</td><td>DOB: 04/06/34</td></tr>
<tr><td>BANDLE, T X2</td><td>DOB: 02/09/30</td></tr>
</table>
</body>
</html>
Based on several other instances of converting the XML into tables, I assume I need to utilize XSLT to accomplish this. The problem I've ran into was I could never break up the and fields into separate elements whilst still getting the rest of the table to generate properly. It was either one large table, or several tables with only one element per row.
Edit:
The following XSLT gets me one large table that's formatted properly. I'm just not sure how to get this to several 16 row tables instead:
<?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>
<table id="1">
<tr><td colspan="2" align="center"><h2><xsl:value-of select="Data/Head/Title"/></h2></td></tr>
<xsl:for-each select="Data/Person">
<tr>
<td><xsl:value-of select="Name"/></td>
<td><xsl:value-of select="DOB"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
I greatly appreciate any assistance in this endeavor.