ciao a tutti!!
mi serve disperatamente un aiuto...giovedì devo consegnare un progetto per un esame e il prof ci ha spiegato questi linguaggi in 6 ore !!!
Ho consultato diversi manuali ma non sono riuscita a trovare soluzione!
Premetto che siamo vincolati all'uso di php, xml e html (nulla in più).
Il mio file xml (una parte)è il seguente:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" ?>
<registro_prenotazioni>
<prenotazione_privati>
<cognome>Micheli</cognome>
<nome>Stefano</nome>
<nota></nota>
<nazionalita>Italiana</nazionalita>
<indirizzo>Via Napoli</indirizzo>
<civico>45</civico>
<cap>38100</cap>
<citta>Trento</citta>
<provincia>(Tn)</provincia>
<telefono>0461992368</telefono>
<tesserato>si</tesserato><consenso>si</consenso>
<e_mail>rossi@hotmail.com</e_mail>
<data_prenotazione>
<giorno_p>12</giorno_p>
<mese_p>07</mese_p>
<anno_p>2005</anno_p>
</data_prenotazione>
<data_arrivo>
<giorno_a>17</giorno_a>
<mese_a>07</mese_a>
<anno_a>2005</anno_a>
</data_arrivo>
<provenienza>Rifugio Pedrotti</provenienza>
<motivo>Escursionismo</motivo>
<numero_persone>2</numero_persone>
<numero_notti>1</numero_notti>
<numero_stanza>1</numero_stanza>
</prenotazione_privati>
<prenotazione_privati>
<cognome>Hans</cognome>
<nome>Peter</nome>
<nota>guida</nota>
<nazionalita>Tedesca</nazionalita>
<indirizzo>Marien Platz</indirizzo>
<civico>165/A</civico>
<cap>0067</cap>
<citta>Monaco</citta>
<provincia></provincia>
<telefono>0300303030303</telefono>
<tesserato>si</tesserato><consenso>no</consenso>
<e_mail>hans@dav.de</e_mail>
<data_prenotazione>
<giorno_p>12</giorno_p>
<mese_p>06</mese_p>
<anno_p>2004</anno_p>
</data_prenotazione>
<data_arrivo>
<giorno_a>17</giorno_a>
<mese_a>08</mese_a>
<anno_a>2004</anno_a>
</data_arrivo>
<provenienza>Rifugio Alimonta</provenienza>
<motivo>Arrampicata</motivo>
<numero_persone>2</numero_persone>
<numero_notti>3</numero_notti>
<numero_stanza>3</numero_stanza>
</prenotazione_privati>
<prenotazione_gruppi>
<nome_gruppo>Summit</nome_gruppo>
<nota>arriva dopo le ore 18</nota>
<nazionalita>Tedesca</nazionalita>
<indirizzo>Via Trento</indirizzo>
<civico>15</civico>
<cap>36783</cap>
<citta>Innsbruck</citta>
<provincia>(Tn)</provincia>
<telefono>0463432568</telefono>
<e_mail>summit@hotmail.com</e_mail>
<data_prenotazione>
<giorno_p>12</giorno_p>
<mese_p>07</mese_p>
<anno_p>2005</anno_p>
</data_prenotazione>
<data_arrivo>
<giorno_a>17</giorno_a>
<mese_a>07</mese_a>
<anno_a>2005</anno_a>
</data_arrivo>
<provenienza>Rifugio Pedrotti</provenienza>
<motivo>Ferrate</motivo>
<numero_persone>8</numero_persone>
<numero_notti>2</numero_notti>
<stanze>
<prima_stanza>
<numero_prima_stanza>8</numero_prima_stanza>
<pp_prima_stanza>3</pp_prima_stanza>
</prima_stanza>
<seconda_stanza>
<numero_seconda_stanza>2</numero_seconda_stanza>
<pp_seconda_stanza>4</pp_seconda_stanza>
</seconda_stanza>
<terza_stanza>
<numero_terza_stanza>camerone</numero_terza_stanza>
<pp_terza_stanza>1</pp_terza_stanza>
</terza_stanza>
<quarta_stanza>
<numero_quarta_stanza></numero_quarta_stanza>
<pp_quarta_stanza></pp_quarta_stanza>
</quarta_stanza>
<quinta_stanza>
<numero_quinta_stanza></numero_quinta_stanza>
<pp_quinta_stanza></pp_quinta_stanza>
</quinta_stanza>
</stanze>
</prenotazione_gruppi>
</registro_prenotazioni>
I 2 problemi più grossi che ho sono:
1) devo creare un foglio di stile xsl dinamico (ossia in php), in cui confluisce la data inserita dall'utente in apposito form (e fin qui non ci sono problemi; in pratica appaiono solo le preontazioni di una certa giornata)...problema: come filtrare per data in un foglio di stile??????ho fatto numerose prove con l'anno...usando la funzione if, choose.. non mi da errore ma è come se non capisse l'anno; ho provato altri criteri di filtro e funzionano..ma con l'anno niente!!
il mio foglio di stile è il seguente:
<?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">
<xsl:template match="/">
<html>
<head>
<title>Prenotazioni</title>
</head>
<body>
<center><h1>Lista prenotazioni</h1></center>
<table border="2" cellpadding="0" cellspacing="2">
<tbody>
<tr>
<th>ID</th><th>Data prenot.</th><th>Soggetto<br>gruppo</br></th><th>Nazion.</th><th>Indirizzo</th><th>Telefono</th><th>UIAA</th>
<th>E-mail</th><th>Data di arrivo</th><th>Provenienza</th><th>PP</th><th>Notti</th><th>Stanza Nr. (PP)</th><th>Nota</th>
</tr>
<xsl:apply-templates select="registro_prenotazioni/prenotazione_privati"/>
<xsl:apply-templates select="registro_prenotazioni/prenotazione_gruppi"/>
</tbody>
</table>
</body>
</html>
</xsl:template>
<xsl:template match="registro_prenotazioni/prenotazione_privati">
<tr>
<td align="center"><xsl:number value="position()"/></td><td><xsl:value-of select="./data_prenotazione/giorno_p"/><xsl:text>-</xsl:text><xsl:value-of select="./data_prenotazione/mese_p"/><xsl:text>-</xsl:text><xsl:value-of select="./data_prenotazione/anno_p"/></td><td><b><xsl:value-of select="./cognome"/><br></br><xsl:value-of select="./nome"/></b></td>
<td><xsl:value-of select="./nazionalita"/>
</td><td><xsl:value-of select="./indirizzo"/><xsl:text> </xsl:text><xsl:value-of select="./civico"/><xsl:text>, </xsl:text><br></br><xsl:value-of select="./cap"/><xsl:text> </xsl:text><xsl:value-of select="./citta"/><xsl:text> </xsl:text><xsl:value-of select="./provincia"/></td>
<td><xsl:value-of select="./telefono"/></td><td align="center"><xsl:value-of select="./tesserato"/></td><td><xsl:value-of select="./e_mail"/></td>
<td><xsl:value-of select="./data_arrivo/giorno_a"/><xsl:text>-</xsl:text><xsl:value-of select="./data_arrivo/mese_a"/><xsl:text>-</xsl:text><xsl:value-of select="./data_arrivo/anno_a"/>
</td><td><xsl:value-of select="./provenienza"/></td><td align="center"><xsl:value-of select="./numero_persone"/></td><td align="center"><xsl:value-of select="./numero_notti"/></td>
<td align="center"><xsl:value-of select="./numero_stanza"/><xsl:text> (</xsl:text><xsl:value-of select="./numero_persone"/><xsl:text>)</xsl:text></td>
<td><xsl:value-of select="./nota"/></td></tr>
</xsl:template>
<xsl:template match="registro_prenotazioni/prenotazione_gruppi">
<tr bgcolor="lightskyblue">
<td align="center"><xsl:number value="position()"/></td><td><xsl:value-of select="./data_prenotazione/giorno_p"/><xsl:text>-</xsl:text><xsl:value-of select="./data_prenotazione/mese_p"/><xsl:text>-</xsl:text><xsl:value-of select="./data_prenotazione/anno_p"/></td>
<td><b><xsl:value-of select="./nome_gruppo"/></b></td>
<td><xsl:value-of select="./nazionalita"/>
</td><td><xsl:value-of select="./indirizzo"/><xsl:text> </xsl:text><xsl:value-of select="./civico"/><xsl:text>, </xsl:text><br></br><xsl:value-of select="./cap"/><xsl:text> </xsl:text><xsl:value-of select="./citta"/><xsl:text> </xsl:text><xsl:value-of select="./provincia"/></td>
<td><xsl:value-of select="./telefono"/></td><td></td><td><xsl:value-of select="./e_mail"/></td>
<td><xsl:value-of select="./data_arrivo/giorno_a"/><xsl:text>-</xsl:text><xsl:value-of select="./data_arrivo/mese_a"/><xsl:text>-</xsl:text><xsl:value-of select="./data_arrivo/anno_a"/>
</td><td><xsl:value-of select="./provenienza"/></td><td align="center"><xsl:value-of select="./numero_persone"/></td><td align="center"><xsl:value-of select="./numero_notti"/></td>
<td align="center"><xsl:value-of select="./stanze/prima_stanza/numero_prima_stanza"/><xsl:text> (</xsl:text>
<xsl:value-of select="./stanze/prima_stanza/pp_prima_stanza"/><xsl:text>); </xsl:text>
<xsl:value-of select="./stanze/seconda_stanza/numero_seconda_stanza"/><xsl:text> (</xsl:text>
<xsl:value-of select="./stanze/seconda_stanza/pp_seconda_stanza"/><xsl:text>); </xsl:text>
<xsl:value-of select="./stanze/terza_stanza/numero_terza_stanza"/><xsl:text> (</xsl:text>
<xsl:value-of select="./stanze/terza_stanza/pp_terza_stanza"/><xsl:text>); </xsl:text>
<xsl:value-of select="./stanze/quarta_stanza/numero_quarta_stanza"/><xsl:text> (</xsl:text>
<xsl:value-of select="./stanze/quarta_stanza/pp_quarta_stanza"/><xsl:text>); </xsl:text>
<xsl:value-of select="./stanze/quinta_stanza/numero_quinta_stanza"/><xsl:text> (</xsl:text>
<xsl:value-of select="./stanze/quinta_stanza/pp_quinta_stanza"/><xsl:text>); </xsl:text>
</td>
<td><xsl:value-of select="./nota"/></td></tr>
</xsl:template>
</xsl:stylesheet>
2) questo, secondario, perchè ormai ci ho rinunciato...(qualcuno ha uno script php per modificare parte di un file xml? mi spiego: con un form carico i dati della prenotazione, la visualizzo nell'elenco delle prenotazioni e a fianco cliccando su un link mi si apre un form già compilato con i dati della prenotazione, li modifico, salvo e si sovrascrive alla vecchia prenotazione)
sono conscia che le domande che ho fatto sono belle pesanti...se c'è qualcuno che mastica bene questi linguaggi ed è disposto ad aiutarmi (soprattutto per quanto riguarda il primo quesito)....grazie!!