XslTransform Osztály

Definíció

Figyelemfelhívás

This class has been deprecated. Please use System.Xml.Xsl.XslCompiledTransform instead. http://go.microsoft.com/fwlink/?linkid=14202

Átalakítja az XML-adatokat egy XSLT(Extensible Stylesheet Language for Transformations) stíluslap használatával.

public ref class XslTransform sealed
public sealed class XslTransform
[System.Obsolete("This class has been deprecated. Please use System.Xml.Xsl.XslCompiledTransform instead. http://go.microsoft.com/fwlink/?linkid=14202")]
public sealed class XslTransform
type XslTransform = class
[<System.Obsolete("This class has been deprecated. Please use System.Xml.Xsl.XslCompiledTransform instead. http://go.microsoft.com/fwlink/?linkid=14202")>]
type XslTransform = class
Public NotInheritable Class XslTransform
Öröklődés
XslTransform
Attribútumok

Megjegyzések

Note

A XslTransform osztály elavult a Microsoft .NET Framework 2.0-s verziójában. Az XslCompiledTransform osztály az új XSLT-processzor. További információ: Az XslCompiledTransform osztály használata és áttelepítés az XslTransform osztályból.

XslTransform támogatja az XSLT 1.0 szintaxist. Az XSLT stíluslapnak a névteret http://www.w3.org/1999/XSL/Transformkell használnia.

Az osztály használatával további argumentumok is hozzáadhatók a stíluslaphoz XsltArgumentList . Ez az osztály bemeneti paramétereket tartalmaz a stíluslaphoz és a stíluslapról meghívható bővítményobjektumokhoz.

XML-adatok átalakítása:

  1. Hozzon létre egy objektumot XslTransform .

  2. Ezzel a Load módszerrel töltheti be az átalakítás stíluslapját. Ez a metódus több túlterheléssel rendelkezik, és betölthet egy stíluslapot egy XmlReader, XPathNavigator, IXPathNavigablevagy egy URL-cím használatával a fájl helyével.

  3. A metódus használatával Transform átalakíthatja az XML-adatokat. Ez a módszer több túlterhelést is képes kezelni, és különböző típusú bemeneteket és kimeneteket képes kezelni. Megadhat egy XsltArgumentList további argumentumokat is, amelyek bemenetként használhatók az átalakítás során.

Biztonsági szempontok

Az osztályt használó XslTransform alkalmazás létrehozásakor tisztában kell lennie a következő elemekkel és azok következményeival:

  • A bővítményobjektumok alapértelmezés szerint engedélyezve vannak. Ha egy XsltArgumentList bővítményobjektumokat tartalmazó objektumot ad át a Transform metódusnak, a rendszer ezeket használja.

  • Az XSLT-stíluslapok tartalmazhatnak más fájlokra és beágyazott szkriptblokkokra mutató hivatkozásokat. A rosszindulatú felhasználók kihasználhatják ezt azáltal, hogy olyan adatokat vagy stíluslapokat ad meg Önnek, amelyek végrehajtásakor a rendszer addig fog feldolgozni, amíg a számítógép nem fut kevés erőforrással.

  • A vegyes megbízhatósági környezetben futó XSLT-alkalmazások stíluslap-hamisítást eredményezhetnek. Egy rosszindulatú felhasználó például betölthet egy objektumot egy káros stíluslappal, és átadhatja azt egy másik felhasználónak, aki később meghívja a Transform metódust, és végrehajtja az átalakítást.

Ezek a biztonsági problémák azzal háríthatók el, hogy nem fogadnak el XslTransform nem megbízható forrásokból származó objektumokat, XSLT-stíluslapokat vagy XML-forrásadatokat.

Parancsfájl-támogatás

Ez az osztály támogatja az elem használatával történő beágyazott szkriptelést msxsl:script .

A .NET-keretrendszer 1.1-es verziójában a stíluslap bizonyítéka határozza meg, hogy milyen engedélyeket kapnak a beágyazott szkriptek.

  • Ha a stíluslap egy egységes erőforrás-azonosítóból (URI) lett betöltve, a rendszer az URI használatával hozza létre a bizonyítékot. Ez a bizonyíték magában foglalja az URI-t a helyével és a zónájával együtt.

  • Ha a stíluslap egy másik forrásból lett betöltve, az objektumnak a System.Security.Policy.Evidence metódusnak való átadásával Load bizonyítható. Ellenkező esetben a szkriptszerelvény teljes megbízhatósági kapcsolatmal rendelkezik.

Félig megbízható hívók: UnmanagedCode a beágyazott szkript fordításához engedély szükséges. ControlEvidence a metódus megadásához EvidenceLoad engedélyre van szükség. Az A SecurityException akkor lesz eldobva, ha a hívó nem rendelkezik a szükséges engedélyekkel. További információért tekintse meg a System.Security.Permissions.SecurityPermission és a System.Security.Permissions.SecurityPermissionFlag.

Az msxsl:script elemre a következő követelmények vonatkoznak:

  • Az msxsl:script elem a urn:schemas-microsoft-com:xslt névtérhez tartozik. A stíluslapnak tartalmaznia kell a névtér deklarációját xmlns:msxsl=urn:schemas-microsoft-com:xslt.

  • Az msxsl:script elem tartalmazhat egy language attribútumot, amely meghatározza a használni kívánt szkriptnyelvet. Az attribútum értékének a language következők egyikének kell lennie: C#, CSharp, VB, VisualBasic, JScript vagy JavaScript. Mivel a nyelv neve nem megkülönbözteti a kis- és nagybetűket, a JavaScript és a JavaScript egyaránt érvényes. Ha nincs language megadva attribútum, az alapértelmezés szerint JScript lesz.

  • Az msxsl:script elemnek tartalmaznia kell egy implements-prefix attribútumot, amely tartalmazza a szkriptblokkhoz társított névteret képviselő előtagot. Ezt a névteret a stíluslapon belül kell meghatározni. A stíluslapok több szkriptblokkot is tartalmazhatnak, amelyek névtér szerint vannak csoportosítva. Nem rendelkezhet több nyelvvel rendelkező szkriptblokkokkal ugyanabban a névtérben. A szkriptblokkok meghívhatnak egy másik szkriptblokkban definiált függvényt, feltéve, hogy a szkriptblokkok ugyanabban a névtérben találhatók. A szkriptblokk tartalma a szkriptnyelv szabályainak és szintaxisának megfelelően van elemezve (az language attribútum adja meg). Ha például C#-szkriptblokkja van, a megjegyzések előtagja a // karakterek lesznek. A megjegyzéseknek érvényes XML-tartalomnak kell lenniük.

Note

Javasoljuk, hogy egy CDATA szakaszban törje körbe a szkriptblokkokat.

<msxsl:script implements-prefix='xy' language='C#'>  
 <![CDATA[  
 // Add code here.  
 ]]>
</msxsl:script>  

A függvények deklarálhatók az elemen msxsl:script belül. Az alábbi táblázat az alapértelmezés szerint támogatott névtereket mutatja be.

Támogatott névterek Leírás
System Rendszerosztályok.
System.Collection Gyűjteményosztályok.
System.Text Szövegkezelő osztályok.
System.Xml Alapvető XML-osztályok.
System.Xml.Xsl XSLT-osztályok.
System.Xml.XPath XML Path Language (XPath) osztályok.

A szkriptfüggvények által megadott argumentumoknak és visszatérési értékeknek az alább felsorolt World Wide Web Consortium (W3C) típusok egyikének kell lenniük. Az alábbi táblázat a W3C-típusok (XPath vagy XSLT) és a megfelelő .NET keretrendszerosztályok közötti leképezést ismerteti.

W3C-típus Egyenértékű .NET osztály
Sztring (XPath) System.String
Logikai (XPath) System.Boolean
Szám (XPath) System.Double
Eredményfatöredék (XSLT) System.Xml.XPath.XPathNavigator
Csomópontkészlet (XPath) System.Xml.XPath.XPathNodeIterator

Ha a szkriptfüggvény a következő numerikus típusok egyikét használja: Int16, UInt16, Int32, UInt32, Int64, UInt64, Single vagy Decimális, ezek a típusok dupla értékre vannak kényszerítve, amely a W3C XPath-típusszámra van leképezve.

Kivétel akkor keletkezik, ha olyan függvényt hívunk meg, amely nem tudja átalakítani az argumentum eredményét a szükséges típusok egyikére.

Note

msxsl:script és msxsl:node-list azok az egyetlen függvények a urn:schemas-microsoft-com:xslt névtérből, amelyeket az XslTransform osztály támogat.

XslTransform képes a közös nyelvi futtatókörnyezeti (CLR) kód bővítménymechanizmusként való használatára. Ez úgy érhető el, hogy átad egy osztálypéldányt az XslTransform osztálynak, és meghívja annak nyilvános metódusait egy XSLT-stíluslapon. A kulcsszóval params definiált metódusok, amelyek meghatározatlan számú paraméter átadását teszik lehetővé, ebben a forgatókönyvben nem működnek megfelelően. További részletekért lásd a paramokat .

További információ: XSLT-átalakítások az XslTransform osztálysal.

Konstruktorok

Name Description
XslTransform()
Elavult.

Inicializálja a XslTransform osztály új példányát.

Tulajdonságok

Name Description
XmlResolver
Elavult.

Beállítja a XmlResolver külső erőforrások feloldásához használt erőforrásokat a Transform metódus meghívásakor.

Metódusok

Name Description
Equals(Object)
Elavult.

Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal.

(Öröklődés forrása Object)
GetHashCode()
Elavult.

Ez az alapértelmezett kivonatoló függvény.

(Öröklődés forrása Object)
GetType()
Elavult.

Lekéri az Type aktuális példányt.

(Öröklődés forrása Object)
Load(IXPathNavigable, XmlResolver, Evidence)
Elavult.

Betölti a fájlban IXPathNavigabletalálható XSLT-stíluslapot. Ez a módszer lehetővé teszi a stíluslap engedélyeinek korlátozását bizonyíték megadásával.

Load(IXPathNavigable, XmlResolver)
Elavult.

Betölti a fájlban IXPathNavigabletalálható XSLT-stíluslapot.

Load(IXPathNavigable)
Elavult.

Betölti a fájlban IXPathNavigabletalálható XSLT-stíluslapot.

Load(String, XmlResolver)
Elavult.

Betölti az URL-cím által megadott XSLT stíluslapot.

Load(String)
Elavult.

Betölti az URL-cím által megadott XSLT stíluslapot.

Load(XmlReader, XmlResolver, Evidence)
Elavult.

Betölti a fájlban XmlReadertalálható XSLT-stíluslapot. Ez a módszer lehetővé teszi a stíluslap engedélyeinek korlátozását bizonyíték megadásával.

Load(XmlReader, XmlResolver)
Elavult.

Betölti a fájlban XmlReadertalálható XSLT-stíluslapot.

Load(XmlReader)
Elavult.

Betölti a fájlban XmlReadertalálható XSLT-stíluslapot.

Load(XPathNavigator, XmlResolver, Evidence)
Elavult.

Betölti a fájlban XPathNavigatortalálható XSLT-stíluslapot. Ez a módszer lehetővé teszi a stíluslap engedélyeinek korlátozását bizonyíték megadásával.

Load(XPathNavigator, XmlResolver)
Elavult.

Betölti a fájlban XPathNavigatortalálható XSLT-stíluslapot.

Load(XPathNavigator)
Elavult.

Betölti a fájlban XPathNavigatortalálható XSLT-stíluslapot.

MemberwiseClone()
Elavult.

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
ToString()
Elavult.

Az aktuális objektumot jelképező sztringet ad vissza.

(Öröklődés forrása Object)
Transform(IXPathNavigable, XsltArgumentList, Stream, XmlResolver)
Elavult.

Átalakítja az XML-adatokat a IXPathNavigable megadott args használatával, és az eredményt egy Stream.

Transform(IXPathNavigable, XsltArgumentList, Stream)
Elavult.

Átalakítja az XML-adatokat a IXPathNavigable megadott args használatával, és az eredményt egy Stream.

Transform(IXPathNavigable, XsltArgumentList, TextWriter, XmlResolver)
Elavult.

Átalakítja az XML-adatokat a IXPathNavigable megadott args használatával, és az eredményt egy TextWriter.

Transform(IXPathNavigable, XsltArgumentList, TextWriter)
Elavult.

Átalakítja az XML-adatokat a IXPathNavigable megadott args használatával, és az eredményt egy TextWriter.

Transform(IXPathNavigable, XsltArgumentList, XmlResolver)
Elavult.

Átalakítja az XML-adatokat a IXPathNavigable megadott args használatával, és az eredményt egy XmlReader.

Transform(IXPathNavigable, XsltArgumentList, XmlWriter, XmlResolver)
Elavult.

Átalakítja az XML-adatokat a IXPathNavigable megadott args használatával, és az eredményt egy XmlWriter.

Transform(IXPathNavigable, XsltArgumentList, XmlWriter)
Elavult.

Átalakítja az XML-adatokat a IXPathNavigable megadott args használatával, és az eredményt egy XmlWriter.

Transform(IXPathNavigable, XsltArgumentList)
Elavult.

Átalakítja az XML-adatokat a IXPathNavigable megadott args használatával, és az eredményt egy XmlReader.

Transform(String, String, XmlResolver)
Elavult.

Átalakítja a bemeneti fájl XML-adatait, és kimenetfájllá alakítja az eredményt.

Transform(String, String)
Elavult.

Átalakítja a bemeneti fájl XML-adatait, és kimenetfájllá alakítja az eredményt.

Transform(XPathNavigator, XsltArgumentList, Stream, XmlResolver)
Elavult.

Átalakítja az XML-adatokat a XPathNavigator megadott args használatával, és az eredményt egy Stream.

Transform(XPathNavigator, XsltArgumentList, Stream)
Elavult.

Átalakítja az XML-adatokat a XPathNavigator megadott args használatával, és az eredményt egy Stream.

Transform(XPathNavigator, XsltArgumentList, TextWriter, XmlResolver)
Elavult.

Átalakítja az XML-adatokat a XPathNavigator megadott args használatával, és az eredményt egy TextWriter.

Transform(XPathNavigator, XsltArgumentList, TextWriter)
Elavult.

Átalakítja az XML-adatokat a XPathNavigator megadott args használatával, és az eredményt egy TextWriter.

Transform(XPathNavigator, XsltArgumentList, XmlResolver)
Elavult.

Átalakítja az XML-adatokat a XPathNavigator megadott args használatával, és az eredményt egy XmlReader.

Transform(XPathNavigator, XsltArgumentList, XmlWriter, XmlResolver)
Elavult.

Átalakítja az XML-adatokat a XPathNavigator megadott args használatával, és az eredményt egy XmlWriter.

Transform(XPathNavigator, XsltArgumentList, XmlWriter)
Elavult.

Átalakítja az XML-adatokat a XPathNavigator megadott args használatával, és az eredményt egy XmlWriter.

Transform(XPathNavigator, XsltArgumentList)
Elavult.

Átalakítja az XML-adatokat a XPathNavigator megadott args használatával, és az eredményt egy XmlReader.

A következőre érvényes:

Szálbiztonság

XslTransform az objektumok csak szálbiztosak az átalakítási műveletekhez. Más műveletek nem garantáltan szálbiztosak. A terhelési műveletek során gondoskodnia kell arról, hogy a rendszer ne hívjon meg más metódusokat az objektumon.