É possibile parametrizzare la presentazione attraverso attributi aventi dei valori predefiniti ai quali lo "stylesheet" può riferirsi come con "indent" e "separation" nel seguente ritaglio preso dalla definizione "sections" in
page_ex.xsl
:
<TR><TD width="{@indent}">
<xsl:call-template name="nbsp"/></TD>
<TD width="{@separation}">
<xsl:call-template name="nbsp"/></TD>
...
</TR>
Nel DTD
page_ex.dtd
possiamo trovare le corrispondenti righe dalle quali vengono presi i valori:
<!ELEMENT sections (section+, body?)>
<!ATTLIST sections
%core.att;
width %RelativeLength; "95%"
height %RelativeLength; "80%"
indent %RelativeLength; "30%"
separation %RelativeLength; "2%"
>
Questo modo di parametrizzare ci dà l'opportunità di cambiarli in casi eccezionali semplicemente specificando localmente l'attributo dell'elemento con i valori particolari.
| | Coloro che esamineranno più da vicino la notazione HTML generata e le dichiarazioni nell'intestazione di
page_ex.html
o lo sottopongono a un validatore HTML scopriranno delle divergenze. L'esempio presentato é effettivamente il risultato di un compromesso tra generare pura notazione HTML4 e generare notazione XHTML1, perché XML, XSL, e XSLT esigono che ogni elemento deve avere la sua corrispondente notazione di terminazione. Per esempio non si può specificare in XSLT la generazione di un elemento META senza la corrispondente chiusura /META (a meno che non si ricorra a un laborioso e oscurante trucco comprendente elementi xsl:text, vedi la specifica canovaccio "br" come esempio molto semplice del genere). Verifiche fatte con vari "browser" hanno mostrato che elementi con chiusura, benché non contemplato dallo standard HTML4, non causano inconvenienti.
L'attributo "height" che appare negli elementi table non è contemplato dalle specifiche HTML4, ciononostante viene riconosciuto dalla maggior parte dei navigatori per motivi di compatibilità con versioni precedenti. Viene utilizzato spesso per controllare la messa in pagina in questo sito.
|
|