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:
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!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>
so, in order to prevent this, i tried to use the same XML and a XSL-FO code to format it:
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.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>
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!![]()





Reply With Quote
Bookmarks