XML/XSLT e fogli di stile: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
m Update syntaxhighlight tags - remove use of deprecated <source> tags
Riga 20:
 
Allegato 1: foglio di stile XML per l'entità città
<sourcesyntaxhighlight lang="xml">
<?xml version="1.0" encoding="UTF-8"?>
 
Riga 57:
</xsl:template>
</xsl:stylesheet>
</syntaxhighlight>
</source>
 
*Dal momento che un foglio di stile è un documento XML, si comincia con la dichiarazione XML. Ciò include gli pseudo-attributi <code>encoding</code> e <code>standalone</code>. Sono chiamati pseudo per distinguerli dagli attributi degli elementi. L'attributo standalone consente di specificare un DTD esterno
Riga 113:
 
Allegato 2: documento XML per l'entità città
<sourcesyntaxhighlight lang="xml">
<?xml version="1.0" encoding="UTF-8"?>
 
Riga 150:
 
</cities>
</syntaxhighlight>
</source>
 
Allegato 3: documento XSL per l'entità città che elenca le città per ID
 
<sourcesyntaxhighlight lang="xml">
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
Riga 178:
</xsl:template>
</xsl:stylesheet>
</syntaxhighlight>
</source>
 
Allegato 4: XML schema per l’entità host city
<sourcesyntaxhighlight lang="xml"><?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
attributeFormDefault="unqualified">
Riga 203:
</xsd:sequence>
</xsd:complexType>
</syntaxhighlight>
</source>
 
 
Allegato 5: XML stylesheet per l’entità città
<sourcesyntaxhighlight lang="xml">
<?xml version="1.0" encoding="UTF-8"?>
 
Riga 244:
</xsl:template>
</xsl:stylesheet>
</syntaxhighlight>
</source>
 
* Sebbene l’<code>output method</code> è impostato a &quot;xml&quot;, fino a quando non c’è il tag <code>&lt;html&gt;</code> come radice dell’albero risultato, l’output di default sarà XML.
Riga 255:
 
Allegato 6: albero risultato XML per l’entità città
<sourcesyntaxhighlight lang="xml">
<?xml version="1.0" encoding="utf-8" standalone="no"?>
 
Riga 273:
</cityList>
</stylesheet>
</syntaxhighlight>
</source>
 
Il processore inserisce automaticamente la dichiarazione XML nella parte superiore della struttura ad albero risultato. L'istruzione <code>processing-instruction</code>, o PI, è una direttiva di elaborazione che deve essere utilizzata da un’applicazione che la elabora. In questo caso, href indica un foglio di stile locale che verrà applicato al documento XML quando viene elaborato. Abbiamo usato <xsl:element> per creare un nuovo contenuto nell’albero risultato e gli abbiamo aggiunto degli attributi.
Riga 280:
 
Allegato 7: elemento copy
<sourcesyntaxhighlight lang="xml">
<xsl:template match="city">
<xsl:copy />
</xsl:template>
</syntaxhighlight>
</source>
 
Questo è il risultato:
 
Allegato 8: risultato dell’elemento copy
<sourcesyntaxhighlight lang="xml">
<?xml version="1.0" encoding="utf-8">
<city />
<city />
</syntaxhighlight>
</source>
 
L'output non è molto interessante, perché copy non prende i nodi figlio, solo il nodo corrente. Nel nostro esempio, raccoglie i due nodi città che si trovano nel file city.xml. L'elemento copy ha un attributo facoltativo, use-attribute-set, che consente di aggiungere attributi all'elemento.
Riga 306:
 
Allegato 9: I template denominati
<sourcesyntaxhighlight lang="xml">
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" />
Riga 317:
</xsl:template>
</xsl:stylesheet>
</syntaxhighlight>
</source>
 
I template hanno anche un attributo mode. Questo permette di elaborare un nodo più di una volta, producendo un risultato diverso di volta in volta, a seconda del template. Proviamo a metterlo in pratica:
 
Allegato 10: l’attributo mode dei template
<sourcesyntaxhighlight lang="xml">
 
<?xml version="1.0" encoding="UTF-8"?>
Riga 355:
</xsl:template>
</xsl:stylesheet>
</syntaxhighlight>
</source>
 
 
Riga 363:
 
Allegato 11: risultato del foglio di stile
<sourcesyntaxhighlight lang="html4strict">
<h2>Belmopan</h2>
Come visit <b>Belmopan</b>!
Riga 369:
<h2>Kuala Lumpur</h2>
Come visit <b>Kuala Lumpur</b>!
</syntaxhighlight>
</source>