Subject: [xsl] HTML and XSLT From: "ivanmacculi\@libero\.it" <ivanmacculi@xxxxxxxxx> Date: Sat, 25 Jun 2011 21:47:42 +0200 |
Hi, i have one table in HTML format and my purpose is to trasform it into another changing the layout of its values. The table is formed by two columns: the first one contains some values that specify the content of the second one: <tr> <td class="label">Author:</td> <td>Advogarius, Petrus Bonus</td> </tr> <tr> <td class="label">Title:</td> <td>Judicium anni 1477 [Italian]. Tr: Antonio Cornazzano</td> </tr> There are a lot of Authors and Titles in the table, so the values "Author" and "Title" are repeated a lot of time. i would like to re-organize the table having one column for each kind of value, specifying its content in the head: <tr> <td><b>Author</b></td> <td><b>Title</b></td> </tr> <tr> <td>Advogarius, Petrus Bonus</td> <td>Judicium anni 1477 [Italian]. Tr: Antonio Cornazzano</td> </tr> ..but i've encountered a lot of problem doing it. So could you help me please? this is the complete HTML: --------------- HTML -------------- <?xml version="1.0" encoding="UTF-8"?> <head> <title>British Library - Incunabula Short Title Catalogue</title> </head> <body rightmargin="0" class="backgroundwhite"> <h1 class="greyscale">ISTC Records</h1> <table cellpadding="5"><tr><td class="label">Author:</td><td>Advogarius, Petrus Bonus</td></tr><tr><td class="label">Title:</td><td>Judicium anni 1477 [Italian]. Tr: Antonio Cornazzano</td></tr><tr><td class="label">Imprint:</td><td>[Ferrara: Severinus Ferrariensis, after 27 Feb. 1477] <br/></td></tr><tr><td class="label">Format:</td><td>80</td></tr><tr><td class="label">ISTC No.:</td><td>ia00057080</td></tr><tr><td class="label">References:</td><td><div style="display: block" id="abbrRefs">IGI 1133; GW 232 (& Accurti(1930) p.103)</div></td></tr><tr><td class="label">Reproductions:</td><td>Microfiche: Primary Source Microfilm (an imprint of Cengage Learning), 2000. Incunabula: the Printing Revolution in Europe 1455-1500. Unit 41 - Science Part I, SCI 6<br/></td></tr><tr><td class="label">Locations:</td><td/></tr><tr><td align="right" class="subheader">Italy:</td><td>Bologna U</td></tr></table> <br/> <table cellpadding="5"><tr><td class="label">Author:</td><td>Advogarius, Petrus Bonus</td></tr><tr><td class="label">Title:</td><td>Prognosticon astrologicum anni 1492 [Italian]</td></tr><tr><td class="label">Imprint:</td><td>[Florence: Lorenzo Morgiani and Johannes Petri, after 21 Sept. 1491] <br/></td></tr><tr><td class="label">Format:</td><td>40</td></tr><tr><td class="label">ISTC No.:</td><td>ia00057086</td></tr><tr><td class="label">References:</td><td><div style="display: block" id="abbrRefs">Klebs 138.6; IBE 36; GW 237</div></td></tr><tr><td class="label">Locations:</td><td/></tr><tr><td align="right" class="subheader">Spain/Portugal:</td><td>Sevilla Colombina</td></tr></table> <br/> <table cellpadding="5"><tr><td class="label">Author:</td><td>Advogarius, Petrus Bonus</td></tr><tr><td class="label">Title:</td><td>Prognosticon astrologicum anni 1493 [Italian]</td></tr><tr><td class="label">Imprint:</td><td>[Bologna: Ugo Rugerius, after 22 Jan. 1493] <br/></td></tr><tr><td class="label">Format:</td><td>40</td></tr><tr><td class="label">ISTC No.:</td><td>ia00057088</td></tr><tr><td class="label">References:</td><td><div style="display: block" id="abbrRefs">Klebs 138.7; IBE 38; GW 240</div></td></tr><tr><td class="label">Locations:</td><td/></tr><tr><td align="right" class="subheader">Spain/Portugal:</td><td>Sevilla Colombina</td></tr></table> <br/> <table cellpadding="5"><tr><td class="label">Author:</td><td>Advogarius, Petrus Bonus</td></tr><tr><td class="label">Title:</td><td>Prognosticon astrologicum anni 1494 [Italian]</td></tr><tr><td class="label">Imprint:</td><td>Venice: [Johannes Tacuinus, de Tridino?], for Antonio Lauro Palazzo, [after 1 Jan. 1494] <br/></td></tr><tr><td class="label">Format:</td><td>40</td></tr><tr><td class="label">ISTC No.:</td><td>ia00057097</td></tr><tr><td class="label">References:</td><td><div style="display: block" id="abbrRefs">Klebs 158.12; IBE 40; GW 243</div></td></tr><tr><td class="label">Locations:</td><td/></tr><tr><td align="right" class="subheader">Spain/Portugal:</td><td>Sevilla Colombina</td></tr></table> <br/> <table cellpadding="5"><tr><td class="label">Author:</td><td>Advogarius, Petrus Bonus</td></tr><tr><td class="label">Title:</td><td>Prognosticon astrologicum anni 1495 [Italian]</td></tr><tr><td class="label">Imprint:</td><td>[Venice: Christophorus de Pensis, de Mandello, 1494-95] <br/></td></tr><tr><td class="label">Format:</td><td>40</td></tr><tr><td class="label">ISTC No.:</td><td>ia00057300</td></tr><tr><td class="label">References:</td><td><div style="display: block" id="abbrRefs">IGI 1134; IBE 41; GW 245 (& Accurti(1930) p.104)</div></td></tr><tr><td class="label">Locations:</td><td/></tr><tr><td align="right" class="subheader">Italy:</td><td>Bologna U</td></tr><tr><td align="right" class="subheader">Spain/Portugal:</td><td>Sevilla Colombina</td></tr></table> <br/> <table cellpadding="5"><tr><td class="label">Author:</td><td>Advogarius, Petrus Bonus</td></tr><tr><td class="label">Title:</td><td>Prognosticon astrologicum anni 1496 [Italian]</td></tr><tr><td class="label">Imprint:</td><td>Bologna: Justinianus de Ruberia, [1495-96] <br/></td></tr><tr><td class="label">Format:</td><td>40</td></tr><tr><td class="label">ISTC No.:</td><td>ia00057400</td></tr><tr><td class="label">References:</td><td><div style="display: block" id="abbrRefs">R 1430; IGI 1135; IBE 42; GW 247 (+ Accurti(1936) p.50)</div></td></tr><tr><td class="label">Locations:</td><td/></tr><tr><td align="right" class="subheader">Italy:</td><td>Genova C</td></tr><tr><td align="right" class="subheader">Spain/Portugal:</td><td>Sevilla Colombina</td></tr></table> <br/> <table cellpadding="5"><tr><td class="label">Author:</td><td>Advogarius, Petrus Bonus</td></tr><tr><td class="label">Title:</td><td>Prognosticatio de anno 1496 [Italian]</td></tr><tr><td class="label">Imprint:</td><td>[Florence: Lorenzo Morgiani and Johannes Petri, about 1495-96] <br/></td></tr><tr><td class="label">Format:</td><td>40</td></tr><tr><td class="label">ISTC No.:</td><td>ia00057440</td></tr><tr><td class="label">References:</td><td><div style="display: block" id="abbrRefs">C 2278; Krist 332; Pr 6360; BMC VI 683; GW 248</div></td></tr><tr><td class="label">Reproductions:</td><td>Microfiche: Primary Source Microfilm (an imprint of Cengage Learning), 2001 & 2010. Incunabula: the Printing Revolution in Europe 1455-1500. Unit 44 - Science Part IV, SCI 309; Unit 89 - Printing in Florence Part IV, FL 326<br/></td></tr><tr><td class="label">Locations:</td><td/></tr><tr><td align="right" class="subheader">British Isles:</td><td>London, British Library (IA.27808)</td></tr></table> <br/> <table cellpadding="5"><tr><td class="label">Author:</td><td>Advogarius, Petrus Bonus</td></tr><tr><td class="label">Title:</td><td>Prognosticatio de anno 1497 [Italian]</td></tr><tr><td class="label">Imprint:</td><td>[Florence: Lorenzo Morgiani and Johannes Petri, about 1496-97] <br/></td></tr><tr><td class="label">Format:</td><td>40</td></tr><tr><td class="label">ISTC No.:</td><td>ia00057460</td></tr><tr><td class="label">References:</td><td><div style="display: block" id="abbrRefs">C 2280; Krist 333; Pr 6368; BMC VI 685; GW 249</div></td></tr><tr><td class="label">Reproductions:</td><td>Microfiche: Primary Source Microfilm (an imprint of Cengage Learning), 2006. Incunabula: the Printing Revolution in Europe 1455-1500. Unit 72 - Printing in Florence Part II, FL 89<br/></td></tr><tr><td class="label">Locations:</td><td/></tr><tr><td align="right" class="subheader">British Isles:</td><td>London, British Library (IA.27832)</td></tr></table> <br/> <table cellpadding="5"><tr><td class="label">Author:</td><td>Advogarius, Petrus Bonus</td></tr><tr><td class="label">Title:</td><td>Prognosticon astrologicum anni 1497 [Italian]</td></tr><tr><td class="label">Imprint:</td><td>[Milan: Uldericus Scinzenzeler, 1496-97] <br/></td></tr><tr><td class="label">Format:</td><td>40</td></tr><tr><td class="label">ISTC No.:</td><td>ia00057500</td></tr><tr><td class="label">References:</td><td><div style="display: block" id="abbrRefs">R 1663; IGI 1136; GW 250</div></td></tr><tr><td class="label">Locations:</td><td/></tr><tr><td align="right" class="subheader">Italy:</td><td>Bologna U; Milano Triv</td></tr></table> <br/> <table cellpadding="5"><tr><td class="label">Author:</td><td>Advogarius, Petrus Bonus</td></tr><tr><td class="label">Title:</td><td>Prognosticon astrologicum anni 1498 [Italian]</td></tr><tr><td class="label">Imprint:</td><td>[Ferrara: Laurentius de Rubeis, de Valentia, after 1 Mar. 1498] <br/></td></tr><tr><td class="label">Format:</td><td>40</td></tr><tr><td class="label">ISTC No.:</td><td>ia00057600</td></tr><tr><td class="label">References:</td><td><div style="display: block" id="abbrRefs">IGI 1137; GW 253 (& Accurti(1930) p.104)</div></td></tr><tr><td class="label">Locations:</td><td/></tr><tr><td align="right" class="subheader">Italy:</td><td>Bologna U</td></tr></table> <br/> <table cellpadding="5"><tr><td class="label">Author:</td><td>Advogarius, Petrus Bonus</td></tr><tr><td class="label">Title:</td><td>Prognosticon astrologicum anni 1498/99 [Italian]</td></tr><tr><td class="label">Imprint:</td><td>[Bologna: Andrea de Bellacorda, after 1 Mar. 1498] <br/></td></tr><tr><td class="label">Format:</td><td>40</td></tr><tr><td class="label">ISTC No.:</td><td>ia00057620</td></tr><tr><td class="label">References:</td><td><div style="display: block" id="abbrRefs">Klebs 138.23; IBE 44; GW 254</div></td></tr><tr><td class="label">Locations:</td><td/></tr><tr><td align="right" class="subheader">Spain/Portugal:</td><td>Sevilla Colombina</td></tr></table> <br/> <table cellpadding="5"><tr><td class="label">Author:</td><td>Advogarius, Petrus Bonus</td></tr><tr><td class="label">Title:</td><td>Prognosticon astrologicum anni 1499 [Italian]</td></tr><tr><td class="label">Imprint:</td><td>'Ferrara' [i.e. Bologna: Justinianus de Ruberia, 1498-99] <br/></td></tr><tr><td class="label">Format:</td><td>40</td></tr><tr><td class="label">ISTC No.:</td><td>ia00057630</td></tr><tr><td class="label">References:</td><td><div style="display: block" id="abbrRefs">Klebs 138.24; IBE 45; GW 256</div></td></tr><tr><td class="label">Locations:</td><td/></tr><tr><td align="right" class="subheader">Spain/Portugal:</td><td>Sevilla Colombina</td></tr></table> <br/> <table cellpadding="5"><tr><td class="label">Author:</td><td>Advogarius, Petrus Bonus</td></tr><tr><td class="label">Title:</td><td>Prognosticon astrologicum anni 1500 [Italian]</td></tr><tr><td class="label">Imprint:</td><td>[Ferrara: Laurentius de Rubeis, de Valentia, after 1 Jan. 1500] <br/></td></tr><tr><td class="label">Format:</td><td>40</td></tr><tr><td class="label">ISTC No.:</td><td>ia00057740</td></tr><tr><td class="label">References:</td><td><div style="display: block" id="abbrRefs">Klebs 138.27; IBE 47; GW 258</div></td></tr><tr><td class="label">Locations:</td><td/></tr><tr><td align="right" class="subheader">Spain/Portugal:</td><td>Sevilla Colombina</td></tr></table> <br/> <table cellpadding="5"><tr><td class="label">Author:</td><td>Advogarius, Petrus Bonus</td></tr><tr><td class="label">Title:</td><td>Prognosticon astrologicum anni 1501 [Italian]</td></tr><tr><td class="label">Imprint:</td><td>[Perugia: Damianus de Mediolano, de Gorgonzola, after 15 Dec. 1500] <br/></td></tr><tr><td class="label">Format:</td><td>40</td></tr><tr><td class="label">ISTC No.:</td><td>ia00057800</td></tr><tr><td class="label">References:</td><td><div style="display: block" id="abbrRefs">Accurti(1930) 18; GW 0025910N</div></td></tr><tr><td class="label">Locations:</td><td/></tr><tr><td align="right" class="subheader">Italy:</td><td>Vaticano BAV</td></tr></table> <br/> <table cellpadding="5"><tr><td class="label">Author:</td><td>Advogarius, Petrus Bonus</td></tr><tr><td class="label">Title:</td><td>Prognosticon astrologicum anni 1501 [Italian]</td></tr><tr><td class="label">Imprint:</td><td>[Ferrara: Laurentius de Rubeis, de Valentia, after 15 Dec. 1500] <br/></td></tr><tr><td class="label">Format:</td><td>40</td></tr><tr><td class="label">ISTC No.:</td><td>ia00057810</td></tr><tr><td class="label">References:</td><td><div style="display: block" id="abbrRefs">Klebs 138.28; IBE 48; GW 259</div></td></tr><tr><td class="label">Locations:</td><td/></tr><tr><td align="right" class="subheader">Spain/Portugal:</td><td>Sevilla Colombina</td></tr></table> <br/> <table cellpadding="5"><tr><td class="label">Author:</td><td>Aegidius de Assisio</td></tr><tr><td class="label">Title:</td><td>Aurea verba [Italian] Add: Aurelius Augustinus: Sermone del vivere religiosamente</td></tr><tr><td class="label">Imprint:</td><td>[Florence: Lorenzo Morgiani and Johannes Petri, about 1493] <br/></td></tr><tr><td class="label">Format:</td><td>40</td></tr><tr><td class="label">ISTC No.:</td><td>ia00063000</td></tr><tr><td class="label">References:</td><td><div style="display: block" id="abbrRefs">Goff A63; HR 104; Sander 48; Pell 65; CIBN A-32; IGI VI 54-A; Walsh 3000; GW 266</div></td></tr><tr><td class="label">Reproductions:</td><td>Microfiche: Primary Source Microfilm (an imprint of Cengage Learning), 2010. Incunabula: the Printing Revolution in Europe 1455-1500. Unit 89 - Printing in Florence Part IV, FL 327<br/></td></tr><tr><td class="label">Locations:</td><td/></tr><tr><td align="right" class="subheader">British Isles:</td><td>Cambridge UL (acquisition 1962, ULC 2424.5, not in Oates)</td></tr><tr><td align="right" class="subheader">France:</td><td>Paris BN</td></tr><tr><td align="right" class="subheader">Germany:</td><td>Hamburg Kunsthalle</td></tr><tr><td align="right" class="subheader">Italy:</td><td>Firenze N (2); Firenze Ricc; Genova U; Pisa Arciv; Roma Cors (51.A.52); Rovereto C; Venezia Fond Cini; Vaticano BAV</td></tr><tr><td align="right" class="subheader">U.S.A:</td><td>Baltimore MD, Walters Art Gallery; Cambridge MA, Harvard College Library, Houghton Library; New York NY, Metropolitan Museum of Art, Department of Prints; New York NY, Pierpont Morgan Library; San Marino CA, The Huntington Library; Washington DC, Library of Congress, Lessing J. Rosenwald Collection</td></tr></table> <br/> <table cellpadding="5"><tr><td class="label">Author:</td><td>Aegidius Delphus</td></tr><tr><td class="label">Title:</td><td>Psalmi poenitentiales (ottava rima) [Italian]</td></tr><tr><td class="label">Imprint:</td><td>[Milan]: Johannes Jacobus Risius, 11 Nov. 1493 <br/></td></tr><tr><td class="label">Format:</td><td>80</td></tr><tr><td class="label">ISTC No.:</td><td>ia00096490</td></tr><tr><td class="label">References:</td><td><div style="display: block" id="abbrRefs">IBE 55; Sander 5935; Santoro 20; GW 0027320N</div></td></tr><tr><td class="label">Locations:</td><td/></tr><tr><td align="right" class="subheader">Spain/Portugal:</td><td>Sevilla Colombina</td></tr></table> <br/> <table cellpadding="5"><tr><td class="label">Author:</td><td>Aesopus</td></tr><tr><td class="label">Title:</td><td>Fabulae [Italian] (Tr: Facius Caffarellus)</td></tr><tr><td class="label">Imprint:</td><td>Cosenza: Octavianus Salamonius, [about 1478] <br/></td></tr><tr><td class="label">Format:</td><td>40</td></tr><tr><td class="label">ISTC No.:</td><td>ia00109500</td></tr><tr><td class="label">References:</td><td><div style="display: block" id="abbrRefs">HR 346; IGI 83; Accurti(1930) p. 105; GW 346</div></td></tr><tr><td class="label">Locations:</td><td/></tr><tr><td align="right" class="subheader">Italy:</td><td>Roma Cors (51.A.19.4)</td></tr></table> <br/> <table cellpadding="5"><tr><td class="label">Author:</td><td>Aesopus</td></tr><tr><td class="label">Title:</td><td>Vita Aesopi [Latin and Italian]</td></tr><tr><td class="label">Imprint:</td><td>Venice: Manfredus de Bonellis, de Monteferrato, 27 Mar. 1492 <br/></td></tr><tr><td class="label">Format:</td><td>40</td></tr><tr><td class="label">ISTC No.:</td><td>ia00110000</td></tr><tr><td class="label">References:</td><td><div style="display: block" id="abbrRefs">Goff A110; HR 354; IGI VI 115-A; Essling 611; Sander 61; Voull(B) 4378; Schdfer 5; Mittler-Kind 67; Walsh 2481; Bod-inc A-069; Sheppard 4422; Pr 5360; GW 445</div></td></tr><tr><td class="label">Reproductions:</td><td>Microfiche: Primary Source Microfilm (an imprint of Cengage Learning), 2006. Incunabula: the Printing Revolution in Europe 1455-1500. Unit 76 - Printing in Venice Part I, VE 1<br/>IISTC. Copy: Roma Cas, Vol. Inc. 1740<br/></td></tr><tr><td class="label">Notes:</td><td> After the version of Rinucius; Latin and Italian by Francesco del Tuppo <br/></td></tr><tr><td class="label">Locations:</td><td/></tr><tr><td align="right" class="subheader">British Isles:</td><td>Oxford Bodley</td></tr><tr><td align="right" class="subheader">Germany:</td><td>Berlin KupferstichKab; Gvttingen SUB</td></tr><tr><td align="right" class="subheader">Italy:</td><td>Modena Est; Perugia C; Reggio Emilia C (imperfect); Roma Cas; Roma Cors (51.E.55); Siena C; Treviso C; Venezia N; Vaticano BAV</td></tr><tr><td align="right" class="subheader">Austria:</td><td>Wien, VNB (Ink 4.H.36)</td></tr><tr><td align="right" class="subheader">U.S.A:</td><td>Cambridge MA, Harvard College Library, Houghton Library (-); New York NY, J. Onderwyzer; New York NY, Metropolitan Museum of Art, Department of Prints; San Marino CA, The Huntington Library</td></tr></table> <br/> <table cellpadding="5"><tr><td class="label">Author:</td><td>Aesopus</td></tr><tr><td class="label">Title:</td><td>Vita Aesopi [Latin and Italian]</td></tr><tr><td class="label">Imprint:</td><td>Venice: Manfredus de Bonellis, de Monteferrato, 8 Nov. 1493 <br/></td></tr><tr><td class="label">Format:</td><td>40</td></tr><tr><td class="label">ISTC No.:</td><td>ia00111000</td></tr><tr><td class="label">References:</td><td><div style="display: block" id="abbrRefs">Goff A111; [not H]C 350; R 800; Pell 228; IGI VI 115-B; Essling 612; Sander 64; Bod-inc A-070; Sheppard 4425; Pr 5362; BMC V 504; GW 446</div></td></tr><tr><td class="label">Notes:</td><td> After the version of Rinucius; Latin and Italian by Francesco del Tuppo <br/></td></tr><tr><td class="label">Locations:</td><td/></tr><tr><td align="right" class="subheader">British Isles:</td><td>London, British Library (G.7735 = IA.23809); Oxford Bodley</td></tr><tr><td align="right" class="subheader">Italy:</td><td>Napoli N; Napoli U; Roma Cas; Torino Reale; Venezia Fond Cini</td></tr><tr><td align="right" class="subheader">U.S.A:</td><td>Boston MA, Boston Public Library; New Haven CT, Yale Univ., Beinecke Library</td></tr></table> </body> ---------------- END ------------- ...and this one is the first part of my XSLT: I 've some problems to indent HTML code into XSLT and to leave white cells when the value is blank, that is necessary to align values referred to the same contest. <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="html"> <html> <hr/> <table cellpadding="2" cellspacing="2"> <tr> <td><b>Author</b></td> <td><b>Title</b></td> <td><b>Imprint</b></td> <td><b>Format</b></td> <td><b>ISTC No.:</b></td> <td><b>References:</b></td> <td><b>Reproductions:</b></td> <td><b>Locations:</b></td> </tr> <xsl:apply-templates select="table/tr"/> </table> </html> </xsl:template> <xsl:template match="table/tr"> <tr bgcolor="#f3f3f3"> <xsl:if test="td[@class] = 'Author:'"> <td> <xsl:value-of select="td/following-sibling::td"/> </td> </xsl:if> <xsl:if test="td[@class] = 'Title:'"> <td> <xsl:value-of select="td/following-sibling::td"/> </td> </xsl:if> </tr> ... </xsl:template> </xsl:stylesheet> I've passed one week to do that and the result has discouraged me. thank you so much. Ivan
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Late Breaking News added to B, Tommie Usdin | Thread | [xsl] Improving memory usage when p, Øyvind Gjesdal |
[xsl] Late Breaking News added to B, Tommie Usdin | Date | Re: [xsl] NLM Book-XML to PDF using, Wendell Piez |
Month |