hello guys!

i'm quite new here and i'm probably posting this on the wrong place, but hey, here goes nothing! :P

so, i have this lovely XML (not!) that was obtained through a yahoo pipe, and had a JSON decode, in order to transform it in a XML that could be stored in a MySQL database.

Code:
<?xml version="1.0" encoding="ISO-8859-1"?>
<json>
  <count>16</count>
  <value>
    <title>uniprot 7</title>
    <description>Pipes Output</description>
    <link>http://pipes.yahoo.com/pipes/pipe.info?_id=0ef2cf38a34d6aef3392b6996ef41108</link>
    <pubDate>Sat, 03 Apr 2010 19:17:42 +0000</pubDate>
    <generator>http://pipes.yahoo.com/pipes/</generator>
    <callback />
    <items>
      <content>BPTF_HUMAN</content>
      <description />
      <title />
    </items>
    <items>
      <alternativeName>
        <fullName>Bromodomain and PHD finger-containing transcription factor</fullName>
      </alternativeName>
      <alternativeName>
        <fullName>Fetal Alzheimer antigen</fullName>
      </alternativeName>
      <alternativeName>
        <fullName>Fetal Alz-50 clone 1 protein</fullName>
      </alternativeName>
      <recommendedName>
        <fullName>Nucleosome-remodeling factor subunit BPTF</fullName>
      </recommendedName>
      <description />
      <title />
    </items>
    <items>
      <name>
        <content>BPTF</content>
        <type>primary</type>
      </name>
      <name>
        <content>FAC1</content>
        <type>synonym</type>
      </name>
      <name>
        <content>FALZ</content>
        <type>synonym</type>
      </name>
      <description />
      <title />
    </items>
    <items>
      <content>MRGRRGRPPKQPAAPAAERCAPAPPPPPPPPTSGPIGGLRSRHRGSSRGRWAAAQAEVAP
KTRLSSPRGGSSSRRKPPPPPPAPPSTSAPGRGGRGGGGGRTGGGGGGGHLARTTAARRA
VNKVVYDDHESEEEEEEEDMVSEEEEEEDGDAEETQDSEDDEEDEMEEDDDDSDYPEEME
DDDDDASYCTESSFRSHSTYSSTPGRRKPRVHRPRSPILEEKDIPPLEFPKSSEDLMVPN
EHIMNVIAIYEVLRNFGTVLRLSPFRFEDFCAALVSQEQCTLMAEMHVVLLKAVLREEDT
SNTTFGPADLKDSVNSTLYFIDGMTWPEVLRVYCESDKEYHHVLPYQEAEDYPYGPVENK
IKVLQFLVDQFLTTNIAREELMSEGVIQYDDHCRVCHKLGDLLCCETCSAVYHLECVKPP
LEEVPEDEWQCEVCVAHKVPGVTDCVAEIQKNKPYIRHEPIGYDRSRRKYWFLNRRLIIE
EDTENENEKKIWYYSTKVQLAELIDCLDKDYWEAELCKILEEMREEIHRHMDITEDLTNK
ARGSNKSFLAAANEEILESIRAKKGDIDNVKSPEETEKDKNETENDSKDAEKNREEFEDQ
SLEKDSDDKTPDDDPEQGKSEEPTEVGDKGNSVSANLGDNTTNATSEETSPSEGRSPVGC
LSETPDSSNMAEKKVASELPQDVPEEPNKTCESSNTSATTTSIQPNLENSNSSSELNSSQ
SESAKAADDPENGERESHTPVSIQEEIVGDFKSEKSNGELSESPGAGKGASGSTRIITRL
RNPDSKLSQLKSQQVAAAAHEANKLFKEGKEVLVVNSQGEISRLSTKKEVIMKGNINNYF
KLGQEGKYRVYHNQYSTNSFALNKHQHREDHDKRRHLAHKFCLTPAGEFKWNGSVHGSKV
LTISTLRLTITQLENNIPSSFLHPNWASHRANWIKAVQMCSKPREFALALAILECAVKPV
VMLPIWRESLGHTRLHRMTSIEREEKEKVKKKEKKQEEEETMQQATWVKYTFPVKHQVWK
QKGEEYRVTGYGGWSWISKTHVYRFVPKLPGNTNVNYRKSLEGTKNNMDENMDESDKRKC
SRSPKKIKIEPDSEKDEVKGSDAAKGADQNEMDISKITEKKDQDVKELLDSDSDKPCKEE
PMEVDDDMKTESHVNCQESSQVDVVNVSEGFHLRTSYKKKTKSSKLDGLLERRIKQFTLE
EKQRLEKIKLEGGIKGIGKTSTNSSKNLSESPVITKAKEGCQSDSMRQEQSPNANNDQPE
DLIQGCSESDSSVLRMSDPSHTTNKLYPKDRVLDDVSIRSPETKCPKQNSIENDIEEKVS
DLASRGQEPSKSKTKGNDFFIDDSKLASADDIGTLICKNKKPLIQEESDTIVSSSKSALH
SSVPKSTNDRDATPLSRAMDFEGKLGCDSESNSTLENSSDTVSIQDSSEEDMIVQNSNES
ISEQFRTREQDVEVLEPLKCELVSGESTGNCEDRLPVKGTEANGKKPSQQKKLEERPVNK
CSDQIKLKNTTDKKNNENRESEKKGQRTSTFQINGKDNKPKIYLKGECLKEISESRVVSG
NVEPKVNNINKIIPENDIKSLTVKESAIRPFINGDVIMEDFNERNSSETKSHLLSSSDAE
GNYRDSLETLPSTKESDSTQTTTPSASCPESNSVNQVEDMEIETSEVKKVTSSPITSEEE
SNLSNDFIDENGLPINKNENVNGESKRKTVITEVTTMTSTVATESKTVIKVEKGDKQTVV
SSTENCAKSTVTTTTTTVTKLSTPSTGGSVDIISVKEQSKTVVTTTVTDSLTTTGGTLVT
SMTVSKEYSTRDKVKLMKFSRPKKTRSGTALPSYRKFVTKSSKKSIFVLPNDDLKKLARK
GGIREVPYFNYNAKPALDIWPYPSPRPTFGITWRYRLQTVKSLAGVSLMLRLLWASLRWD
DMAAKAPPGGGTTRTETSETEITTTEIIKRRDVGPYGIRSEYCIRKIICPIGVPETPKET
PTPQRKGLRSSALRPKRPETPKQTGPVIIETWVAEEELELWEIRAFAERVEKEKAQAVEQ
QAKKRLEQQKPTVIATSTTSPTSSTTSTISPAQKVMVAPISGSVTTGTKMVLTTKVGSPA
TVTFQQNKNFHQTFATWVKQGQSNSGVVQVQQKVLGIIPSSTGTSQQTFTSFQPRTATVT
IRPNTSGSGGTTSNSQVITGPQIRPGMTVIRTPLQQSTLGKAIIRTPVMVQPGAPQQVMT
QIIRGQPVSTAVSAPNTVSSTPGQKSLTSATSTSNIQSSASQPPRPQQGQVKLTMAQLTQ
LTQGHGGNQGLTVVIQGQGQTTGQLQLIPQGVTVLPGPGQQLMQAAMPNGTVQRFLFTPL
ATTATTASTTTTTVSTTAAGTGEQRQSKLSPQMQVHQDKTLPPAQSSSVGPAEAQPQTAQ
PSAQPQPQTQPQSPAQPEVQTQPEVQTQTTVSSHVPSEAQPTHAQSSKPQVAAQSQPQSN
VQGQSPVRVQSPSQTRIRPSTPSQLSPGQQSQVQTTTSQPIPIQPHTSLQIPSQGQPQSQ
PQVQSSTQTLSSGQTLNQVTVSSPSRPQLQIQQPQPQVIAVPQLQQQVQVLSQIQSQVVA
QIQAQQSGVPQQIKLQLPIQIQQSSAVQTHQIQNVVTVQAASVQEQLQRVQQLRDQQQKK
KQQQIEIKREHTLQASNQSEIIQKQVVMKHNAVIEHLKQKKSMTPAEREENQRMIVCNQV
MKYILDKIDKEEKQAAKKRKREESVEQKRSKQNATKLSALLFKHKEQLRAEILKKRALLD
KDLQIEVQEELKRDLKIKKEKDLMQLAQATAVAAPCPPVTPAPPAPPAPPPSPPPPPAVQ
HTGLLSTPTLPAASQKRKREEEKDSSSKSKKKKMISTTSKETKKDTKLYCICKTPYDESK
FYIGCDRCQNWYHGRCVGILQSEAELIDEYVCPQCQSTEDAMTVLTPLTEKDYEGLKRVL
RSLQAHKMAWPFLEPVDPNDAPDYYGVIKEPMDLATMEERVQRRYYEKLTEFVADMTKIF
DNCRYYNPSDSPFYQCAEVLESFFVQKLKGFKASRSHNNKLQSTAS</content>
      <description />
      <title />
    </items>
  </value>
</json>

then, when retrieved from the database, it would be formated with this XSL:
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>
  <font size="1" face="Verdana">
  <h2>Titulo</h2>
	<table border="1" 
	cellspacing="0"
	cellpadding="5">
      <tr bgcolor="#699C4D">
        <th>Protein name</th>
		<th>gene name</th>
		<th>sequence</th>
      </tr>
      <xsl:for-each select="/json/value/items">
      <tr>
        <td><xsl:value-of select="recommendedName/fullName"/></td>
        <td><xsl:value-of select="name/content"/></td>
		<td><xsl:value-of select="content"/></td>
      </tr>
      </xsl:for-each>
    </table>
  </font>
  </body>
  </html>
</xsl:template>
</xsl:stylesheet>
at this moment, i'm using a php script to this to with the two files, and the result is a messed table, but it's a table!


so, in order to prevent this, i tried to use the same XML and a XSL-FO code to format it:
Code:
<?xml version="1.0" encoding="UTF-8"?>

<xsl:stylesheet version="1.0"
	xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
	xmlns:fo="http://www.w3.org/1999/XSL/Format"
	xmlns:xs="http://www.w3.org/2001/XMLSchema">

	<xsl:template match="/">
		<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
			<html>
				<body>
					<font face="Verdana" size="1">
						<h2>XSL-FO (devia ser FUUUUUUUUU!)</h2>
						<fo:table-and-caption>
							<fo:table border="solid">

								<fo:table-column border="0.5pt solid black" column-width="25mm"></fo:table-column>
								<fo:table-column border="0.5pt solid black" column-width="25mm"></fo:table-column>
								<fo:table-column border="0.5pt solid black" column-width="25mm"></fo:table-column>

								<fo:table-header>
									<fo:table-row>
										<fo:table-cell>
											<fo:block font-weight="bold">Protein name</fo:block>
										</fo:table-cell>
										<fo:table-cell>
											<fo:block font-weight="bold">Gene Name</fo:block>
										</fo:table-cell>
										<fo:table-cell>
											<fo:block font-weight="bold">Sequence</fo:block>
										</fo:table-cell>
									</fo:table-row>
								</fo:table-header>

								<fo:table-body>
									<fo:table-row>
										<!--><xsl:for-each select="/json/value/items"><-->
										<fo:table-cell>
											<fo:block>
												<!--><xsl:value-of select="recommendedName/fullName"/><-->Coluna 1</fo:block>
										</fo:table-cell>
										<fo:table-cell>
											<fo:block>
												<!--><xsl:value-of select="name/content"/><-->Coluna 2</fo:block>
										</fo:table-cell>
										<fo:table-cell>
											<fo:block>
												<!--><xsl:value-of select="content"/><-->Coluna 3</fo:block>
										</fo:table-cell>
										<!--></xsl:for-each><-->
									</fo:table-row>
								</fo:table-body>
							</fo:table>
						</fo:table-and-caption>
					</font>
				</body>
			</html>
		</fo:root>
	</xsl:template>
</xsl:stylesheet>
i have the foreach commented, because i didn't need it to perform any action while the table wasn't working, but i've tested it before and i know it works and that it fetches data from the XML.

when i put it to work in a browser, all i get is this:

no columns! :|

what on earth am i doing wrong? any tips on this last piece of code or how can i improve the simple XSL?

best regards!