Forum by laureateci.it
[ Home | REGOLE FORUM | Tutti i blog | Profilo | Registrati | CHAT | Discussioni Attive | Discussioni Recenti | Segnalibro | Msg privati | Sondaggi Attivi | Utenti | Download Informatica | Download ICD | Download TPS | Download Magistrale | Download Specialistica | Giochi | Cerca nel web | cerca | faq | RSS ]
Nome Utente:
Password:
Salva Password
Password Dimenticata?

 Tutti i Forum
 ITPS - Secondo Anno
 Programmazione per il Web + Lab.
 esercizio xslt
 Nuova Discussione  Nuovo Sondaggio Nuovo Sondaggio
 Rispondi
 Versione Stampabile Bookmark this Topic Aggiungi Segnalibro
I seguenti utenti stanno leggendo questo Forum Qui c'è:
Autore Discussione Precedente Discussione Discussione Successiva  

cohiba86
Nuovo Utente



Inserito il - 12/09/2009 : 14:08:52  Mostra Profilo  Visita l'Homepage di cohiba86  Clicca per vedere l'indirizzo MSN di cohiba86 Invia a cohiba86 un Messaggio Privato  Rispondi Quotando
ragazzi,qualcuno saprebbe risolvere questo esercizio?

-REALIZZARE MEDIANTTE TRASFORMAZIONE XSLT(cognomenome.xsl) UN DOCUMENTO XHTML( cognomenome.htm) A PARTIRE DALLA RISORSA studenti.xml,DI SEGUITO PRESENTATA, CHE VISUALIZZI:
1)PER OGNI STUDENTE IL PRIMO RISULTATO PRESENTE IN RISULTATI.
2)L'ELENCO DI TUTTI GLI STUDENTI CHE ANNOVERANO COME DISCIPLINA UN ARGOMENTO CHE CONTENGA LA PAROLA CHIAVE XML.
3)TUTTI GLI STUDENTI CHE ABBIANO ALMENO UN RISULTATO.
4)L'ELENCO DI TUTTI GLI STUDENTI CON IL VALORE DI ETA MAGGIORE O UGUALE A 20.


DOCUMENTO ISTANZA studenti.xml

<studenti>
<studente id="100026">
<nome>...</nome>
<eta>21</eta>
<disciplina>biologia</disciplina>
<risultati>
<risultato corso="Matematica 1" voto="C"/>
<risultato corso="Matematica 2" voto="D"/>
</risultati>
</studente>
</studenti>

(di studente ne ho inserito solo uno,ma ce ne sarebbero altri)


Potreste darmi una mano gentilmente.
GRAZIE INFINITE

Modificato da - cohiba86 in Data 12/09/2009 14:10:10

ciccio007
Utente medio

donciccio



Inserito il - 12/09/2009 : 17:45:34  Mostra Profilo  Visita l'Homepage di ciccio007 Invia a ciccio007 un Messaggio Privato  Rispondi Quotando
Ecco qua:

<?xml version="1.0" encoding="UTF-8"?>

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.1">
<xsl:template match="/">
<html>
<head>
<title>Esercizio 3 - Appello 3</title>
</head>
<body>
Punto 1: I primi risultati di ogni studente sono: <ul>
<xsl:for-each select="/studenti/studente">
<li><xsl:value-of select="risultati[1]/risultato/@corso"/></li>
</xsl:for-each>
</ul>
Punto 2: Gli studente che contengono una disciplina con la parola XML sono: <ul>
<xsl:for-each select="/studenti/studente/disciplina">
<xsl:if test="contains(., 'XML')">
<li><xsl:value-of select="../nome"/></li>
</xsl:if>
</xsl:for-each>
</ul>
Punto 3: Gli studenti che hanno ottenuto almeno un risultato sono:<ul>
<xsl:for-each select="/studenti/studente/risultati">
<xsl:if test="count(risultato) >=1">
<li><xsl:value-of select="../nome"/></li>
</xsl:if>
</xsl:for-each>
</ul>
Punto 4: Gli studenti con eta' maggiore o uguale a 20:<ul>
<xsl:for-each select="/studenti/studente">
<xsl:if test="eta >= 20">
<li><xsl:value-of select="nome"/></li>
</xsl:if>
</xsl:for-each>
</ul>
</body>
</html>
</xsl:template>

</xsl:stylesheet>
Torna all'inizio della Pagina

cohiba86
Nuovo Utente



Inserito il - 14/09/2009 : 09:31:06  Mostra Profilo  Visita l'Homepage di cohiba86  Clicca per vedere l'indirizzo MSN di cohiba86 Invia a cohiba86 un Messaggio Privato  Rispondi Quotando
grazie mille,sei stato gentilissimo
Torna all'inizio della Pagina

geipi
Utente medio

xdd


Regione: Puglia
Prov.: Taranto
Città: Massafra


Inserito il - 14/09/2009 : 11:24:16  Mostra Profilo  Visita l'Homepage di geipi Invia a geipi un Messaggio Privato  Rispondi Quotando
Ragazzi, qualcuno di voi ha fatto l'esame il 9 settembre?
Se si, gentilmente mi potete dire gli esercizi che stavano?
Grazie!!!
Torna all'inizio della Pagina

peppe6387_g
Utente medio



Inserito il - 16/09/2009 : 11:27:08  Mostra Profilo  Visita l'Homepage di peppe6387_g Invia a peppe6387_g un Messaggio Privato  Rispondi Quotando
Mi potreste spiegare una semplicissima cosa?
Ho creato il seguente file xsl (terra.xsl):

<?xml version="1.0" encoding="UTF-8"?>

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.1">
<xsl:template match="/">
<html>
<head>
<title>Esercizio</title>
</head>
<body>

Montagne più alte di 5500m<ul>
<xsl:for-each select="/terra/mountain">
<xsl:if test="height >= 5500">
<li><xsl:value-of select="name"/></li>
<li><xsl:value-of select="count(terre/mountain)"/></li>
</xsl:if>
</xsl:for-each>
</ul>
</body>
</html>
</xsl:template>

</xsl:stylesheet>

che preleva dal seguente file terra.xml

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="file:///C:/Documents%20and%20Settings/Giuseppe%20Matera/Desktop/terra.xsl"?>
<terra>
<mountain id='mount-Meru'
name='Meru'
longitude='6.8'
latitude='-3.2'
height='4567'>
<located country_code='EAT' province_id='EAT'/>
</mountain>
</terra>
.....
.....
La domanda è questa: Perchè dopo la trasformazione con exc le montagne superiori di 5500 non mi vengono visualizzate?, dove ho sbagliato?
Un' altra piccola cosa, per contare voglio usare count(ns), ma anche quello mi da problemi.

Ringrazio infinitamente chi mi sa dare una risposta
Torna all'inizio della Pagina

ciccio007
Utente medio

donciccio



Inserito il - 16/09/2009 : 12:11:54  Mostra Profilo  Visita l'Homepage di ciccio007 Invia a ciccio007 un Messaggio Privato  Rispondi Quotando
Dal file xml che hai postato,e dall'assenza di tag in presenza di latitude,height e vari,presumo che quelli siano attributi quindi devi lavorare sugli attributi.
Poi non ho capito perchè hai fatto <li><xsl:value-of select="count(terre/mountain)"/></li>,cioè non esiste il path terre/mountain soprattutto perchè dopo mountain ci sono solo attributi e non elementi annidati come "terre" (e semanticamente avrebbe poco senso).
Quindi devi rivedere un po' tutto da capo.


ps. per accedere ad un attributo devi fare path/@attributo
Torna all'inizio della Pagina

peppe6387_g
Utente medio



Inserito il - 16/09/2009 : 12:25:57  Mostra Profilo  Visita l'Homepage di peppe6387_g Invia a peppe6387_g un Messaggio Privato  Rispondi Quotando
Quella del count era una prova fatta più di disperazione che di logica.
Invece non ho capito bene come riuscire a prelevare l'attributo name delle montagne con height > di 5500.
Ho fatto questa prova ma non funziona:

<xsl:for-each select="/terra/mountain/name[@height>5500]">
Torna all'inizio della Pagina

Mk178
Moderatore ITPS

mk


Regione: Puglia
Prov.: Bari


Inserito il - 16/09/2009 : 12:39:09  Mostra Profilo  Visita l'Homepage di Mk178 Invia a Mk178 un Messaggio Privato  Rispondi Quotando
Citazione:
Messaggio inserito da peppe6387_g

Quella del count era una prova fatta più di disperazione che di logica.
Invece non ho capito bene come riuscire a prelevare l'attributo name delle montagne con height > di 5500.
Ho fatto questa prova ma non funziona:

<xsl:for-each select="/terra/mountain/name[@height>5500]">


scusa, se hai detto ke name è un attributo, non dovrebbe essere così:
<xsl:for-each select="/terra/mountain/@name[@height>5500]">

se non và, prova anke così:

<xsl:for-each select="/terra/mountain/@name[./@height>5500]">

e così:

<xsl:for-each select="/terra/mountain/@name[../@height>5500]">

PER ESSERE SEMPRE AGGIORNATI
Sottoscriviti alla discussione ITPS/Generale/INFORMAZIONI
(NON postate in questo topic le vostre richieste)
Oppure Iscriviti al gruppo su Facebook Informatica T.P.S. Bari

EX-Rappresentante LINK - udu
: C. Facoltà di Scienze MM.FF.NN. & C. Corso di Laurea di Informatica TPS
Torna all'inizio della Pagina

peppe6387_g
Utente medio



Inserito il - 16/09/2009 : 13:00:40  Mostra Profilo  Visita l'Homepage di peppe6387_g Invia a peppe6387_g un Messaggio Privato  Rispondi Quotando
Sto impazzendo nn va con nessuno dei 3.
Se non vi do tanto disturbo, potreste postarmi la soluzione, così magari posso controllare dove effettivamente sbaglio, e capire finalmente come ci si comporta con gli attributi, visto che le slide del prof sono, forse troppo, sintetiche.
Vi ringrazio infinitamente.
Torna all'inizio della Pagina

ciccio007
Utente medio

donciccio



Inserito il - 16/09/2009 : 16:35:46  Mostra Profilo  Visita l'Homepage di ciccio007 Invia a ciccio007 un Messaggio Privato  Rispondi Quotando
Citazione:
Messaggio inserito da peppe6387_g

Quella del count era una prova fatta più di disperazione che di logica.
Invece non ho capito bene come riuscire a prelevare l'attributo name delle montagne con height > di 5500.
Ho fatto questa prova ma non funziona:

<xsl:for-each select="/terra/mountain/name[@height>5500]">



Con questa prova non funziona perchè name lo richiami come un elemento e non come attributo.Per richiamarlo come attributo devi fare @attributo.
Quindi:
<xsl:for-each select="/terra/mountain/">
<xsl:if test="@height >= 5500">
<xsl:value-of select="@name"/>
fine if e fine for

A rigor di logica dovrebbe essere cosi prova.
Torna all'inizio della Pagina

Verci
Utente giovane



Inserito il - 16/09/2009 : 18:12:05  Mostra Profilo  Visita l'Homepage di Verci Invia a Verci un Messaggio Privato  Rispondi Quotando
Ecco il codice funzionante:


<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
	
	<xsl:output method="html" omit-xml-declaration="no"
		doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
		doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN">
	</xsl:output>
	
	<xsl:template match="/">
		<html xmlns="http://www.w3.org/1999/xhtml">		
			<xsl:element name="head">
				<xsl:element name="meta">
					<xsl:attribute name="http-equiv"><xsl:text>content-type</xsl:text></xsl:attribute>
					<xsl:attribute name="content"><xsl:text>text/html; charset=UTF-8</xsl:text></xsl:attribute>
				</xsl:element>
				<xsl:element name="title">Le montagne più alte</xsl:element>
			</xsl:element>
			
			<xsl:element name="body">
				<xsl:element name="div">
					<xsl:text>Montagne più alte di 5500 m: </xsl:text>
							<xsl:value-of select="count(//mountain[.//@height>5500])" />
				</xsl:element>
				
				<xsl:element name="ul">
					<xsl:for-each select="//mountain">
						<xsl:sort select="@height" order="ascending" />
						<xsl:if test=".//@height>5500"> 
							<xsl:element name="li">
								<xsl:element name="td"><xsl:value-of select="@name" /></xsl:element>
							</xsl:element>
						</xsl:if> 
					</xsl:for-each>
				</xsl:element>

			</xsl:element>
		</html>
	</xsl:template>
</xsl:stylesheet>
Torna all'inizio della Pagina

Verci
Utente giovane



Inserito il - 16/09/2009 : 18:13:33  Mostra Profilo  Visita l'Homepage di Verci Invia a Verci un Messaggio Privato  Rispondi Quotando
Ecco il codice funzionante:


<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
	
	<xsl:output method="html" omit-xml-declaration="no"
		doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
		doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN">
	</xsl:output>
	
	<xsl:template match="/">
		<html xmlns="http://www.w3.org/1999/xhtml">		
			<xsl:element name="head">
				<xsl:element name="meta">
					<xsl:attribute name="http-equiv"><xsl:text>content-type</xsl:text></xsl:attribute>
					<xsl:attribute name="content"><xsl:text>text/html; charset=UTF-8</xsl:text></xsl:attribute>
				</xsl:element>
				<xsl:element name="title">Le montagne più alte</xsl:element>
			</xsl:element>
			
			<xsl:element name="body">
				<xsl:element name="div">
					<xsl:text>Montagne più alte di 5500 m: </xsl:text>
							<xsl:value-of select="count(//mountain[.//@height>5500])" />
				</xsl:element>
				
				<xsl:element name="ul">
					<xsl:for-each select="//mountain">
						<xsl:sort select="@height" order="ascending" />
						<xsl:if test=".//@height>5500"> 
							<xsl:element name="li">
								<xsl:element name="td"><xsl:value-of select="@name" /></xsl:element>
							</xsl:element>
						</xsl:if> 
					</xsl:for-each>
				</xsl:element>

			</xsl:element>
		</html>
	</xsl:template>
</xsl:stylesheet>
Torna all'inizio della Pagina

peppe6387_g
Utente medio



Inserito il - 16/09/2009 : 18:29:51  Mostra Profilo  Visita l'Homepage di peppe6387_g Invia a peppe6387_g un Messaggio Privato  Rispondi Quotando
Grazie tante DAVVERO.
Torna all'inizio della Pagina

peppe6387_g
Utente medio



Inserito il - 17/09/2009 : 10:57:35  Mostra Profilo  Visita l'Homepage di peppe6387_g Invia a peppe6387_g un Messaggio Privato  Rispondi Quotando
Ragazzi una domanda un po stupida se volete, ma non riesco a cui non riesco a dare una risposta.
Cosa significa: Si realizzi un foglio di stile
<cognome nome-matricola>.xsl,
a partire dal template terra.xsl.
Torna all'inizio della Pagina

peppe6387_g
Utente medio



Inserito il - 17/09/2009 : 11:33:30  Mostra Profilo  Visita l'Homepage di peppe6387_g Invia a peppe6387_g un Messaggio Privato  Rispondi Quotando
Logicamente il .XSL scritto sopra è un esempio, la mia domanda è più generale, che riguarda anche i casi dove il prof dice di partire da un file template.html.

Grazie ancora
Torna all'inizio della Pagina
  Discussione Precedente Discussione Discussione Successiva  
 Nuova Discussione  Nuovo Sondaggio Nuovo Sondaggio
 Rispondi
 Versione Stampabile Bookmark this Topic Aggiungi Segnalibro
Vai a:
Forum by laureateci.it © 2002 - 2012 Laureateci Communications Torna all'inizio della Pagina
Il DB ha risposto in 0,23 secondi.

TargatoNA.it | SuperDeejay.Net | Antidoto.org | Brutto.it | Equiweb.it | Snitz Forum 2000