System.Xml.Xsl.XslCompiledTransform-klass

Anmärkning

Den här artikeln innehåller ytterligare kommentarer till referensdokumentationen för det här API:et.

Klassen XslCompiledTransform är en XSLT-processor som stöder XSLT 1.0-syntaxen. Det är en ny implementering och innehåller prestandavinster jämfört med den föråldrade XslTransform klassen. Klassens XslCompiledTransform struktur är mycket lik XslTransform klassen. Metoden Load laddar och kompilerar formatmallen, medan metoden Transform kör XSLT-transformeringen.

Stöd för XSLT-funktionen document() och inbäddade skriptblock är inaktiverade som standard. Dessa funktioner kan aktiveras genom att skapa ett XsltSettings objekt och skicka det till Load metoden.

Mer information finns i Använda klassen XslCompiledTransform och Migrera från klassen XslTransform.

Säkerhetsfrågor

När du skapar ett program som använder XslCompiledTransform klassen bör du vara medveten om följande objekt och deras konsekvenser:

  • XSLT-skript är inaktiverat som standard. XSLT-skript ska endast aktiveras om du behöver skriptstöd och arbetar i en fullständigt betrodd miljö.

  • XSLT-funktionen document() är inaktiverad som standard. Om du aktiverar document() funktionen begränsar du de resurser som kan nås genom att skicka ett XmlSecureResolver objekt till Transform metoden.

  • Tilläggsobjekt är aktiverade som standard. Om ett XsltArgumentList objekt som innehåller tilläggsobjekt skickas till Transform metoden används de.

  • XSLT-formatmallar kan innehålla referenser till andra filer och inbäddade skriptblock. En obehörig användare kan utnyttja detta genom att förse dig med data eller formatmallar som när de körs kan göra att systemet bearbetas tills datorn har ont om resurser.

  • XSLT-program som körs i en miljö med blandat förtroende kan resultera i förfalskning av formatmallar. En obehörig användare kan till exempel läsa in ett objekt med ett skadligt formatmallar och lämna över det till en annan användare som därefter anropar Transform metoden och kör omvandlingen.

Dessa säkerhetsproblem kan åtgärdas genom att inte aktivera skript eller document() funktionen såvida inte formatmallen kommer från en betrodd källa och genom att inte acceptera XslCompiledTransform objekt, XSLT-formatmallar eller XML-källdata från en ej betrodd källa.