Homepage  Il progetto dsy.it è l'unofficial support site dei corsi di laurea del Dipartimento di Scienze dell'Informazione e del Dipartimento di Informatica e Comunicazione della Statale di Milano. E' un servizio degli studenti per gli studenti, curato in modo no-profit da un gruppo di essi. I nostri servizi comprendono aree di discussione per ogni Corso di Laurea, un'area download per lo scambio file, una raccolta di link e un motore di ricerca, il supporto agli studenti lavoratori, il forum hosting per Professori e studenti, i blog, e molto altro...
In questa sezione è indicizzato in textonly il contenuto del nostro forum


.dsy:it. .dsy:it. Archive > Community > Tech
 
[XML/XSL] creare una TABLE da un elenco XML
Clicca QUI per vedere il messaggio nel forum
0m4r
sto cercando di creare una tabella da un file XML strutturato più o meno cosi

code:
<root> <node> <pippo>bla bla</pippo> <pluto>bla bla</pluto> </node> <node> <pippo>bla bla</pippo> <pluto>bla bla</pluto> </node> <node> <pippo>bla bla</pippo> <pluto>bla bla</pluto> </node> <node> <pippo>bla bla</pippo> <pluto>bla bla</pluto> </node> ... </root>


ora, attraverso un XSL vorri creare una tabella con "n" celle su ogni riga, ma non so come contare le celle che posiziono sulla stessa righa e nemmeno come poi andare a capo... qualcuno ha un'idea?

fabpicca
una cosa di questo tipo:



code:
<xsl:template match="/"> <xsl:foreach select="node"> <tr><xsl:value-of select="./pippo"/><td>/td><td><xsl:value-of select="./pluto"/></td> </xsl:foreach> <xsl:template>




sinceramente non ne sono molto convinto e siopratutto non sto guardando la documentazione, comunque è una roba simile.

0m4r
in questo modo però, ammesso che funzioni, non potrei variare "dinamicamente" il numero di celle per riga....

fabpicca
Originally posted by 0m4r
in questo modo però, ammesso che funzioni, non potrei variare "dinamicamente" il numero di celle per riga....



il foreach che vedi all'inizio conta tutti i nodi di tipo node.
se vuoi variare i campi della tabella allora aggiungi questo:

code:
<xsl:foreach select="./*"> <td><xsl:valueof select="."></td> </xsl:foreach>


in questo modo vari anche il numero di campi.


./* è l'espressione che identifica tutti i figli del nodo padre.

0m4r
scusa ma credo di non avere capito
puoi esemplificarmi, parlando con i numeri, come faccio a fare una riga di 3 celle?

Powered by: vbHome (lite) v4.1 and vBulletin v2.3.1 - Copyright ©2000 - 2002, Jelsoft Enterprises Limited
Mantained by dsy crew (email) | Collabora con noi | Segnalaci un bug | Archive | Regolamento |Licenze | Thanks | Syndacate