Megosztás a következőn keresztül:


Az XslCompiledTransform osztály bemenetei

A Transform metódus három bemeneti típust fogad el a forrásdokumentumhoz: az interfészt megvalósító IXPathNavigable objektumot, a XmlReader forrásdokumentumot beolvasó objektumot vagy egy sztring URI-t.

Feljegyzés

Az XslCompiledTransform osztály alapértelmezés szerint megőrzi a szabad területet. Ez megfelel a W3C XSLT 1.0 javaslat 3.4. szakaszának.

IXPathNavigable Interface

A IXPathNavigable felület implementálva van az osztályokban és XPathDocument az XmlNode osztályokban. Ezek az osztályok XML-adatok memórián belüli gyorsítótárát jelölik.

  • Az XmlNode osztály a W3C-dokumentumobjektum-modellen (DOM) alapul, és szerkesztési képességeket is tartalmaz.

  • Az XPathDocument osztály egy írásvédett adattár az XPath-adatmodell alapján. XPathDocument az XSLT-feldolgozás ajánlott osztálya. Az osztályhoz XmlNode képest gyorsabb teljesítményt nyújt.

Feljegyzés

Az átalakítások a dokumentum egészére vonatkoznak. Más szóval, ha a dokumentum gyökércsomópontjától eltérő csomópontot ad át, az nem akadályozza meg, hogy az átalakítási folyamat hozzáférjen a betöltött dokumentum összes csomópontjának eléréséhez. Csomóponttöredék átalakításához létre kell hoznia egy olyan objektumot, amely csak a csomóponttöredéket tartalmazza, és át kell adnia az objektumot a Transform metódusnak. További információ : Csomóponttöredék átalakítása.

Az alábbi példa a XslCompiledTransform.Transform books.xml fájl books.html fájllá alakításához használja a transform.xsl stíluslap használatával. A books.xml és a transform.xsl fájlok a következő témakörben találhatók: Útmutató: XSLT-átalakítás végrehajtása szerelvény használatával.

// Open books.xml as an XPathDocument.
XPathDocument doc = new XPathDocument("books.xml");

// Create a writer for writing the transformed file.
XmlWriter writer = XmlWriter.Create("books.html");

// Create and load the transform with script execution enabled.
XslCompiledTransform transform = new XslCompiledTransform();
XsltSettings settings = new XsltSettings();
settings.EnableScript = true;
transform.Load("transform.xsl", settings, null);

// Execute the transformation.
transform.Transform(doc, writer);
' Open books.xml as an XPathDocument.
Dim doc As XPathDocument = New XPathDocument("books.xml")

' Create a writer for writing the transformed file.
Dim writer As XmlWriter = XmlWriter.Create("books.html")

' Create and load the transform with script execution enabled.
Dim transform As XslCompiledTransform = New XslCompiledTransform()
Dim settings As XsltSettings = New XsltSettings()
settings.EnableScript = True
transform.Load("transform.xsl", settings, Nothing)

'Execute the transformation.
transform.Transform(doc, writer)

XmlReader-objektum

A Transform metódus az összes gyermek aktuális csomópontjáról XmlReader betöltődik. Ez lehetővé teszi, hogy a dokumentum egy részét környezeti dokumentumként használja. A metódus visszatérése Transform után a XmlReader rendszer a környezeti dokumentum vége után a következő csomóponton helyezkedik el. Ha a dokumentum vége el van érve, az a XmlReader fájl végén (EOF) van elhelyezve.

Az alábbi példa a XslCompiledTransform.Transform books.xml fájl books.html fájllá alakításához használja a transform.xsl stíluslap használatával. A books.xml és a transform.xsl fájlok a következő témakörben találhatók: Útmutató: XSLT-átalakítás végrehajtása szerelvény használatával.

// Create a reader to read books.xml
XmlReader reader = XmlReader.Create("books.xml");

// Create a writer for writing the transformed file.
XmlWriter writer = XmlWriter.Create("books.html");

// Create and load the transform with script execution enabled.
XslCompiledTransform transform = new XslCompiledTransform();
XsltSettings settings = new XsltSettings();
settings.EnableScript = true;
transform.Load("transform.xsl", settings, null);

// Execute the transformation.
transform.Transform(reader, writer);
'Create a reader to read books.xml
Dim reader As XmlReader = XmlReader.Create("books.xml")

' Create a writer for writing the transformed file.
Dim writer As XmlWriter = XmlWriter.Create("books.html")

' Create and load the transform with script execution enabled.
Dim transform As XslCompiledTransform = New XslCompiledTransform()
Dim settings As XsltSettings = New XsltSettings()
settings.EnableScript = True
transform.Load("transform.xsl", settings, Nothing)

' Execute the transformation.
transform.Transform(reader, writer)

Sztring URI

A forrásdokumentum URI-ját is megadhatja XSLT-bemenetként. Egy XmlResolver az URI feloldására szolgál. A használni kívánt értéket úgy adhatja meg XmlResolver , hogy átadja a Transform metódusnak. Ha nincs megadva, XmlResolver a Transform metódus hitelesítő adatok nélküli alapértelmezett XmlUrlResolver értéket használ.

Az alábbi példa a XslCompiledTransform.Transform books.xml fájl books.html fájllá alakításához használja a transform.xsl stíluslap használatával. A books.xml és a transform.xsl fájlok a következő témakörben találhatók: Útmutató: XSLT-átalakítás végrehajtása szerelvény használatával.

// Create and load the transform with script execution enabled.
XslCompiledTransform transform = new XslCompiledTransform();
XsltSettings settings = new XsltSettings();
settings.EnableScript = true;
transform.Load("transform.xsl", settings, null);

// Execute the transformation.
transform.Transform("books.xml", "books.html");
' Create and load the transform with script execution enabled.
Dim transform As XslCompiledTransform = New XslCompiledTransform()
Dim settings As XsltSettings = New XsltSettings()
settings.EnableScript = True
transform.Load("transform.xsl", settings, Nothing)

' Execute the transformation.
transform.Transform("books.xml", "books.html")

További információ: Külső erőforrások feloldása az XSLT-feldolgozás során.

Lásd még