Condividi tramite


Elemento <xsl:stylesheet>

Specifica l'elemento del documento di un file XSLT che contiene tutti gli altri elementi XSLT.

Specifica l'elemento del documento di un file XSLT che contiene tutti gli altri elementi XSLT. Questo elemento è un sinonimo dell'elemento <xsl:transform>.

<xsl:stylesheet
  id = id
  extension-element-prefixes = NCNames
  exclude-result-prefixes = NCNames
  version = number>
</xsl:stylesheet>

Attributi

  • id
    Un identificatore univoco per facilitare l'incorporamento di file XSLT.

  • extension-element-prefixes
    Lo spazio dei nomi da usare come spazio dei nomi di estensione. Il valore è un elenco di prefissi dello spazio dei nomi separati da spazi vuoti. Lo spazio dei nomi associato a ciascun prefisso viene designato come spazio dei nomi di estensione. È possibile designare lo spazio dei nomi predefinito (come dichiarato da xmlns) come uno spazio dei nomi di estensione includendo #default nell'elenco dei prefissi di spazio dei nomi. La designazione di uno spazio dei nomi come spazio dei nomi di estensione è effettiva all'interno del sottoalbero del foglio di stile il cui nodo radice è l'elemento con l'attributo extension-element-prefixes. Un sottoalbero che il cui nodo radice è un elemento <xsl:stylesheet> non include fogli di stile importati o inclusi da elementi figlio di tale elemento <xsl:stylesheet>.

  • exclude-result-prefixes
    L'URI (Uniform Resource Identifier) dello spazio dei nomi come spazio dei nomi escluso. Il valore è un elenco di prefissi di spazio dei nomi separati da spazi vuoti. Lo spazio dei nomi associato a ciascun prefisso viene designato come spazio dei nomi escluso. È possibile designare lo spazio dei nomi predefinito (come dichiarato da xmlns) come uno spazio dei nomi escluso includendo #default nell'elenco dei prefissi di spazio dei nomi. La designazione di uno spazio dei nomi come spazio dei nomi escluso è effettiva all'interno del sottoalbero del foglio di stile il cui nodo radice è l'elemento con l'attributo exclude-result-prefixes. Un sottoalbero il cui nodo radice è un elemento <xsl:stylesheet> non include fogli di stile importati o inclusi da elementi figlio di tale elemento <xsl:stylesheet>.

  • version
    Obbligatorio. La versione di XSLT richiesta dal file XSLT. Il valore deve essere impostato su "1.0" per questa versione di XSLT.

Informazioni sull'elemento

Numero di occorrenze

Uno

Elementi padre

(Nessun elemento padre)

Elementi figlio

xsl:attribute-set, xsl:import, xsl:include, xsl:output, xsl:param, xsl:template, xsl:variable, msxsl:script

Note

Ogni file XSTL deve dichiarare <xsl:stylesheet> come proprio elemento di documento.

Un foglio di stile può usare una serie di dichiarazioni di regole di modelli (<xsl:template>) per prescrivere trasformazioni esplicite per un set di dati. È possibile usare <xsl:include> e/o <xsl:import> per incorporare altri fogli di stile. In tal modo è possibile riutilizzare regole di modelli già esistenti e verificate. Il foglio di stile può anche supportare variabili globali (<xsl:param>) e costanti denominate (<xsl:variable>) da usare durante le trasformazioni. È possibile usare l'elemento <xsl:param> per passare parametri in un foglio di stile. Usando l'elemento di estensione <msxsl:script>, è anche possibile che un foglio di stile consenta di implementare funzioni personalizzate, sebbene questa pratica sia normalmente sconsigliata.

Nell'esempio seguente viene illustrato un elemento <xsl:stylesheet> con diversi spazi dei nomi comuni.

Un foglio di stile XSLT deve dichiarare almeno lo spazio dei nomi per la trasformazione XSL. In MSXML 4.0 e versioni successive è necessario dichiarare lo spazio dei nomi nel modo seguente:

<xsl:stylesheet version="1.0"
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

Se vengono elaborati elementi o tipi di dati da altri spazi dei nomi, il foglio di stile deve dichiarare anche tali spazi dei nomi. Ad esempio, la dichiarazione del foglio di stile XSLT seguente stabilisce che dovranno essere usati vocabolari XML aggiuntivi, che vengono definiti per le estensioni Microsoft e XSL-FO (XSL Formatting Objects).

<xsl:stylesheet version="1.0"
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
      xmlns:msxsl="urn:schemas-microsoft-com:xslt"
      xmlns:fo="http://www.w3.org/1999/XSL/Format">

Esempio

In questo esempio viene illustrato un file XSLT completo contenente un insieme di modelli. Il modello radice (match="/") definisce la struttura dell'intero documento di output e gli altri modelli definiscono la struttura degli elementi <name>, <address> e <phone>. Questo file di output HTML è stato prodotto usando msxml.exe al prompt dei comandi.

File XML (customers.xml)

<?xml version='1.0'?>
<?xml-stylesheet type="text/xsl" href="customers.xsl"?>
<customers>
   <customer>
      <name>John Smith</name>
      <address>123 Elm St.</address>
      <phone>(123) 456-7890</phone>
   </customer>
   <customer>
      <name>Mary Jones</name>
      <address>456 Oak Ave.</address>
      <phone>(156) 789-0123</phone>
   </customer>
</customers>

File XSLT (customers.xsl)

<?xml version='1.0'?>
<xsl:stylesheet version="1.0"
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
  <HTML>
    <BODY>
      <TABLE>
        <xsl:for-each select="customers/customer">
          <TR>
            <xsl:apply-templates select="name" />
            <xsl:apply-templates select="address" />
            <xsl:apply-templates select="phone" />
          </TR>
        </xsl:for-each>
      </TABLE>

    </BODY>
  </HTML>
</xsl:template>

<xsl:template match="name">
  <TD STYLE="font-size:14pt font-family:serif">
    <xsl:apply-templates />
  </TD>
</xsl:template>

<xsl:template match="address">
  <TD> <xsl:apply-templates /> </TD>
</xsl:template>

<xsl:template match="phone">
  <TD> <xsl:apply-templates /> </TD>
</xsl:template>

<xsl:template match="text()">
  <xsl:value-of select='.'/>
</xsl:template>

</xsl:stylesheet>

Output

L'output formattato è il seguente:

Output formattato

L'output del processore è il seguente:

<HTML>
<BODY>
<TABLE>
<TR>
<TD STYLE="font-size:14pt font-family:serif">John Smith</TD>
<TD>123 Elm St.</TD>
<TD>(123) 456-7890</TD>
</TR>
<TR>
<TD STYLE="font-size:14pt font-family:serif">Mary Jones</TD>
<TD>456 Oak Ave.</TD>
<TD>(156) 789-0123</TD>
</TR>
</TABLE>

</BODY>
</HTML>

Vedere anche

Riferimenti

Elemento <xsl:transform>