INFO: Roadmap per l'esecuzione di trasformazioni XSLT in applicazioni .NET

Traduzione articoli Traduzione articoli
Identificativo articolo: 313997 - Visualizza i prodotti a cui si riferisce l?articolo.
Espandi tutto | Chiudi tutto

In questa pagina

Sommario

In questo articolo vengono fornite indicazioni per introdurre le classi che Ŕ possibile utilizzare per eseguire a livello di codice estensibile e spazi dei nomi.NET Framework Trasformazioni StyleSheets Language Transformation (XSLT) nelle applicazioni .NET. Gli articoli di orientamento forniscono collegamenti a informazioni utili, tra cui documentazione in linea, articoli della Microsoft Knowledge Base e white paper Microsoft per informazioni su un prodotto o tecnologia Microsoft.

In questo articolo non Ŕ un'esercitazione XSLT. Questo articolo si presuppone che abbia familiaritÓ con la Standard XSLT World Wide Web Consortium (W3C) e l'esperienza con la scrittura di fogli di stile XSLT per trasformare i dati XML.

Panoramica

XSLT Ŕ un World Wide Web Consortium (W3C) standard per la trasformazione dei dati XML. XSLT Ŕ in genere utilizzato per scrivere fogli di stile per trasformare i dati XML in altri formati come HTML, fissata lunghezza testo, testo delimitato da virgole o un altro formato XML.

Dal punto di vista developer XSLT Ŕ un linguaggio di programmazione con una sintassi ricca e basato su XML che implementa elementi che corrispondono a elementi comuni requisiti di trasformazione e costrutti di programmazione.

Fogli di stile XSLT utilizzano spesso query XML Path Language (XPath) per individuare i nodi del documento XML di origine e applicare modelli XSLT per trasformare tali nodi. L'efficienza delle query XPath in un foglio di stile XSLT spesso influenza e influire sulle prestazioni di trasformazioni che lo utilizzano.

Da un punto di supporto di alto livello, un processore XSLT Ŕ un componente software che applica un foglio di stile specificato a un documento XML di origine specificato per eseguire una trasformazione XSLT e generare l'output desiderato.

L'output finale che generano le trasformazioni XSLT sono in genere documenti risultato presentano i dati XML nel formato di destinazione specificata.

Scrittura di codice in un'applicazione per eseguire la trasformazione XSLT

La seguente esercitazione rapida e articoli della Microsoft Knowledge Base viene illustrato come scrivere codice in un'applicazione per applicare un foglio di stile XSLT a un documento XML per eseguire una trasformazione di base:
307322 Procedura: Applicare una trasformazione XSL a un documento XML utilizzando Visual C#.
300929 Procedura: Applicare una trasformazione XSL da un documento XML in un documento XML utilizzando Visual Basic .NET

Spazio dei nomi System.Xml.Xsl

La classe XslTransform nello spazio dei nomi System.Xml.Xsl implementa il processore XSLT.NET Framework. Oggetto istanze di questa classe vengono create e utilizzate per eseguire trasformazioni XSLT in applicazioni .NET. L'implementazione del processore XSLT in.NET Framework Ŕ compatibile con la versione 1.0 di Raccomandazione XSLT.

Spazio dei nomi System.Xml.Xsl implementa inoltre le seguenti classi per supportare la gestione delle eccezioni di XSLT e opzioni avanzate relative all'esecuzione di trasformazioni XSLT e XPath query:
  • XsltArgumentList. ╚ possibile utilizzare istanze di oggetti di questa classe per fornire istanze di oggetti di estensione e i valori di riferimento e i parametri XSLT definiscono fogli di stile XSLT.
  • XsltCompileException. Questa classe genera l'eccezione.NET Framework quando si verifica un errore durante la compilazione di un foglio di stile XSLT. Quando viene eseguito il metodo di caricamento di un oggetto XslTransform , viene compilato un foglio di stile XSLT.
  • XsltException. Questa classe genera l'eccezione.NET Framework quando si verifica un errore di run-time durante l'esecuzione di una trasformazione XSLT.
  • XsltContext, IXsltContextFunctione IXsltContextVariable. Queste avanzate componenti vengono utilizzate per implementare un contesto di esecuzione di query XPath personalizzato quando Ŕ necessario implementare e fare riferimento a variabili nelle query XPath eseguite nelle applicazioni .NET utilizzando la classe XPathNavigator e classi del modello DOM (Document Object) e funzioni definite dall'utente.

    Per implementare pi¨ facilmente le variabili e funzioni definite dall'utente nelle espressioni di query XPath inclusa in un foglio di stile XSLT, Ŕ possibile utilizzare blocchi di script, oggetti di estensione e XSLT variabili o parametri.

FunzionalitÓ avanzate di XSLT

Questa sezione descrive alcune funzionalitÓ avanzate di XSLT.

Pipelining trasformazioni XSLT

Pipelining si intende il processo di trasformazione di un documento XML di origine in modo incrementale applicando due o pi¨ fogli di stile XSLT. L'output viene generato ogni fase intermedia viene fornito come input per la fase successiva infatti alla fase finale, che quindi generano output appropriato.

Questo metodo Ŕ utile quando deve mantenere l'output che generano le fasi intermedie per un'ulteriore elaborazione non Ŕ direttamente collegato al processo di trasformazione.Per ulteriori informazioni su questo argomento e per un esempio di codice che illustra l'utilizzo, fare clic il numero articolo per visualizzare l'articolo della Microsoft Knowledge Base:
320847 Procedura: Pipeline trasformazioni XSLT in applicazioni .NET

Trasformazioni XSLT con parametri

╚ prassi comune XSLT per definire e utilizzare i parametri nei fogli di stile. Fogli di stile XSLT con parametri consente di utilizzare l'elemento <xsl:param>per definire i parametri citati nelle espressioni di query XPath per individuare e trasformare i nodi nell'origine dati XML in modo selettivo. I valori per i parametri definiti possono essere codificati nel foglio di stile o forniti in fase di esecuzione. La pratica di quest'ultima di fornire dinamicamente i valori di parametro di input per controllare il processo di trasformazione Ŕ l'utilizzo pi¨ comune di questa funzionalitÓ.

Nelle applicazioni .NET viene utilizzato un oggetto XsltArgumentList per fornire valori dei parametri XSLT in fase di esecuzione. Il metodo AddParam consente di aggiungere una coppia nome-valore che rappresenta un parametro definito nel foglio di stile e il relativo valore a un oggetto XsltArgumentList . L'oggetto XsltArgumentList verrÓ successivamente fornito come parametro quando si esegue il metodo di trasformazione dell'oggetto XslTransform utilizzato per eseguire la trasformazione.

I metodi RemoveParam e GetParam vengono utilizzati per accedere e rimuovere i singoli parametri aggiunti a un oggetto XsltArgumentList .</xsl:param>Per ulteriori informazioni su come eseguire trasformazione XSLT con parametri in applicazioni .NET, fare clic sul numero dell'articolo della Microsoft Knowledge Base:
321704 Procedura: Eseguire trasformazioni XSL con parametri in applicazioni .NET

Blocchi di Script inline

Funzioni di script inline sono una delle opzioni che Ŕ possibile utilizzare per implementare le funzioni definite dall'utente e sub routine riferimento nelle espressioni di query XPath vengono utilizzate in un foglio di stile XSLT. La possibilitÓ di includere blocchi di script nei fogli di stile XSLT Ŕ un'estensione di W3C.

In.NET Framework, subroutine e funzioni inline personalizzati sono codificate in blocchi <msxsl:script>nel foglio di stile XSLT. ╚ possibile utilizzare un linguaggio di programmazione Microsoft Visual Studio .NET come Visual Basic Microsoft .NET o Microsoft Visual C# .NET per implementare queste routine.

Uno degli svantaggi associati utilizzando blocchi di script Ŕ che i fogli di stile XSLT non portabile. La tecnologia, i tag e la semantica utilizzata per implementare blocchi di script Ŕ estensioni specifiche del fornitore non standardizzare le specifiche W3C XSLT.

╚ possibile utilizzare solo un foglio di stile XSLT che definisce e utilizza blocchi di script correttamente nelle trasformazioni vengono eseguite utilizzando un processore XSLT che possono interpretare la semantica correlata e integrare con la tecnologia per eseguire il codice.

In.NET Framework assembly gestiti vengono generati e caricati in modo implicito per eseguire il codice contenuto in linea <msxsl:script>blocchi di script. Vi Ŕ attualmente un problema noto di.NET Framework che impedisce a tali assembly venga scaricata correttamente al termine del processo di trasformazione. Questa anomalia pu˛ comportare un aumento dell'utilizzo della memoria se il foglio di stile interessato viene caricato ripetutamente per eseguire trasformazioni XSLT. Memoria analizzano viene rilasciata solo quando il processo host viene riciclato. </msxsl:script></msxsl:script>Per ulteriori informazioni su questo problema in.NET Framework, fare clic il numero articolo per visualizzare l'articolo della Microsoft Knowledge Base:
316775 PRB: Impossibile scaricare gli assembly che consente di creare e caricare tramite Script in XSLT
Per aggirare questo problema nelle applicazioni di Microsoft ASP.NET, Ŕ possibile caricare i fogli di stile interessato solo una volta durante la vita dell'applicazione, memorizzare nella cache i fogli di stile interessato (nella cache ASP.NET) e quindi riutilizzare le versioni memorizzate nella cache per le trasformazioni dopo che.

In Windows Form e applicazioni Console, Ŕ possibile utilizzare istanze di oggetti globali XslTransform per caricare i fogli di stile interessato all'avvio dell'applicazione e di eseguire le trasformazioni successive. Queste soluzioni alternative non si applicano quando le trasformazioni XSLT devono essere eseguiti in ambienti privi di stato (ad esempio con componenti Enterprise Services di livello intermedio).

Si consiglia di utilizzare oggetti estensione XSLT per implementare funzioni personalizzate di estensione XPath per aggirare il problema.

Oggetti di estensione XSLT

Si consiglia di utilizzare gli oggetti di estensione per implementare personalizzate subroutine e funzioni fanno riferimento nelle espressioni di query XPath vengono utilizzate in un foglio di stile XSLT.

╚ possibile creare DLL.NET Framework per implementare e utilizzare oggetti estensione quando eseguire le trasformazioni nelle applicazioni .NET. Le funzioni e subroutine personalizzate vengono implementate in una DLL e un'istanza dell'oggetto del componente DLL viene fornita come parametro di esecuzione utilizzando un oggetto XsltArgumentList quando si esegue il metodo Transform di un oggetto XslTransform .

Il metodo AddExtensionObject della classe XsltArgumentList consente di aggiungere un'istanza di oggetto di estensione a un oggetto XsltArgumentList . ╚ possibile utilizzare metodi rimozione dell'oggetto di estensione e ottenere accesso e rimuovere un'istanza di oggetto di estensione viene aggiunto a un oggetto XsltArgumentList .

La specifica W3C XSLT indirizzi il concetto e l'utilizzo di elementi di estensione e funzioni senza prestare attenzione agli o di riferimento per la tecnologia di base Ŕ necessario utilizzare per implementarli. ╚ necessario definire e utilizzare prefissi standard XML nei fogli di stile per fare riferimento a funzioni e subroutine sono implementate in oggetti di estensione. Fornitori Ŕ possono selezionare una tecnologia adatta alla propria piattaforma per affrontare gli aspetti di implementazione degli oggetti di estensione.Per ulteriori informazioni sul concetto e l'utilizzo di oggetti di estensione XSLT in.NET Framework e passaggi creare un'applicazione end-to-end in cui viene illustrato come utilizzare oggetti estensione quando eseguire le trasformazioni XSLT in applicazioni .NET, scegliere il numero articolo per visualizzare l'articolo della Microsoft Knowledge Base:
321702 Procedura: Utilizzare oggetti estensione durante l'esecuzione di trasformazioni XSL in applicazioni .NET Visual Basic

Indicazioni generali per l'utilizzo delle classi di.NET Framework per eseguire le trasformazioni XSLT

  • La classe XPathDocument Ŕ ottimizzata per l'elaborazione XSLT e XPath. Per prestazioni ottimali, utilizzare sempre un oggetto XPathDocument per fornire l'origine XML durante l'esecuzione di una trasformazione XSLT.
  • ╚ possibile memorizzare e riutilizzare gli oggetti XslTransform utilizzati per caricare i fogli di stile XSLT che vengono spesso utilizzati per eseguire le trasformazioni successive.
  • Il processore XSLT non automaticamente nella cache istanze di oggetti di estensione vengono utilizzate nelle trasformazioni XSLT. ╚ possibile memorizzare nella cache e riutilizzare gli oggetti XsltArgumentList utilizzati per fornire istanze di oggetti di estensione per i fogli di stile XSLT utilizzati di frequente quando si eseguono trasformazioni successive. Questo Ŕ il metodo per oggetti di estensione della cache utilizzato nelle trasformazioni XSLT in.NET Framework.
  • Foglio di stile XSLT che implementa blocchi di script deve essere caricato una volta e cache. Deve riutilizzare l'oggetto XslTransform nella cache per le trasformazioni successive. ╚ possibile utilizzare questa procedura per risolvere il problema della gestione di memoria descritto nell'articolo della Microsoft Knowledge Base Q316775 quando Ŕ necessario utilizzare le funzioni di script inline in un foglio di stile.
  • Si consiglia di utilizzare gli oggetti di estensione per implementare funzioni personalizzate in cui vengono fatto riferimento nelle espressioni di query XPath vengono utilizzate nei fogli di stile XSLT. Implementare classi personalizzate XsltContextIXsltContextFunctione IXsltContextVariable solo quando Ŕ necessario implementare e fare riferimento a funzioni di estensione personalizzata nelle espressioni di query XPath vengono eseguite nelle applicazioni .NET utilizzando XPathNavigator e le classi del DOM.
  • Implementare il codice per gestire XsltCompileExceptionXsltExceptione le classi di eccezione XmlException .NET Framework quando si scrive codice per eseguire trasformazioni XSLT di gestione delle eccezioni. Queste classi di eccezione forniscono informazioni sui problemi specifici di XML o XSLT che si verificano quando si tenta di eseguire una trasformazione XSLT. Inoltre, Microsoft consiglia di implementare il codice per gestire altre eccezioni specifiche di.NET Framework e implementare la classe System. Exception , basata sulla funzionalitÓ di altre, non correlato al XSLT implementata nel blocco di codice che esegue la trasformazione XSLT.

Prestazioni delle trasformazioni XSLT in.NET Framework

Per ulteriori informazioni su cause e soluzioni per i problemi di prestazioni quando si eseguono trasformazioni XSLT in applicazioni .NET, fare clic sul numero seguente per visualizzare l'articolo della Microsoft Knowledge Base:
325689 INFO: Prestazioni di trasformazioni XSLT in.NET Framework

Risoluzione dei problemi

Se si verificano problemi o domande, Ŕ possibile consultare il Newsgroup MSDN in cui condividere le proprie esperienze con i colleghi. ╚ inoltre possibile utilizzare Microsoft Knowledge Base in cui Ŕ possibile cercare articoli su problemi specifici o contattare il supporto tecnico Microsoft.
Newsgroup MSDN
http://msdn.microsoft.com/newsgroups/

Ricerca nella Knowledge Base
http://support.microsoft.com/search

Supporto tecnico Microsoft
http://support.microsoft.com

Riferimenti

Per ulteriori informazioni su % 1, fare clic sul numero dell'articolo 2% riportato di seguito per visualizzare il 2% dell'articolo della Microsoft Knowledge Base:
313651 INFO: Roadmap for XML in.NET Framework

ProprietÓ

Identificativo articolo: 313997 - Ultima modifica: mercoledý 24 ottobre 2012 - Revisione: 1.0
Le informazioni in questo articolo si applicano a:
  • Microsoft .NET Framework 1.1
  • Microsoft .NET Framework 1.0
Chiavi:á
kbarttyperoadmap kbinfo kbmt KB313997 KbMtit
Traduzione automatica articoli
Il presente articolo Ŕ stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell?utente. Tuttavia, un articolo tradotto in modo automatico non Ŕ sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, pi¨ o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non Ŕ la sua. Microsoft non Ŕ responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell?utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 313997
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com