Opzioni di output nella classe XslCompiledTransform

Questo articolo illustra le opzioni di output XSLT disponibili. È possibile specificare le opzioni di output nel foglio di stile oppure nel metodo Transform.

Elemento xsl:output

L'elemento xsl:output consente di specificare le opzioni per l'output. Il tipo di output specificato dal metodo Transform determina il comportamento delle opzioni xsl:output.

Nella tabella seguente viene descritto il comportamento di ciascun attributo disponibile nell'elemento xsl:output se il tipo di output è un flusso o un oggetto TextWriter.

Attribute name Comportamento
method Supportato.
version Ignorato. La versione è sempre 1.0 per XML e 4.0 per HTML.
codifica Ignorato se si invia l'output a un tipo TextWriter. Viene invece usata la proprietà TextWriter.Encoding.
omit-xml-declaration Supportato.
autonomi Supportato.
doctype-public Supportato.
doctype-system Supportato.
cdata-section-elements Supportato.
indent Supportato.
media-type Supportato.

Invio dell'output a XmlWriter

Se nel foglio di stile viene usato l'elemento xsl:output e il tipo di output è un oggetto XmlWriter, quando si crea tale XmlWriter oggetto è necessario usare la proprietà XslCompiledTransform.OutputSettings. La proprietà XslCompiledTransform.OutputSettings restituisce un oggetto XmlWriterSettings contenente informazioni derivate dall'elemento xsl:output di un foglio di stile compilato. Questo oggetto XmlWriterSettings può essere passato al metodo XmlWriter.Create per creare un oggetto XmlWriter con le impostazioni corrette.

Tipi di output

Nell'elenco seguente vengono descritti i tipi di output disponibili nel comando Transform.

XmlWriter

La classe XmlWriter consente di scrivere flussi o file XML. È possibile specificare le funzionalità da supportare nell'oggetto XmlWriter, incluse le opzioni di output, tramite la classe XmlWriterSettings class. La classe XmlWriter rappresenta una parte integrante del framework System.Xml. Usare questo tipo di output per eseguire la pipeline dei risultati di output in un altro processo XML.

Stringa

Usare questo tipo di output per specificare l'URI del file di output.

Stream

Un flusso è un'astrazione di una sequenza di byte, ad esempio un file, un dispositivo di input/output, una pipe di comunicazione tra processi o un socket TCP/IP. La classe Stream e le relative classi derivate forniscono una rappresentazione generica di questi diversi tipi di input e output, senza che il programmatore venga a contatto con i dettagli specifici del sistema operativo e con i dispositivi sottostanti.

Usare questo tipo di output per inviare dati a un tipo FileStream, MemoryStream oppure per inviare un flusso di output (Response.OutputStream).

TextWriter

Il tipo TextWriter consente di scrivere caratteri sequenziali. È implementato nelle classi StringWriter e StreamWriter, che consentono di scrivere rispettivamente stringhe o flussi. Usare questo tipo di output per inviare l'output a una stringa.

Note

Quando si scrivono tag vuoti, viene scritto uno spazio tra l'ultimo carattere del nome dell'elemento e la barra rovesciata, ad esempio <myElement />. Questo consente ai browser meno recenti di visualizzare correttamente le pagine HTML generate.

Vedi anche