Klasse System.Xml.Xsl.XslCompiledTransform

Opmerking

In dit artikel vindt u aanvullende opmerkingen in de referentiedocumentatie voor deze API.

De XslCompiledTransform klasse is een XSLT-processor die ondersteuning biedt voor de XSLT 1.0-syntaxis. Het is een nieuwe implementatie en bevat prestatieverbeteringen in vergelijking met de verouderde XslTransform klasse. De structuur van de XslCompiledTransform klasse is vergelijkbaar met de XslTransform klasse. De Load methode laadt en compileert het opmaakmodel, terwijl de Transform methode de XSLT-transformatie uitvoert.

Ondersteuning voor de XSLT-functie document() en ingesloten scriptblokken zijn standaard uitgeschakeld. Deze functies kunnen worden ingeschakeld door een XsltSettings object te maken en door te geven aan de Load methode.

Zie De XslCompiledTransform-klasse gebruiken en migreren vanuit de XslTransform-klasse voor meer informatie.

Beveiligingsoverwegingen

Wanneer u een toepassing maakt die gebruikmaakt van de XslCompiledTransform klasse, moet u rekening houden met de volgende items en de gevolgen ervan:

  • XSLT-scripts zijn standaard uitgeschakeld. XSLT-scripts moeten alleen worden ingeschakeld als u scriptondersteuning nodig hebt en u in een volledig vertrouwde omgeving werkt.

  • De XSLT-functie document() is standaard uitgeschakeld. Als u de document() functie inschakelt, beperkt u de resources die toegankelijk zijn door een XmlSecureResolver object door te geven aan de Transform methode.

  • Extensieobjecten zijn standaard ingeschakeld. Als een XsltArgumentList object met extensieobjecten wordt doorgegeven aan de Transform methode, worden ze gebruikt.

  • XSLT-opmaakmodellen kunnen verwijzingen naar andere bestanden en ingesloten scriptblokken bevatten. Een kwaadwillende gebruiker kan dit misbruiken door u te voorzien van gegevens of opmaakmodellen die, wanneer deze worden uitgevoerd, ertoe kunnen leiden dat uw systeem wordt verwerkt totdat de computer weinig resources heeft.

  • XSLT-toepassingen die worden uitgevoerd in een omgeving met gemengde vertrouwensrelaties kunnen leiden tot spoofing van stijlbladen. Een kwaadwillende gebruiker kan bijvoorbeeld een object laden met een schadelijk opmaakmodel en dit doorgeven aan een andere gebruiker die de Transform methode vervolgens aanroept en de transformatie uitvoert.

Deze beveiligingsproblemen kunnen worden beperkt door scripting of de document() functie niet in te schakelen, tenzij het opmaakmodel afkomstig is van een vertrouwde bron en door geen objecten, XSLT-opmaakmodellen of XML-brongegevens van een niet-vertrouwde bron te accepteren XslCompiledTransform .