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

Nota: Devi essere registrato per poter inserire un messaggio.
Per registrarti, clicca qui. La Registrazione è semplice e gratuita!

Larghezza finestra:
Nome Utente:
Password:
Modo:
Formato: GrassettoCorsivoSottolineatoBarrato Aggiungi Spoiler Allinea a  SinistraCentraAllinea a Destra Riga Orizzontale Inserisci linkInserisci EmailInserisci FlashInserisci Immagine Inserisci CodiceInserisci CitazioneInserisci Lista Inserisci Faccine
   
Icona Messaggio:              
             
Messaggio:

  * Il codice HTML è OFF
* Il Codice Forum è ON

Smilies
Approvazione [^] Arrabbiato [:(!] Bacio [:X] Bevuta [:273]
Caldo [8D] Compiaciuto [8)]    
compleanno [:269]
Davvero Felice [:D] Diavoletto [}:)] Disapprovazione [V] Domanda [?]
Felice [:)] Fumata [:29] Goloso [:P] Imbarazzato [:I]
Infelice [:(] Morte improvvisa da [:62]
Morto [xx(] Occhio Nero [B)] Occhiolino [;)] Palla 8 [8]
pc [:205]    
Riproduzione [:76]
Scioccato [:O]      

   Allega file
  Clicca qui per inserire la tua firma nel messaggio.
Clicca qui per sottoscrivere questa Discussione.
    

V I S U A L I Z Z A    D I S C U S S I O N E
cohiba86 Inserito il - 12/09/2009 : 14:08:52
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
14   U L T I M E    R I S P O S T E    (in alto le più recenti)
peppe6387_g Inserito il - 17/09/2009 : 11:33:30
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
peppe6387_g Inserito il - 17/09/2009 : 10:57:35
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.
peppe6387_g Inserito il - 16/09/2009 : 18:29:51
Grazie tante DAVVERO.
Verci Inserito il - 16/09/2009 : 18:13:33
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>
Verci Inserito il - 16/09/2009 : 18:12:05
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>
ciccio007 Inserito il - 16/09/2009 : 16:35:46
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.
peppe6387_g Inserito il - 16/09/2009 : 13:00:40
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.
Mk178 Inserito il - 16/09/2009 : 12:39:09
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]">
peppe6387_g Inserito il - 16/09/2009 : 12:25:57
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]">
ciccio007 Inserito il - 16/09/2009 : 12:11:54
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
peppe6387_g Inserito il - 16/09/2009 : 11:27:08
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
geipi Inserito il - 14/09/2009 : 11:24:16
Ragazzi, qualcuno di voi ha fatto l'esame il 9 settembre?
Se si, gentilmente mi potete dire gli esercizi che stavano?
Grazie!!!
cohiba86 Inserito il - 14/09/2009 : 09:31:06
grazie mille,sei stato gentilissimo
ciccio007 Inserito il - 12/09/2009 : 17:45:34
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>

Forum by laureateci.it © 2002 - 2012 Laureateci Communications Torna all'inizio della Pagina
Il DB ha risposto in 0,11 secondi.

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