XML e XSL
XSL - eXtensible Stylesheet Language XSL è un linguaggio di annotazione che serve a "trasformare" la struttura di un documento in formato XML in un'altra struttura. Lo scopo principale di questa trasformazione è certamente quello di "convertire" il documento XML in un formato adatto alla presentazione su diversi supporti (per esempio, la sua trasformazione in HTML).
Pattern Il linguaggio XSL utilizza i pattern per specificare gli elementi XML a cui viene applicato un certo template. I pattern sono definiti mediante espressioni di XPath
I MODELLI - xsl:template Un template definisce una regola in base a cui gli elementi che corrispondono a un certo pattern devono essere elaborati. Per definire un template si usa il seguente comando: REGOLE DI ELEBORAZIONE L'attributo "match" è ovviamente obbligatorio, dato che contiene il pattern degli elementi a cui applicare il template in questione.
Esempio 9 Esempio9.xsl
XSL:TEMPLATE o il template (o modello) si applica al pattern definito con l'attributo "match"; il pattern consiste nella semplice espressione "/", che significa il root element del documento in questione (cioe` l'elemento DOCUMENTO"); il resto è semplice markup di HTML.
XSL:VALUE-OF Naturalmente, la cosa più importante è quella di estrarre informazione dal file XML per riportarla sulla pagina HTML. A questo fine, il comando più importante è "xsl:value-of", che si usa come segue: Esempio10.xsl
XSL:FOR-EACH REGOLE DI ELABORAZIONE Esempio11.xsl Esempio12.xsl Esempio13.xsl
Valore degli Esempio14.xsl
Aggiungere attributi HTML Esempio15.xsl
Ri-ordinare il contenuto: xsl:sort Nell'eleborare l'output e` possibile anche riordinare gli elementi da presentare. dove "descending" è uno dei due possibili valori dell'attributo "order" (l'altro, "ascending", è il valore di default).
E` possibile anche combinare più ordinamenti (per esempio quello per anno e per nome dell'artista), basta usare più volte il comando "xsl:sort". Esempio16.xsl
Filtrare l'informazione Per filtrare l'informazione da presentare, basta usare dei filtri nei pattern che vengono usati. Per esempio, per filtrare gli elementi che vengono selezionati con xsl:for-each, basta fare come segue: Gli operatori ammessi nel filtro sono: = (uguale) != (diverso) < minore di > maggiore di
Attenzione agli spazi….. Esempio17.xsl
Condizionali con xsl:if E` anche possibile introdurre un test condizionale sulle regole di elaborazione. Ciò si ottiene usando l'elemento xsl:if come segue: REGOLE DI ELABORAZIONE Esempio18.xsl
Scelta tra casi: xsl:choose, xsl:when, xsl:otherwise se vale la condizione 1, allora fai X.... se vale la condizione n, allora fai Y altrimenti fai Z
–REGOLE DI ELABORAZIONE... ALTRE CONDIZIONI... –REGOLE DI ELABORAZIONE –REGOLE DI ELABORAZIONE