Aracılığıyla paylaş


XslTransform.Transform Yöntem

Tanım

Yüklenen XSLT stil sayfasını kullanarak XML verilerini dönüştürür.

Aşırı Yüklemeler

Transform(XPathNavigator, XsltArgumentList, XmlResolver)

belirtilen args öğesini kullanarak içindeki XPathNavigator XML verilerini dönüştürür ve sonucu bir XmlReaderöğesine döndürür.

Transform(XPathNavigator, XsltArgumentList, TextWriter, XmlResolver)

belirtilen args öğesini kullanarak içindeki XPathNavigator XML verilerini dönüştürür ve sonucu bir TextWriteröğesine döndürür.

Transform(XPathNavigator, XsltArgumentList, Stream, XmlResolver)

belirtilen args öğesini kullanarak içindeki XPathNavigator XML verilerini dönüştürür ve sonucu bir Streamöğesine döndürür.

Transform(IXPathNavigable, XsltArgumentList, XmlWriter, XmlResolver)

belirtilen args öğesini kullanarak içindeki IXPathNavigable XML verilerini dönüştürür ve sonucu bir XmlWriteröğesine döndürür.

Transform(IXPathNavigable, XsltArgumentList, TextWriter, XmlResolver)

belirtilen args öğesini kullanarak içindeki IXPathNavigable XML verilerini dönüştürür ve sonucu bir TextWriteröğesine döndürür.

Transform(IXPathNavigable, XsltArgumentList, Stream, XmlResolver)

belirtilen args öğesini kullanarak içindeki IXPathNavigable XML verilerini dönüştürür ve sonucu bir Streamöğesine döndürür.

Transform(XPathNavigator, XsltArgumentList, XmlWriter)
Kullanımdan kalktı.

belirtilen bağımsız değişkenleri kullanarak içindeki XPathNavigator XML verilerini dönüştürür ve sonucu bir XmlWriteröğesine döndürür.

Transform(XPathNavigator, XsltArgumentList, TextWriter)
Kullanımdan kalktı.

belirtilen args öğesini kullanarak içindeki XPathNavigator XML verilerini dönüştürür ve sonucu bir TextWriteröğesine döndürür.

Transform(String, String, XmlResolver)

Giriş dosyasındaki XML verilerini dönüştürür ve sonucu bir çıkış dosyasına dönüştürür.

Transform(IXPathNavigable, XsltArgumentList, XmlWriter)
Kullanımdan kalktı.

belirtilen args öğesini kullanarak içindeki IXPathNavigable XML verilerini dönüştürür ve sonucu bir XmlWriteröğesine döndürür.

Transform(IXPathNavigable, XsltArgumentList, XmlResolver)

belirtilen args öğesini kullanarak içindeki IXPathNavigable XML verilerini dönüştürür ve sonucu bir XmlReaderöğesine döndürür.

Transform(IXPathNavigable, XsltArgumentList, TextWriter)
Kullanımdan kalktı.

belirtilen args öğesini kullanarak içindeki IXPathNavigable XML verilerini dönüştürür ve sonucu öğesine TextWriterdöndürür.

Transform(IXPathNavigable, XsltArgumentList, Stream)
Kullanımdan kalktı.

belirtilen args öğesini kullanarak içindeki IXPathNavigable XML verilerini dönüştürür ve sonucu öğesine Streamdöndürür.

Transform(XPathNavigator, XsltArgumentList, XmlWriter, XmlResolver)

belirtilen bağımsız değişkenleri kullanarak içindeki XPathNavigator XML verilerini dönüştürür ve sonucu bir XmlWriteröğesine döndürür.

Transform(XPathNavigator, XsltArgumentList)
Kullanımdan kalktı.

belirtilen args öğesini kullanarak içindeki XPathNavigator XML verilerini dönüştürür ve sonucu bir XmlReaderöğesine döndürür.

Transform(IXPathNavigable, XsltArgumentList)
Kullanımdan kalktı.

belirtilen args öğesini kullanarak içindeki IXPathNavigable XML verilerini dönüştürür ve sonucu bir XmlReaderöğesine döndürür.

Transform(String, String)
Kullanımdan kalktı.

Giriş dosyasındaki XML verilerini dönüştürür ve sonucu bir çıkış dosyasına dönüştürür.

Transform(XPathNavigator, XsltArgumentList, Stream)
Kullanımdan kalktı.

belirtilen args öğesini kullanarak içindeki XPathNavigator XML verilerini dönüştürür ve sonucu bir Streamöğesine döndürür.

Açıklamalar

Not

sınıf XslTransform .NET Framework sürüm 2.0'da kullanımdan kaldırıldı. XslCompiledTransform sınıfı yeni XSLT işlemcidir. Daha fazla bilgi için bkz. XslCompiledTransform Sınıfını Kullanma ve XslTransform Sınıfından Geçirme.

Transform(XPathNavigator, XsltArgumentList, XmlResolver)

belirtilen args öğesini kullanarak içindeki XPathNavigator XML verilerini dönüştürür ve sonucu bir XmlReaderöğesine döndürür.

public:
 System::Xml::XmlReader ^ Transform(System::Xml::XPath::XPathNavigator ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::Xml::XmlResolver ^ resolver);
public System.Xml.XmlReader Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList? args, System.Xml.XmlResolver? resolver);
public System.Xml.XmlReader Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList args, System.Xml.XmlResolver resolver);
member this.Transform : System.Xml.XPath.XPathNavigator * System.Xml.Xsl.XsltArgumentList * System.Xml.XmlResolver -> System.Xml.XmlReader
Public Function Transform (input As XPathNavigator, args As XsltArgumentList, resolver As XmlResolver) As XmlReader

Parametreler

input
XPathNavigator

XPathNavigator Dönüştürülecek verileri içeren.

args
XsltArgumentList

Dönüştürmeye XsltArgumentList giriş olarak kullanılan ad alanı nitelenmiş bağımsız değişkenleri içeren.

resolver
XmlResolver

XmlResolver XSLT document() işlevini çözümlemek için kullanılır. Bu ise nulldocument() işlevi çözümlenmez.

XmlResolver yöntemi tamamlandıktan sonra Transform(XPathNavigator, XsltArgumentList, XmlResolver) önbelleğe alınmaz.

Döndürülenler

XmlReader

Dönüştürmenin XmlReader sonuçlarını içeren.

Özel durumlar

XSLT dönüşümü işlenirken bir hata oluştu.

Not: Bu, önceki sürümlerdeki davranış değişikliğidir. XsltException Microsoft .NET Framework sürüm 1.1 veya önceki bir sürümü kullanıyorsanız bir oluşturulur.

Açıklamalar

Not

sınıfıXslTransform, .NET Framework sürüm 2.0'da kullanımdan kaldırıldı. XslCompiledTransform sınıfı yeni XSLT işlemcidir. Daha fazla bilgi için bkz. XslCompiledTransform Sınıfını Kullanma ve XslTransform Sınıfından Geçiş.

XslTransform XSLT 1.0 söz dizimini destekler. XSLT stil sayfası ad alanı bildirimini xmlns:xsl= http://www.w3.org/1999/XSL/Transformiçermelidir.

, args stil sayfasında tanımlanan öğelerle xsl:param eşleştirilir. Dönüştürme seçimleri belgeye bir bütün olarak uygulanır. Başka bir deyişle, geçerli düğüm belge kök düğümü dışında bir düğüm ağacında ayarlandıysa, bu işlem dönüştürme işleminin yüklenen belgedeki tüm düğümlere erişmesini engellemez. Dönüştürme gerçekleştirildikten sonra, XPathNavigator özgün durumunda kalır. Bu, dönüştürme işleminden önce geçerli olan düğümün, yöntem çağrıldıktan sonra Transform geçerli düğüm olarak kalacağı anlamına gelir.

XmlReader Salt okunur çıkış sağladığındanxsl:output, öğesi yoksayılır. Daha fazla bilgi için bkz . XslTransform çıkışları .

Bu yöntem, kaynak belgenin zaman uyumsuz dönüştürmesini yapmanızı sağlar.

Ayrıca bkz.

Şunlara uygulanır

Transform(XPathNavigator, XsltArgumentList, TextWriter, XmlResolver)

belirtilen args öğesini kullanarak içindeki XPathNavigator XML verilerini dönüştürür ve sonucu bir TextWriteröğesine döndürür.

public:
 void Transform(System::Xml::XPath::XPathNavigator ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::IO::TextWriter ^ output, System::Xml::XmlResolver ^ resolver);
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList? args, System.IO.TextWriter output, System.Xml.XmlResolver? resolver);
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList args, System.IO.TextWriter output, System.Xml.XmlResolver resolver);
member this.Transform : System.Xml.XPath.XPathNavigator * System.Xml.Xsl.XsltArgumentList * System.IO.TextWriter * System.Xml.XmlResolver -> unit
Public Sub Transform (input As XPathNavigator, args As XsltArgumentList, output As TextWriter, resolver As XmlResolver)

Parametreler

input
XPathNavigator

XPathNavigator Dönüştürülecek verileri içeren.

args
XsltArgumentList

Dönüştürmeye XsltArgumentList giriş olarak kullanılan ad alanı nitelenmiş bağımsız değişkenleri içeren.

output
TextWriter

Çıktısını TextWriter almak istediğiniz.

resolver
XmlResolver

XmlResolver XSLT document() işlevini çözümlemek için kullanılır. Bu ise nulldocument() işlevi çözümlenmez.

XmlResolver yöntemi tamamlandıktan sonra Transform(XPathNavigator, XsltArgumentList, TextWriter, XmlResolver) önbelleğe alınmaz.

Özel durumlar

XSLT dönüşümü işlenirken bir hata oluştu.

Not: Bu, önceki sürümlerdeki davranış değişikliğidir. XsltException Microsoft .NET Framework sürüm 1.1 veya önceki bir sürümü kullanıyorsanız bir oluşturulur.

Açıklamalar

Not

sınıfıXslTransform, .NET Framework sürüm 2.0'da kullanımdan kaldırıldı. XslCompiledTransform sınıfı yeni XSLT işlemcidir. Daha fazla bilgi için bkz. XslCompiledTransform Sınıfını Kullanma ve XslTransform Sınıfından Geçiş.

XslTransform XSLT 1.0 söz dizimini destekler. XSLT stil sayfası ad alanı bildirimini xmlns:xsl= http://www.w3.org/1999/XSL/Transformiçermelidir.

, args stil sayfasında tanımlanan öğelerle xsl:param eşleştirilir. Dönüştürme seçimleri belgeye bir bütün olarak uygulanır. Başka bir deyişle, geçerli düğüm belge kök düğümü dışında bir düğüm ağacında ayarlandıysa, bu işlem dönüştürme işleminin yüklenen belgedeki tüm düğümlere erişmesini engellemez. Dönüştürme gerçekleştirildikten sonra, XPathNavigator özgün durumunda kalır. Bu, dönüştürme işleminden önce geçerli olan düğümün, yöntem çağrıldıktan sonra Transform geçerli düğüm olarak kalacağı anlamına gelir.

bir öğesine çıkış TextWriteryapılırken bir xsl:output öğedeki kodlama özniteliği desteklenmez. Özniteliklerin desteklendiği xsl:output özellikler için bkz. XslTransform çıkışları.

Ayrıca bkz.

Şunlara uygulanır

Transform(XPathNavigator, XsltArgumentList, Stream, XmlResolver)

belirtilen args öğesini kullanarak içindeki XPathNavigator XML verilerini dönüştürür ve sonucu bir Streamöğesine döndürür.

public:
 void Transform(System::Xml::XPath::XPathNavigator ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::IO::Stream ^ output, System::Xml::XmlResolver ^ resolver);
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList? args, System.IO.Stream output, System.Xml.XmlResolver? resolver);
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList args, System.IO.Stream output, System.Xml.XmlResolver resolver);
member this.Transform : System.Xml.XPath.XPathNavigator * System.Xml.Xsl.XsltArgumentList * System.IO.Stream * System.Xml.XmlResolver -> unit
Public Sub Transform (input As XPathNavigator, args As XsltArgumentList, output As Stream, resolver As XmlResolver)

Parametreler

input
XPathNavigator

XPathNavigator Dönüştürülecek verileri içeren.

args
XsltArgumentList

Dönüştürmeye XsltArgumentList giriş olarak kullanılan ad alanı nitelenmiş bağımsız değişkenleri içeren.

output
Stream

Çıkışını almak istediğiniz akış.

resolver
XmlResolver

XmlResolver XSLT document() işlevini çözümlemek için kullanılır. Bu ise nulldocument() işlevi çözümlenmez.

XmlResolver yöntemi tamamlandıktan sonra Transform(XPathNavigator, XsltArgumentList, Stream, XmlResolver) önbelleğe alınmaz.

Özel durumlar

XSLT dönüşümü işlenirken bir hata oluştu.

Not: Bu, önceki sürümlerdeki davranış değişikliğidir. XsltException Microsoft .NET Framework sürüm 1.1 veya önceki bir sürümü kullanıyorsanız bir oluşturulur.

Örnekler

Aşağıdaki örnek bir müşteri tablosunu içine XmlDataDocument yükler ve müşteri verilerini bir HTML tablosuna çekmek için bir XSLT dönüşümü gerçekleştirir. Örnekte Microsoft SQL Server 2000 Northwind veritabanı kullanılır.

using System;
using System.IO;
using System.Data;
using System.Data.SqlClient;
using System.Xml;
using System.Xml.XPath;
using System.Xml.Xsl;

public class Sample
{
  public static void Main()
  {

     // Create a DataSet and load it with customer data.
     DataSet dsNorthwind = new DataSet();
     String sConnect;
     sConnect="Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind";
     SqlConnection nwconnect = new SqlConnection(sConnect);
     String sCommand = "Select * from Customers where Region='WA'";
     SqlDataAdapter myDataAdapter = new SqlDataAdapter(sCommand, nwconnect);
     myDataAdapter.Fill(dsNorthwind,"Customers");

     // Load the DataSet into an XmlDataDocument.
     XmlDataDocument doc = new XmlDataDocument(dsNorthwind);

     // Create the XslTransform object and load the stylesheet.
     XslTransform xsl = new XslTransform();
     xsl.Load("customers.xsl");

     // Create an XPathNavigator to use in the transform.
     XPathNavigator nav = doc.CreateNavigator();

     // Create a FileStream object.
     FileStream fs = new FileStream("cust.html", FileMode.Create);

     // Transform the data.
     xsl.Transform(nav, null, fs, null);
  }
}
Imports System.IO
Imports System.Data
Imports System.Data.SqlClient
Imports System.Xml
Imports System.Xml.XPath
Imports System.Xml.Xsl

public class Sample

  public shared sub Main()

     ' Create a DataSet and load it with customer data.
     Dim dsNorthwind as DataSet = new DataSet()        
     Dim sConnect as String           
     sConnect="Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind"     
     Dim nwconnect as SqlConnection
     nwconnect = new SqlConnection(sConnect)
     Dim sCommand as String = "Select * from Customers where Region='WA'"
     Dim myDataAdapter as SqlDataAdapter
     myDataAdapter = new SqlDataAdapter(sCommand, nwconnect)
     myDataAdapter.Fill(dsNorthwind,"Customers")

     ' Load the DataSet into an XmlDataDocument.
     Dim doc as XmlDataDocument = new XmlDataDocument(dsNorthwind)   

     ' Create the XslTransform object and load the stylesheet.
     Dim xsl as XslTransform = new XslTransform()     
     xsl.Load("customers.xsl")

     ' Create an XPathNavigator to use in the transform.
     Dim nav as XPathNavigator = doc.CreateNavigator()

     ' Create a FileStream object.
     Dim fs as FileStream = new FileStream("cust.html", FileMode.Create)
 
     ' Transform the data.
     xsl.Transform(nav, nothing, fs, nothing)
    
  end sub
end class

Örnek, giriş olarak dosyasını kullanır customers.xsl .

<!-- Stylesheet to sort customers by city-->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

  <xsl:template match="NewDataSet">
    <HTML>
      <BODY>
        <TABLE BORDER="2">
          <TR>
            <TD>Company Name</TD>
            <TD>Contact Name</TD>
            <TD>City</TD>
          </TR>
         <xsl:apply-templates select="Customers">
            <xsl:sort select="City"/>
         </xsl:apply-templates>
        </TABLE>
      </BODY>
    </HTML>
  </xsl:template>

  <xsl:template match="Customers">
    <TR>
      <TD><xsl:value-of select="CompanyName"/></TD>
      <TD><xsl:value-of select="ContactName"/></TD>
      <TD><xsl:value-of select="City"/></TD>
    </TR>
  </xsl:template>

</xsl:stylesheet>

Açıklamalar

Not

sınıfıXslTransform, .NET Framework sürüm 2.0'da kullanımdan kaldırıldı. XslCompiledTransform sınıfı yeni XSLT işlemcidir. Daha fazla bilgi için bkz. XslCompiledTransform Sınıfını Kullanma ve XslTransform Sınıfından Geçiş.

XslTransform XSLT 1.0 söz dizimini destekler. XSLT stil sayfası ad alanı bildirimini xmlns:xsl= http://www.w3.org/1999/XSL/Transformiçermelidir.

, args stil sayfasında tanımlanan öğelerle xsl:param eşleştirilir. Dönüştürme seçimleri belgeye bir bütün olarak uygulanır. Başka bir deyişle, geçerli düğüm belge kök düğümü dışında bir düğüm ağacında ayarlandıysa, bu işlem dönüştürme işleminin yüklenen belgedeki tüm düğümlere erişmesini engellemez. Dönüştürme gerçekleştirildikten sonra, XPathNavigator özgün durumunda kalır. Bu, dönüştürme işleminden önce geçerli olan düğümün, yöntem çağrıldıktan sonra Transform geçerli düğüm olarak kalacağı anlamına gelir.

Özniteliklerin desteklendiği xsl:output özellikler için bkz. XslTransform çıkışları.

Ayrıca bkz.

Şunlara uygulanır

Transform(IXPathNavigable, XsltArgumentList, XmlWriter, XmlResolver)

belirtilen args öğesini kullanarak içindeki IXPathNavigable XML verilerini dönüştürür ve sonucu bir XmlWriteröğesine döndürür.

public:
 void Transform(System::Xml::XPath::IXPathNavigable ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::Xml::XmlWriter ^ output, System::Xml::XmlResolver ^ resolver);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList? args, System.Xml.XmlWriter output, System.Xml.XmlResolver? resolver);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList args, System.Xml.XmlWriter output, System.Xml.XmlResolver resolver);
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList * System.Xml.XmlWriter * System.Xml.XmlResolver -> unit
Public Sub Transform (input As IXPathNavigable, args As XsltArgumentList, output As XmlWriter, resolver As XmlResolver)

Parametreler

input
IXPathNavigable

Arabirimini uygulayan IXPathNavigable bir nesne. .NET Framework, bu bir (genellikle bir XmlDocument) veya dönüştürülecek verileri içeren bir XPathDocument olabilir XmlNode .

args
XsltArgumentList

Dönüştürmeye XsltArgumentList giriş olarak kullanılan ad alanı nitelenmiş bağımsız değişkenleri içeren.

output
XmlWriter

Çıktısını XmlWriter almak istediğiniz.

resolver
XmlResolver

XmlResolver XSLT document() işlevini çözümlemek için kullanılır. Bu ise nulldocument() işlevi çözümlenmez.

XmlResolver yöntemi tamamlandıktan sonra Transform(IXPathNavigable, XsltArgumentList, XmlWriter, XmlResolver) önbelleğe alınmaz.

Özel durumlar

XSLT dönüşümü işlenirken bir hata oluştu.

Not: Bu, önceki sürümlerdeki davranış değişikliğidir. XsltException Microsoft .NET Framework sürüm 1.1 veya önceki bir sürümü kullanıyorsanız bir oluşturulur.

Örnekler

Aşağıdaki örnek bir XML belgesini HTML belgesine dönüştürür. Tablodaki her kitabın ISBN'sini, başlığını ve fiyatını görüntüler.

#using <System.dll>
#using <System.Xml.dll>

using namespace System;
using namespace System::IO;
using namespace System::Xml;
using namespace System::Xml::Xsl;
using namespace System::Xml::XPath;

int main()
{
   String^ filename = "books.xml";
   String^ stylesheet = "output.xsl";

   //Load the stylesheet.
   XslTransform^ xslt = gcnew XslTransform;
   xslt->Load( stylesheet );

   //Load the file to transform.
   XPathDocument^ doc = gcnew XPathDocument( filename );

   //Create an XmlTextWriter which outputs to the console.
   XmlTextWriter^ writer = gcnew XmlTextWriter( Console::Out );

   //Transform the file and send the output to the console.
   xslt->Transform(doc,nullptr,writer,nullptr);
   writer->Close();
}
using System;
using System.IO;
using System.Xml;
using System.Xml.Xsl;
using System.Xml.XPath;

public class Sample
{
  private const String filename = "books.xml";
  private const String stylesheet = "output.xsl";

  public static void Main()
  {
    //Load the stylesheet.
    XslTransform xslt = new XslTransform();
    xslt.Load(stylesheet);

    //Load the file to transform.
    XPathDocument doc = new XPathDocument(filename);

    //Create an XmlTextWriter which outputs to the console.
    XmlTextWriter writer = new XmlTextWriter(Console.Out);

    //Transform the file and send the output to the console.
    xslt.Transform(doc, null, writer, null);
    writer.Close();
  }
}
Option Strict
Option Explicit

Imports System.IO
Imports System.Xml
Imports System.Xml.Xsl
Imports System.Xml.XPath

Public Class Sample
    Private Shared filename1 As String = "books.xml"
    Private Shared stylesheet1 As String = "output.xsl"
    
    
    Public Shared Sub Main()
        'Load the stylesheet.
        Dim xslt As New XslTransform()
        xslt.Load(stylesheet1)
        
        'Load the file to transform.
        Dim doc As New XPathDocument(filename1)
        
        'Create an XmlTextWriter which outputs to the console.
        Dim writer As New XmlTextWriter(Console.Out)
        
        'Transform the file and send the output to the console.
        xslt.Transform(doc, Nothing, writer, Nothing)
        writer.Close()
    End Sub
End Class

Örnek aşağıdaki iki giriş dosyasını kullanır.

books.xml

<?xml version='1.0'?>
<!-- This file represents a fragment of a book store inventory database -->
<bookstore>
  <book genre="autobiography" publicationdate="1981" ISBN="1-861003-11-0">
    <title>The Autobiography of Benjamin Franklin</title>
    <author>
      <first-name>Benjamin</first-name>
      <last-name>Franklin</last-name>
    </author>
    <price>8.99</price>
  </book>
  <book genre="novel" publicationdate="1967" ISBN="0-201-63361-2">
    <title>The Confidence Man</title>
    <author>
      <first-name>Herman</first-name>
      <last-name>Melville</last-name>
    </author>
    <price>11.99</price>
  </book>
  <book genre="philosophy" publicationdate="1991" ISBN="1-861001-57-6">
    <title>The Gorgias</title>
    <author>
      <name>Plato</name>
    </author>
    <price>9.99</price>
  </book>
</bookstore>

output.xsl

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="bookstore">
  <HTML>
    <BODY>
      <TABLE BORDER="2">
        <TR>
          <TD>ISBN</TD>
          <TD>Title</TD>
          <TD>Price</TD>
        </TR>
        <xsl:apply-templates select="book"/>
      </TABLE>
    </BODY>
  </HTML>
</xsl:template>
<xsl:template match="book">
  <TR>
    <TD><xsl:value-of select="@ISBN"/></TD>
    <TD><xsl:value-of select="title"/></TD>
    <TD><xsl:value-of select="price"/></TD>
  </TR>
</xsl:template>
</xsl:stylesheet>

Açıklamalar

Not

sınıfıXslTransform, .NET Framework sürüm 2.0'da kullanımdan kaldırıldı. XslCompiledTransform sınıfı yeni XSLT işlemcidir. Daha fazla bilgi için bkz. XslCompiledTransform Sınıfını Kullanma ve XslTransform Sınıfından Geçiş.

XslTransform XSLT 1.0 söz dizimini destekler. XSLT stil sayfası ad alanı bildirimini xmlns:xsl= http://www.w3.org/1999/XSL/Transformiçermelidir.

, args stil sayfasında tanımlanan öğelerle xsl:param eşleştirilir. xsl:output öğesine çıkış XmlWriter yapılırken öğesi desteklenmez (xsl:output yoksayılır). Daha fazla bilgi için bkz . XslTransform çıkışları .

Dönüştürmeler belgeye bir bütün olarak uygulanır. Başka bir deyişle, belge kök düğümü dışında bir düğüm geçirirseniz, bu işlem dönüştürme işleminin yüklenen belgedeki tüm düğümlere erişmesini engellemez. Bir düğüm parçasını dönüştürmek için yalnızca düğüm parçasını içeren bir XmlDocument oluşturmanız ve bunu XmlDocument yöntemine Transform geçirmeniz gerekir.

Aşağıdaki örnek bir düğüm parçası üzerinde dönüştürme gerçekleştirir.

XslTransform xslt = new XslTransform();       
xslt.Load("print_root.xsl");  
XmlDocument doc = new XmlDocument();  
doc.Load("library.xml");  
// Create a new document containing just the node fragment.  
XmlNode testNode = doc.DocumentElement.FirstChild;   
XmlDocument tmpDoc = new XmlDocument();   
tmpDoc.LoadXml(testNode.OuterXml);  
// Pass the document containing the node fragment   
// to the Transform method.  
Console.WriteLine("Passing " + tmpDoc.OuterXml + " to print_root.xsl");  
xslt.Transform(tmpDoc, null, Console.Out, null);  

Örnekte giriş olarak ve print_root.xsl dosyaları kullanılır library.xml ve konsolda aşağıdaki çıkışlar gerçekleştirilir.

Passing <book genre="novel" ISBN="1-861001-57-5"><title>Pride And Prejudice</title></book> to print_root.xsl   
Root node is book.  

library.xml

<library>  
  <book genre='novel' ISBN='1-861001-57-5'>  
     <title>Pride And Prejudice</title>  
  </book>  
  <book genre='novel' ISBN='1-81920-21-2'>  
     <title>Hook</title>  
  </book>  
</library>  

print_root.xsl

<stylesheet version="1.0" xmlns="http://www.w3.org/1999/XSL/Transform" >  
  <output method="text" />  
  <template match="/">  
  Root node is  <value-of select="local-name(//*[position() = 1])" />   
  </template>  
</stylesheet>  

Ayrıca bkz.

Şunlara uygulanır

Transform(IXPathNavigable, XsltArgumentList, TextWriter, XmlResolver)

belirtilen args öğesini kullanarak içindeki IXPathNavigable XML verilerini dönüştürür ve sonucu bir TextWriteröğesine döndürür.

public:
 void Transform(System::Xml::XPath::IXPathNavigable ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::IO::TextWriter ^ output, System::Xml::XmlResolver ^ resolver);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList? args, System.IO.TextWriter output, System.Xml.XmlResolver? resolver);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList args, System.IO.TextWriter output, System.Xml.XmlResolver resolver);
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList * System.IO.TextWriter * System.Xml.XmlResolver -> unit
Public Sub Transform (input As IXPathNavigable, args As XsltArgumentList, output As TextWriter, resolver As XmlResolver)

Parametreler

input
IXPathNavigable

Arabirimini uygulayan IXPathNavigable bir nesne. .NET Framework, bu bir (genellikle bir XmlDocument) veya dönüştürülecek verileri içeren bir XPathDocument olabilir XmlNode .

args
XsltArgumentList

Dönüştürmeye XsltArgumentList giriş olarak kullanılan ad alanı nitelenmiş bağımsız değişkenleri içeren.

output
TextWriter

Çıktısını TextWriter almak istediğiniz.

resolver
XmlResolver

XmlResolver XSLT document() işlevini çözümlemek için kullanılır. Bu ise nulldocument() işlevi çözümlenmez.

XmlResolver yöntemi tamamlandıktan sonra Transform(IXPathNavigable, XsltArgumentList, TextWriter, XmlResolver) önbelleğe alınmaz.

Özel durumlar

XSLT dönüşümü işlenirken bir hata oluştu.

Not: Bu, önceki sürümlerdeki davranış değişikliğidir. XsltException Microsoft .NET Framework sürüm 1.1 veya önceki bir sürümü kullanıyorsanız bir oluşturulur.

Örnekler

Aşağıdaki örnek bir XML dosyasını dönüştürür ve bir HTML dizesi verir. StringReader ve StringWriter sınıfları, dizeleri okumak ve yazmak için kullanılır.

using System;
using System.IO;
using System.Xml;
using System.Xml.Xsl;
using System.Xml.XPath;

public class Sample {

  public static void Main() {

    // Create a string containing the XSLT stylesheet.
    String xsltString =
    @"<xsl:stylesheet xmlns:xsl='http://www.w3.org/1999/XSL/Transform' version='1.0'>
        <xsl:template match='bookstore'>
           <HTML>
              <HEAD>
                 <TITLE>Book Titles</TITLE>
             </HEAD>
             <BODY>
                <xsl:apply-templates select='book'/>
             </BODY>
          </HTML>
        </xsl:template>
        <xsl:template match='book'>
          <P><xsl:value-of select='title'/></P>
        </xsl:template>
        </xsl:stylesheet>";

    // Create the XslTransform object.
    XslTransform xslt = new XslTransform();

    // Load the stylesheet.
    StringReader rdr = new StringReader(xsltString);
    xslt.Load(new XPathDocument(rdr), null, null);

    // Transform the file and output an HTML string.
    string HTMLoutput;
    StringWriter writer = new StringWriter();
    xslt.Transform(new XPathDocument("books.xml"), null, writer, null);
    HTMLoutput = writer.ToString();
  }
}
Imports System.IO
Imports System.Xml
Imports System.Xml.Xsl
Imports System.Xml.XPath

public class Sample 

  public shared sub Main() 
   
    ' Create a string containing the XSLT stylesheet.
    Dim xsltString as String 
    xsltString = "<xsl:stylesheet xmlns:xsl='http://www.w3.org/1999/XSL/Transform' version='1.0'>" & _
    "   <xsl:template match='bookstore'>" & _
    "      <HTML>" & _
    "         <HEAD>" & _
    "            <TITLE>Book Titles</TITLE>" & _
    "       </HEAD>" & _
    "        <BODY>" & _
    "           <xsl:apply-templates select='book'/>" & _
    "        </BODY>" & _
    "     </HTML>" & _
    "   </xsl:template>" & _
    "  <xsl:template match='book'>" & _
    "     <P><xsl:value-of select='title'/></P>" & _
    "   </xsl:template>" & _
    "   </xsl:stylesheet>"

    ' Create the XslTransform object.
    Dim xslt as XslTransform = new XslTransform()

    ' Load the stylesheet.
    Dim rdr as StringReader = new StringReader(xsltString)
    xslt.Load(new XPathDocument(rdr), nothing, nothing)

    ' Transform the file and output an HTML string.
    Dim HTMLoutput as string
    Dim writer as StringWriter = new StringWriter()
    xslt.Transform(new XPathDocument("books.xml"), nothing, writer, nothing)
    HTMLoutput = writer.ToString()

  end sub
end class

Örnek, giriş olarak dosyasını kullanır books.xml .

<?xml version='1.0'?>
<!-- This file represents a fragment of a book store inventory database -->
<bookstore>
  <book genre="autobiography" publicationdate="1981" ISBN="1-861003-11-0">
    <title>The Autobiography of Benjamin Franklin</title>
    <author>
      <first-name>Benjamin</first-name>
      <last-name>Franklin</last-name>
    </author>
    <price>8.99</price>
  </book>
  <book genre="novel" publicationdate="1967" ISBN="0-201-63361-2">
    <title>The Confidence Man</title>
    <author>
      <first-name>Herman</first-name>
      <last-name>Melville</last-name>
    </author>
    <price>11.99</price>
  </book>
  <book genre="philosophy" publicationdate="1991" ISBN="1-861001-57-6">
    <title>The Gorgias</title>
    <author>
      <name>Plato</name>
    </author>
    <price>9.99</price>
  </book>
</bookstore>

Açıklamalar

Not

sınıfıXslTransform, .NET Framework sürüm 2.0'da kullanımdan kaldırıldı. XslCompiledTransform sınıfı yeni XSLT işlemcidir. Daha fazla bilgi için bkz. XslCompiledTransform Sınıfını Kullanma ve XslTransform Sınıfından Geçiş.

XslTransform XSLT 1.0 söz dizimini destekler. XSLT stil sayfası ad alanı bildirimini xmlns:xsl= http://www.w3.org/1999/XSL/Transformiçermelidir.

, args stil sayfasında tanımlanan öğelerle xsl:param eşleştirilir.

bir öğesine çıkış TextWriteryapılırken bir xsl:output öğedeki kodlama özniteliği desteklenmez. Özniteliklerin desteklendiği xsl:output özellikler için bkz. XslTransform çıkışları.

Dönüştürmeler belgeye bir bütün olarak uygulanır. Başka bir deyişle, belge kök düğümü dışında bir düğüm geçirirseniz, bu işlem dönüştürme işleminin yüklenen belgedeki tüm düğümlere erişmesini engellemez. Bir düğüm parçasını dönüştürmek için yalnızca düğüm parçasını içeren bir XmlDocument oluşturmanız ve bunu XmlDocument yöntemine Transform geçirmeniz gerekir.

Aşağıdaki örnek bir düğüm parçası üzerinde dönüştürme gerçekleştirir.

XslTransform xslt = new XslTransform();       
xslt.Load("print_root.xsl");  
XmlDocument doc = new XmlDocument();  
doc.Load("library.xml");  
// Create a new document containing just the node fragment.  
XmlNode testNode = doc.DocumentElement.FirstChild;   
XmlDocument tmpDoc = new XmlDocument();   
tmpDoc.LoadXml(testNode.OuterXml);  
// Pass the document containing the node fragment   
// to the Transform method.  
Console.WriteLine("Passing " + tmpDoc.OuterXml + " to print_root.xsl");  
xslt.Transform(tmpDoc, null, Console.Out, null);  

Örnekte giriş olarak ve print_root.xsl dosyaları kullanılır library.xml ve konsolda aşağıdaki çıkışlar gerçekleştirilir.

Passing <book genre="novel" ISBN="1-861001-57-5"><title>Pride And Prejudice</title></book> to print_root.xsl   
Root node is book.  

library.xml

<library>  
  <book genre='novel' ISBN='1-861001-57-5'>  
     <title>Pride And Prejudice</title>  
  </book>  
  <book genre='novel' ISBN='1-81920-21-2'>  
     <title>Hook</title>  
  </book>  
</library>  

print_root.xsl

<stylesheet version="1.0" xmlns="http://www.w3.org/1999/XSL/Transform" >  
  <output method="text" />   
  <template match="/">  
     Root node is  <value-of select="local-name(//*[position() = 1])" />   
  </template>  
</stylesheet>  

Ayrıca bkz.

Şunlara uygulanır

Transform(IXPathNavigable, XsltArgumentList, Stream, XmlResolver)

belirtilen args öğesini kullanarak içindeki IXPathNavigable XML verilerini dönüştürür ve sonucu bir Streamöğesine döndürür.

public:
 void Transform(System::Xml::XPath::IXPathNavigable ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::IO::Stream ^ output, System::Xml::XmlResolver ^ resolver);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList? args, System.IO.Stream output, System.Xml.XmlResolver? resolver);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList args, System.IO.Stream output, System.Xml.XmlResolver resolver);
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList * System.IO.Stream * System.Xml.XmlResolver -> unit
Public Sub Transform (input As IXPathNavigable, args As XsltArgumentList, output As Stream, resolver As XmlResolver)

Parametreler

input
IXPathNavigable

Arabirimini uygulayan IXPathNavigable bir nesne. .NET Framework, bu bir (genellikle bir XmlDocument) veya dönüştürülecek verileri içeren bir XPathDocument olabilir XmlNode .

args
XsltArgumentList

Dönüştürmeye XsltArgumentList giriş olarak kullanılan ad alanı nitelenmiş bağımsız değişkenleri içeren.

output
Stream

Çıkışını almak istediğiniz akış.

resolver
XmlResolver

XmlResolver XSLT document() işlevini çözümlemek için kullanılır. Bu ise nulldocument() işlevi çözümlenmez.

XmlResolver yöntemi tamamlandıktan sonra Transform önbelleğe alınmaz.

Özel durumlar

XSLT dönüşümü işlenirken bir hata oluştu.

Not: Bu, önceki sürümlerdeki davranış değişikliğidir. XsltException Microsoft .NET Framework sürüm 1.1 veya önceki bir sürümü kullanıyorsanız bir oluşturulur.

Örnekler

Aşağıdaki örnek, bir ASP.NET sayfasında bir dönüştürme gerçekleştirir.

<%@ Import Namespace="System" %>
<%@ Import Namespace="System.IO" %>
<%@ import NameSpace="System.Web" %>
<%@ Import Namespace="System.Xml.XPath" %>
<%@ Import Namespace="System.Xml.Xsl" %>
<html>
   <script language="C#" runat="server">
      void Page_Load(Object sender, EventArgs e) 
      {
         // Load the XML document to transform.
         XPathDocument doc = new XPathDocument(Server.MapPath("books.xml"));

         // Load the stylesheet and perform the transform.
         XslTransform xslt = new XslTransform();
         xslt.Load(Server.MapPath("output.xsl"));
         xslt.Transform(doc, null, Response.OutputStream, null);
        
      }
   </script>
</html>
<%@ Import Namespace="System" %>
<%@ Import Namespace="System.IO" %>
<%@ import NameSpace="System.Web" %>
<%@ Import Namespace="System.Xml.XPath" %>
<%@ Import Namespace="System.Xml.Xsl" %>
<html>
   <script language="VB" runat="server">
      sub Page_Load(sender as Object, e as EventArgs) 

         ' Load the XML document to transform.
         dim doc as XPathDocument = new XPathDocument(Server.MapPath("books.xml"))

         ' Load the stylesheet and perform the transform.
         dim xslt as XslTransform = new XslTransform()
         xslt.Load(Server.MapPath("output.xsl"))
         xslt.Transform(doc, nothing, Response.OutputStream, nothing)
        
      end sub
   </script>
</html>

Açıklamalar

Not

sınıfıXslTransform, .NET Framework sürüm 2.0'da kullanımdan kaldırıldı. XslCompiledTransform sınıfı yeni XSLT işlemcidir. Daha fazla bilgi için bkz. XslCompiledTransform Sınıfını Kullanma ve XslTransform Sınıfından Geçiş.

XslTransform XSLT 1.0 söz dizimini destekler. XSLT stil sayfası ad alanı bildirimini xmlns:xsl= http://www.w3.org/1999/XSL/Transformiçermelidir.

, args stil sayfasında tanımlanan öğelerle xsl:param eşleştirilir.

Dönüştürmeler belgeye bir bütün olarak uygulanır. Başka bir deyişle, belge kök düğümü dışında bir düğüm geçirirseniz, bu işlem dönüştürme işleminin yüklenen belgedeki tüm düğümlere erişmesini engellemez. Bir düğüm parçasını dönüştürmek için yalnızca düğüm parçasını içeren bir XmlDocument oluşturmanız ve bunu XmlDocument yöntemine Transform geçirmeniz gerekir.

Aşağıdaki örnek bir düğüm parçası üzerinde dönüştürme gerçekleştirir.

XslTransform xslt = new XslTransform();       
xslt.Load("print_root.xsl");  
XmlDocument doc = new XmlDocument();  
doc.Load("library.xml");  
// Create a new document containing just the node fragment.  
XmlNode testNode = doc.DocumentElement.FirstChild;   
XmlDocument tmpDoc = new XmlDocument();   
tmpDoc.LoadXml(testNode.OuterXml);  
// Pass the document containing the node fragment   
// to the Transform method.  
Console.WriteLine("Passing " + tmpDoc.OuterXml + " to print_root.xsl");  
xslt.Transform(tmpDoc, null, Console.Out, null);  

Örnekte giriş olarak ve print_root.xsl dosyaları kullanılır library.xml ve konsolda aşağıdaki çıkışlar gerçekleştirilir.

Passing <book genre="novel" ISBN="1-861001-57-5"><title>Pride And Prejudice</title></book> to print_root.xsl   
Root node is book.  

library.xml

<library>  
  <book genre='novel' ISBN='1-861001-57-5'>  
     <title>Pride And Prejudice</title>  
  </book>  
  <book genre='novel' ISBN='1-81920-21-2'>  
     <title>Hook</title>  
  </book>  
</library>  

print_root.xsl

<stylesheet version="1.0" xmlns="http://www.w3.org/1999/XSL/Transform" >  
  <output method="text" />   
  <template match="/">  
     Root node is  <value-of select="local-name(//*[position() = 1])" />   
  </template>  
</stylesheet>  

Ayrıca bkz.

Şunlara uygulanır

Transform(XPathNavigator, XsltArgumentList, XmlWriter)

Dikkat

You should pass XmlResolver to Transform() method

belirtilen bağımsız değişkenleri kullanarak içindeki XPathNavigator XML verilerini dönüştürür ve sonucu bir XmlWriteröğesine döndürür.

public:
 void Transform(System::Xml::XPath::XPathNavigator ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::Xml::XmlWriter ^ output);
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList? args, System.Xml.XmlWriter output);
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList args, System.Xml.XmlWriter output);
[System.Obsolete("You should pass XmlResolver to Transform() method")]
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList args, System.Xml.XmlWriter output);
member this.Transform : System.Xml.XPath.XPathNavigator * System.Xml.Xsl.XsltArgumentList * System.Xml.XmlWriter -> unit
[<System.Obsolete("You should pass XmlResolver to Transform() method")>]
member this.Transform : System.Xml.XPath.XPathNavigator * System.Xml.Xsl.XsltArgumentList * System.Xml.XmlWriter -> unit
Public Sub Transform (input As XPathNavigator, args As XsltArgumentList, output As XmlWriter)

Parametreler

input
XPathNavigator

XPathNavigator Dönüştürülecek verileri içeren.

args
XsltArgumentList

Dönüştürmeye XsltArgumentList giriş olarak kullanılan ad alanı nitelenmiş bağımsız değişkenleri içeren.

output
XmlWriter

Çıktısını XmlWriter almak istediğiniz.

Öznitelikler

Özel durumlar

XSLT dönüşümü işlenirken bir hata oluştu.

Not: Bu, önceki sürümlerdeki davranış değişikliğidir. XsltException Microsoft .NET Framework sürüm 1.1 veya önceki bir sürümü kullanıyorsanız bir oluşturulur.

Açıklamalar

Not

sınıfıXslTransform, .NET Framework sürüm 2.0'da kullanımdan kaldırıldı. XslCompiledTransform sınıfı yeni XSLT işlemcidir. Daha fazla bilgi için bkz. XslCompiledTransform Sınıfını Kullanma ve XslTransform Sınıfından Geçiş.

XslTransform XSLT 1.0 söz dizimini destekler. XSLT stil sayfası ad alanı bildirimini xmlns:xsl= http://www.w3.org/1999/XSL/Transformiçermelidir.

, args stil sayfasında tanımlanan öğelerle xsl:param eşleştirilir. Dönüştürme seçimleri belgeye bir bütün olarak uygulanır. Başka bir deyişle, geçerli düğüm belge kök düğümü dışında bir düğüm ağacında ayarlandıysa, bu işlem dönüştürme işleminin yüklenen belgedeki tüm düğümlere erişmesini engellemez. Dönüştürme gerçekleştirildikten sonra, XPathNavigator özgün durumunda kalır. Bu, dönüştürme işleminden önce geçerli olan düğümün, yöntem çağrıldıktan sonra Transform geçerli düğüm olarak kalacağı anlamına gelir.

xsl:output öğesine çıkış XmlWriter yapılırken öğesi desteklenmez (xsl:output yoksayılır). Daha fazla bilgi için bkz . XslTransform çıkışları .

Not

Bu yöntem artık kullanımdan kaldırıldı. özelliğinin XmlResolver ayarı, XSLT document() işlevinin nasıl çözümleneceğini belirler. Önerilen uygulama, bir XmlResolver nesneyi bağımsız değişkenlerinden biri olarak alan yöntemini kullanmaktırTransform.

Ayrıca bkz.

Şunlara uygulanır

Transform(XPathNavigator, XsltArgumentList, TextWriter)

Dikkat

You should pass XmlResolver to Transform() method

belirtilen args öğesini kullanarak içindeki XPathNavigator XML verilerini dönüştürür ve sonucu bir TextWriteröğesine döndürür.

public:
 void Transform(System::Xml::XPath::XPathNavigator ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::IO::TextWriter ^ output);
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList? args, System.IO.TextWriter output);
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList args, System.IO.TextWriter output);
[System.Obsolete("You should pass XmlResolver to Transform() method")]
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList args, System.IO.TextWriter output);
member this.Transform : System.Xml.XPath.XPathNavigator * System.Xml.Xsl.XsltArgumentList * System.IO.TextWriter -> unit
[<System.Obsolete("You should pass XmlResolver to Transform() method")>]
member this.Transform : System.Xml.XPath.XPathNavigator * System.Xml.Xsl.XsltArgumentList * System.IO.TextWriter -> unit
Public Sub Transform (input As XPathNavigator, args As XsltArgumentList, output As TextWriter)

Parametreler

input
XPathNavigator

XPathNavigator Dönüştürülecek verileri içeren.

args
XsltArgumentList

Dönüştürmeye XsltArgumentList giriş olarak kullanılan ad alanı nitelenmiş bağımsız değişkenleri içeren.

output
TextWriter

Çıktısını TextWriter almak istediğiniz.

Öznitelikler

Özel durumlar

XSLT dönüşümü işlenirken bir hata oluştu.

Not: Bu, önceki sürümlerdeki davranış değişikliğidir. XsltException Microsoft .NET Framework sürüm 1.1 veya önceki bir sürümü kullanıyorsanız bir oluşturulur.

Açıklamalar

Not

sınıfıXslTransform, .NET Framework sürüm 2.0'da kullanımdan kaldırıldı. XslCompiledTransform sınıfı yeni XSLT işlemcidir. Daha fazla bilgi için bkz. XslCompiledTransform Sınıfını Kullanma ve XslTransform Sınıfından Geçiş.

XslTransform XSLT 1.0 söz dizimini destekler. XSLT stil sayfası ad alanı bildirimini xmlns:xsl= http://www.w3.org/1999/XSL/Transformiçermelidir.

, args stil sayfasında tanımlanan öğelerle xsl:param eşleştirilir. Dönüştürme seçimleri belgeye bir bütün olarak uygulanır. Başka bir deyişle, geçerli düğüm belge kök düğümü dışında bir düğüm ağacında ayarlandıysa, bu işlem dönüştürme işleminin yüklenen belgedeki tüm düğümlere erişmesini engellemez. Dönüştürme gerçekleştirildikten sonra, XPathNavigator özgün durumunda kalır. Bu, dönüştürme işleminden önce geçerli olan düğümün, yöntem çağrıldıktan sonra Transform geçerli düğüm olarak kalacağı anlamına gelir.

bir öğesine çıkış TextWriteryapılırken bir xsl:output öğedeki kodlama özniteliği desteklenmez. Özniteliklerin desteklendiği xsl:output özellikler için bkz. XslTransform çıkışları.

Not

Bu yöntem artık kullanımdan kaldırıldı. özelliğinin XmlResolver ayarı, XSLT document() işlevinin nasıl çözümleneceğini belirler. Önerilen uygulama, bir XmlResolver nesneyi bağımsız değişkenlerinden biri olarak alan yöntemini kullanmaktırTransform.

Ayrıca bkz.

Şunlara uygulanır

Transform(String, String, XmlResolver)

Giriş dosyasındaki XML verilerini dönüştürür ve sonucu bir çıkış dosyasına dönüştürür.

public:
 void Transform(System::String ^ inputfile, System::String ^ outputfile, System::Xml::XmlResolver ^ resolver);
public void Transform (string inputfile, string outputfile, System.Xml.XmlResolver? resolver);
public void Transform (string inputfile, string outputfile, System.Xml.XmlResolver resolver);
member this.Transform : string * string * System.Xml.XmlResolver -> unit
Public Sub Transform (inputfile As String, outputfile As String, resolver As XmlResolver)

Parametreler

inputfile
String

Dönüştürülecek kaynak belgenin URL'si.

outputfile
String

Çıkış dosyasının URL'si.

resolver
XmlResolver

XmlResolver XSLT document() işlevini çözümlemek için kullanılır. Bu ise nulldocument() işlevi çözümlenmez.

XmlResolver yöntemi tamamlandıktan sonra Transform önbelleğe alınmaz.

Örnekler

Aşağıdaki örnek bir XSLT dönüşümü gerçekleştirir ve bir dosyaya çıkış yapar. XmlUrlResolver Dış kaynakları çözümlemek için varsayılan kimlik bilgilerine sahip bir kullanılır. Ayrıntılar için bkz. DefaultCredentials.

// Create a resolver with default credentials.
XmlUrlResolver^ resolver = gcnew XmlUrlResolver;
resolver->Credentials = System::Net::CredentialCache::DefaultCredentials;

// Create the XslTransform object.
XslTransform^ xslt = gcnew XslTransform;

// Load the stylesheet.
xslt->Load( "http://myServer/data/authors.xsl", resolver );

// Transform the file.
xslt->Transform( "books.xml", "books.html", resolver );

// Create a resolver with default credentials.
XmlUrlResolver resolver = new XmlUrlResolver();
resolver.Credentials = System.Net.CredentialCache.DefaultCredentials;

// Create the XslTransform object.
XslTransform xslt = new XslTransform();

// Load the stylesheet.
xslt.Load("http://myServer/data/authors.xsl", resolver);

// Transform the file.
xslt.Transform("books.xml", "books.html", resolver);

' Create a resolver with default credentials.
Dim resolver as XmlUrlResolver = new XmlUrlResolver()
resolver.Credentials = System.Net.CredentialCache.DefaultCredentials

' Create the XslTransform object.
Dim xslt as XslTransform = new XslTransform()

' Load the stylesheet.
xslt.Load("http://myServer/data/authors.xsl", resolver)

' Transform the file. 
xslt.Transform("books.xml", "titles.xml", resolver)

Açıklamalar

Not

sınıfı XslTransform .NET Framework sürüm 2.0'da kullanımdan kaldırıldı. XslCompiledTransform sınıfı yeni XSLT işlemcidir. Daha fazla bilgi için bkz. XslCompiledTransform Sınıfını Kullanma ve XslTransform Sınıfından Geçirme.

XslTransform XSLT 1.0 söz dizimini destekler. XSLT stil sayfası ad alanı bildirimini xmlns:xsl= http://www.w3.org/1999/XSL/Transformiçermelidir.

Ayrıca bkz.

Şunlara uygulanır

Transform(IXPathNavigable, XsltArgumentList, XmlWriter)

Dikkat

You should pass XmlResolver to Transform() method

belirtilen args öğesini kullanarak içindeki IXPathNavigable XML verilerini dönüştürür ve sonucu bir XmlWriteröğesine döndürür.

public:
 void Transform(System::Xml::XPath::IXPathNavigable ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::Xml::XmlWriter ^ output);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList? args, System.Xml.XmlWriter output);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList args, System.Xml.XmlWriter output);
[System.Obsolete("You should pass XmlResolver to Transform() method")]
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList args, System.Xml.XmlWriter output);
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList * System.Xml.XmlWriter -> unit
[<System.Obsolete("You should pass XmlResolver to Transform() method")>]
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList * System.Xml.XmlWriter -> unit
Public Sub Transform (input As IXPathNavigable, args As XsltArgumentList, output As XmlWriter)

Parametreler

input
IXPathNavigable

Arabirimini uygulayan IXPathNavigable bir nesne. .NET Framework, bu bir (genellikle bir XmlDocument) veya dönüştürülecek verileri içeren bir XPathDocument olabilir XmlNode .

args
XsltArgumentList

Dönüştürmeye XsltArgumentList giriş olarak kullanılan ad alanı nitelenmiş bağımsız değişkenleri içeren.

output
XmlWriter

Çıktısını XmlWriter almak istediğiniz.

Öznitelikler

Özel durumlar

XSLT dönüşümü işlenirken bir hata oluştu.

Not: Bu, önceki sürümlerdeki davranış değişikliğidir. XsltException Microsoft .NET Framework sürüm 1.1 veya önceki bir sürümü kullanıyorsanız bir oluşturulur.

Açıklamalar

Not

sınıfıXslTransform, .NET Framework sürüm 2.0'da kullanımdan kaldırıldı. XslCompiledTransform sınıfı yeni XSLT işlemcidir. Daha fazla bilgi için bkz. XslCompiledTransform Sınıfını Kullanma ve XslTransform Sınıfından Geçiş.

XslTransform XSLT 1.0 söz dizimini destekler. XSLT stil sayfası ad alanı bildirimini xmlns:xsl= http://www.w3.org/1999/XSL/Transformiçermelidir.

Not

Bu yöntem artık kullanımdan kaldırıldı. özelliğinin XmlResolver ayarı, XSLT document() işlevinin nasıl çözümleneceğini belirler. Önerilen uygulama, bir XmlResolver nesneyi bağımsız değişkenlerinden biri olarak alan yöntemini kullanmaktırTransform.

, args stil sayfasında tanımlanan öğelerle xsl:param eşleştirilir. xsl:output öğesine çıkış XmlWriter yapılırken öğesi desteklenmez (xsl:output yoksayılır). Daha fazla bilgi için bkz . XslTransform çıkışları .

Dönüştürmeler belgeye bir bütün olarak uygulanır. Başka bir deyişle, belge kök düğümü dışında bir düğüm geçirirseniz, bu işlem dönüştürme işleminin yüklenen belgedeki tüm düğümlere erişmesini engellemez. Bir düğüm parçasını dönüştürmek için yalnızca düğüm parçasını içeren bir XmlDocument oluşturmanız ve bunu XmlDocument yöntemine Transform geçirmeniz gerekir.

Aşağıdaki örnek bir düğüm parçası üzerinde dönüştürme gerçekleştirir.

XslTransform xslt = new XslTransform();       
xslt.Load("print_root.xsl");  
XmlDocument doc = new XmlDocument();  
doc.Load("library.xml");  
// Create a new document containing just the node fragment.  
XmlNode testNode = doc.DocumentElement.FirstChild;   
XmlDocument tmpDoc = new XmlDocument();   
tmpDoc.LoadXml(testNode.OuterXml);  
// Pass the document containing the node fragment   
// to the Transform method.  
Console.WriteLine("Passing " + tmpDoc.OuterXml + " to print_root.xsl");  
xslt.Transform(tmpDoc, null, Console.Out);  

Örnekte giriş olarak ve print_root.xsl dosyaları kullanılır library.xml ve konsolda aşağıdaki çıkışlar gerçekleştirilir.

Passing <book genre="novel" ISBN="1-861001-57-5"><title>Pride And Prejudice</title></book> to print_root.xsl   
Root node is book.  

library.xml

<library>  
  <book genre='novel' ISBN='1-861001-57-5'>  
     <title>Pride And Prejudice</title>  
  </book>  
  <book genre='novel' ISBN='1-81920-21-2'>  
     <title>Hook</title>  
  </book>  
</library>  

print_root.xsl

<stylesheet version="1.0" xmlns="http://www.w3.org/1999/XSL/Transform" >  
  <output method="text" />  
  <template match="/">  
  Root node is  <value-of select="local-name(//*[position() = 1])" />   
  </template>  
</stylesheet>  

Ayrıca bkz.

Şunlara uygulanır

Transform(IXPathNavigable, XsltArgumentList, XmlResolver)

belirtilen args öğesini kullanarak içindeki IXPathNavigable XML verilerini dönüştürür ve sonucu bir XmlReaderöğesine döndürür.

public:
 System::Xml::XmlReader ^ Transform(System::Xml::XPath::IXPathNavigable ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::Xml::XmlResolver ^ resolver);
public System.Xml.XmlReader Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList? args, System.Xml.XmlResolver? resolver);
public System.Xml.XmlReader Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList args, System.Xml.XmlResolver resolver);
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList * System.Xml.XmlResolver -> System.Xml.XmlReader
Public Function Transform (input As IXPathNavigable, args As XsltArgumentList, resolver As XmlResolver) As XmlReader

Parametreler

input
IXPathNavigable

Arabirimini uygulayan IXPathNavigable bir nesne. .NET Framework, bu bir (genellikle bir XmlDocument) veya dönüştürülecek verileri içeren bir XPathDocument olabilir XmlNode .

args
XsltArgumentList

Dönüştürmeye XsltArgumentList giriş olarak kullanılan ad alanı nitelenmiş bağımsız değişkenleri içeren.

resolver
XmlResolver

XmlResolver XSLT document() işlevini çözümlemek için kullanılır. Bu ise nulldocument() işlevi çözümlenmez.

XmlResolver yöntemi tamamlandıktan sonra Transform(IXPathNavigable, XsltArgumentList, XmlResolver) önbelleğe alınmaz.

Döndürülenler

XmlReader

Dönüştürmenin XmlReader sonuçlarını içeren.

Örnekler

Aşağıdaki örnek bir XML belgesini dönüştürür ve sonuçları bir XmlReaderöğesine gönderir. XSLT document() işlevlerini işlemek için gerekli kimlik bilgilerine sahip bir XmlUrlResolver kullanılır.

// Create the XslTransform object.
XslTransform^ xslt = gcnew XslTransform;

// Load the stylesheet.
xslt->Load( "titles.xsl" );

// Create a resolver and specify the necessary credentials.
XmlUrlResolver^ resolver = gcnew XmlUrlResolver;
System::Net::NetworkCredential^ myCred;
myCred = gcnew System::Net::NetworkCredential( UserName, SecurelyStoredPassword, Domain );
resolver->Credentials = myCred;

// Transform the file using the resolver. The resolver is used
// to process the XSLT document() function.
XPathDocument^ doc = gcnew XPathDocument( "books.xml" );
XmlReader^ reader = xslt->Transform( doc, nullptr, resolver );

// Load the reader into a new document for more processing.
XmlDocument^ xmldoc = gcnew XmlDocument;
xmldoc->Load( reader );
// Create the XslTransform object.
XslTransform xslt = new XslTransform();

// Load the stylesheet.
xslt.Load("titles.xsl");

// Create a resolver and specify the necessary credentials.
XmlUrlResolver resolver = new XmlUrlResolver();
System.Net.NetworkCredential myCred;
myCred  = new System.Net.NetworkCredential(UserName,SecurelyStoredPassword,Domain);
resolver.Credentials = myCred;

// Transform the file using the resolver. The resolver is used
// to process the XSLT document() function.
XPathDocument doc = new XPathDocument("books.xml");
XmlReader reader = xslt.Transform(doc, null, resolver);

// Load the reader into a new document for more processing.
XmlDocument xmldoc = new XmlDocument();
xmldoc.Load(reader);
' Create the XslTransform object.
Dim xslt as XslTransform = new XslTransform()

' Load the stylesheet.
xslt.Load("titles.xsl")

' Create a resolver and specify the necessary credentials.
Dim resolver as XmlUrlResolver = new XmlUrlResolver()
Dim myCred as System.Net.NetworkCredential 
myCred = new System.Net.NetworkCredential(UserName,SecurelyStoredPassword,Domain)
resolver.Credentials = myCred

' Transform thefile using the resolver. The resolver is used
' to process the XSLT document() function.
Dim doc as XPathDocument = new XPathDocument("books.xml")
Dim reader as XmlReader = xslt.Transform(doc, nothing, resolver)

' Load the reader into a new document for more processing.
Dim xmldoc as XmlDocument = new XmlDocument()
xmldoc.Load(reader)

Açıklamalar

Not

sınıfıXslTransform, .NET Framework sürüm 2.0'da kullanımdan kaldırıldı. XslCompiledTransform sınıfı yeni XSLT işlemcidir. Daha fazla bilgi için bkz. XslCompiledTransform Sınıfını Kullanma ve XslTransform Sınıfından Geçiş.

XslTransform XSLT 1.0 söz dizimini destekler. XSLT stil sayfası ad alanı bildirimini xmlns:xsl= http://www.w3.org/1999/XSL/Transformiçermelidir.

, args stil sayfasında tanımlanan öğelerle xsl:param eşleştirilir. xsl:output öğesine çıkış XmlReader yapılırken öğesi desteklenmez (xsl:outputöğe yoksayılır). Daha fazla bilgi için bkz . XslTransform çıkışları .

Bu yöntem, kaynak belgenin zaman uyumsuz dönüştürmesini yapmanızı sağlar.

Dönüştürmeler belgeye bir bütün olarak uygulanır. Başka bir deyişle, belge kök düğümü dışında bir düğüm geçirirseniz, bu işlem dönüştürme işleminin yüklenen belgedeki tüm düğümlere erişmesini engellemez. Bir düğüm parçasını dönüştürmek için yalnızca düğüm parçasını içeren bir XmlDocument oluşturmanız ve bunu XmlDocument yöntemine Transform geçirmeniz gerekir.

Aşağıdaki örnek bir düğüm parçası üzerinde dönüştürme gerçekleştirir.

XslTransform xslt = new XslTransform();       
xslt.Load("print_root.xsl");  
XmlDocument doc = new XmlDocument();  
doc.Load("library.xml");  
// Create a new document containing just the node fragment.  
XmlNode testNode = doc.DocumentElement.FirstChild;   
XmlDocument tmpDoc = new XmlDocument();   
tmpDoc.LoadXml(testNode.OuterXml);  
// Pass the document containing the node fragment   
// to the Transform method.  
Console.WriteLine("Passing " + tmpDoc.OuterXml + " to print_root.xsl");  
xslt.Transform(tmpDoc, null, Console.Out, null);  

Örnekte giriş olarak ve print_root.xsl dosyaları kullanılır library.xml ve konsolda aşağıdaki çıkışlar gerçekleştirilir.

Passing <book genre="novel" ISBN="1-861001-57-5"><title>Pride And Prejudice</title></book> to print_root.xsl   
Root node is book.  

library.xml

<library>  
  <book genre='novel' ISBN='1-861001-57-5'>  
     <title>Pride And Prejudice</title>  
  </book>  
  <book genre='novel' ISBN='1-81920-21-2'>  
     <title>Hook</title>  
  </book>  
</library>  

print_root.xsl

<stylesheet version="1.0" xmlns="http://www.w3.org/1999/XSL/Transform" >  
  <output method="text" />   
  <template match="/">  
     Root node is  <value-of select="local-name(//*[position() = 1])" />   
  </template>  
</stylesheet>  

Ayrıca bkz.

Şunlara uygulanır

Transform(IXPathNavigable, XsltArgumentList, TextWriter)

Dikkat

You should pass XmlResolver to Transform() method

belirtilen args öğesini kullanarak içindeki IXPathNavigable XML verilerini dönüştürür ve sonucu öğesine TextWriterdöndürür.

public:
 void Transform(System::Xml::XPath::IXPathNavigable ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::IO::TextWriter ^ output);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList? args, System.IO.TextWriter output);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList args, System.IO.TextWriter output);
[System.Obsolete("You should pass XmlResolver to Transform() method")]
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList args, System.IO.TextWriter output);
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList * System.IO.TextWriter -> unit
[<System.Obsolete("You should pass XmlResolver to Transform() method")>]
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList * System.IO.TextWriter -> unit
Public Sub Transform (input As IXPathNavigable, args As XsltArgumentList, output As TextWriter)

Parametreler

input
IXPathNavigable

Arabirimi uygulayan IXPathNavigable bir nesne. .NET Framework'te bu bir (genellikle bir XmlDocument) veya dönüştürülecek verileri içeren bir XPathDocument olabilir XmlNode .

args
XsltArgumentList

Dönüştürmeye XsltArgumentList giriş olarak kullanılan ad alanı nitelemeli bağımsız değişkenleri içeren.

output
TextWriter

Çıktısını TextWriter almak istediğiniz.

Öznitelikler

Özel durumlar

XSLT dönüşümü işlenirken bir hata oluştu.

Not: Bu, önceki sürümlerdeki davranış değişikliğidir. XsltException Microsoft .NET Framework sürüm 1.1 veya önceki bir sürümü kullanıyorsanız bir oluşturulur.

Açıklamalar

Not

sınıfı XslTransform .NET Framework sürüm 2.0'da kullanımdan kaldırıldı. XslCompiledTransform sınıfı yeni XSLT işlemcidir. Daha fazla bilgi için bkz. XslCompiledTransform Sınıfını Kullanma ve XslTransform Sınıfından Geçirme.

XslTransform XSLT 1.0 söz dizimini destekler. XSLT stil sayfası ad alanı bildirimini xmlns:xsl= http://www.w3.org/1999/XSL/Transformiçermelidir.

Not

Bu yöntem artık kullanımdan kaldırıldı. özelliğinin XmlResolver ayarı, XSLT document() işlevinin nasıl çözümleneceğini belirler. Önerilen yöntem, bir XmlResolver nesneyi bağımsız değişkenlerinden biri olarak alan yöntemini kullanmaktırTransform.

args, stil sayfasında tanımlanan öğelerle xsl:param eşleştirilir.

bir öğesine çıkış TextWriteryapılırken bir xsl:output öğedeki kodlama özniteliği desteklenmez. Özniteliklerin desteklendiği xsl:output özellikler için bkz. XslTransform'dan çıkışlar.

Dönüştürmeler belgeye bir bütün olarak uygulanır. Başka bir deyişle, belge kök düğümü dışında bir düğüm geçirirseniz, bu işlem dönüştürme işleminin yüklenen belgedeki tüm düğümlere erişmesini engellemez. Bir düğüm parçasını dönüştürmek için yalnızca düğüm parçasını içeren bir XmlDocument oluşturmanız ve bunu XmlDocument yöntemine Transform geçirmeniz gerekir.

Aşağıdaki örnek bir düğüm parçası üzerinde dönüştürme gerçekleştirir.

XslTransform xslt = new XslTransform();       
xslt.Load("print_root.xsl");  
XmlDocument doc = new XmlDocument();  
doc.Load("library.xml");  
// Create a new document containing just the node fragment.  
XmlNode testNode = doc.DocumentElement.FirstChild;   
XmlDocument tmpDoc = new XmlDocument();   
tmpDoc.LoadXml(testNode.OuterXml);  
// Pass the document containing the node fragment   
// to the Transform method.  
Console.WriteLine("Passing " + tmpDoc.OuterXml + " to print_root.xsl");  
xslt.Transform(tmpDoc, null, Console.Out);  

Örnekte giriş olarak ve print_root.xsl dosyaları kullanılır library.xml ve konsolda aşağıdaki çıkışlar gerçekleştirilir.

Passing <book genre="novel" ISBN="1-861001-57-5"><title>Pride And Prejudice</title></book> to print_root.xsl   
Root node is book.  

library.xml

<library>  
  <book genre='novel' ISBN='1-861001-57-5'>  
     <title>Pride And Prejudice</title>  
  </book>  
  <book genre='novel' ISBN='1-81920-21-2'>  
     <title>Hook</title>  
  </book>  
</library>  

print_root.xsl

<stylesheet version="1.0" xmlns="http://www.w3.org/1999/XSL/Transform" >  
  <output method="text" />   
  <template match="/">  
     Root node is  <value-of select="local-name(//*[position() = 1])" />   
  </template>  
</stylesheet>  

Ayrıca bkz.

Şunlara uygulanır

Transform(IXPathNavigable, XsltArgumentList, Stream)

Dikkat

You should pass XmlResolver to Transform() method

belirtilen args öğesini kullanarak içindeki IXPathNavigable XML verilerini dönüştürür ve sonucu öğesine Streamdöndürür.

public:
 void Transform(System::Xml::XPath::IXPathNavigable ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::IO::Stream ^ output);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList? args, System.IO.Stream output);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList args, System.IO.Stream output);
[System.Obsolete("You should pass XmlResolver to Transform() method")]
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList args, System.IO.Stream output);
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList * System.IO.Stream -> unit
[<System.Obsolete("You should pass XmlResolver to Transform() method")>]
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList * System.IO.Stream -> unit
Public Sub Transform (input As IXPathNavigable, args As XsltArgumentList, output As Stream)

Parametreler

input
IXPathNavigable

Arabirimi uygulayan IXPathNavigable bir nesne. .NET Framework'te bu bir (genellikle bir XmlDocument) veya dönüştürülecek verileri içeren bir XPathDocument olabilir XmlNode .

args
XsltArgumentList

Dönüştürmeye XsltArgumentList giriş olarak kullanılan ad alanı nitelemeli bağımsız değişkenleri içeren.

output
Stream

Çıkışını almak istediğiniz akış.

Öznitelikler

Özel durumlar

XSLT dönüşümü işlenirken bir hata oluştu.

Not: Bu, önceki sürümlerdeki davranış değişikliğidir. XsltException Microsoft .NET Framework sürüm 1.1 veya önceki bir sürümünü kullanıyorsanız bir oluşturulur.

Açıklamalar

Not

sınıfı XslTransform .NET Framework sürüm 2.0'da kullanımdan kaldırıldı. XslCompiledTransform sınıfı yeni XSLT işlemcidir. Daha fazla bilgi için bkz. XslCompiledTransform Sınıfını Kullanma ve XslTransform Sınıfından Geçirme.

XslTransform XSLT 1.0 söz dizimini destekler. XSLT stil sayfası ad alanı bildirimini xmlns:xsl= http://www.w3.org/1999/XSL/Transformiçermelidir.

Not

Bu yöntem artık kullanımdan kaldırıldı. özelliğinin XmlResolver ayarı, XSLT document() işlevinin nasıl çözümleneceğini belirler. Önerilen yöntem, bir XmlResolver nesneyi bağımsız değişkenlerinden biri olarak alan yöntemini kullanmaktırTransform.

args, stil sayfasında tanımlanan öğelerle xsl:param eşleştirilir.

Dönüştürmeler belgeye bir bütün olarak uygulanır. Başka bir deyişle, belge kök düğümü dışında bir düğüm geçirirseniz, bu işlem dönüştürme işleminin yüklenen belgedeki tüm düğümlere erişmesini engellemez. Bir düğüm parçasını dönüştürmek için yalnızca düğüm parçasını içeren bir XmlDocument oluşturmanız ve bunu XmlDocument yöntemine Transform geçirmeniz gerekir.

Aşağıdaki örnek bir düğüm parçası üzerinde dönüştürme gerçekleştirir.

XslTransform xslt = new XslTransform();       
xslt.Load("print_root.xsl");  
XmlDocument doc = new XmlDocument();  
doc.Load("library.xml");  
// Create a new document containing just the node fragment.  
XmlNode testNode = doc.DocumentElement.FirstChild;   
XmlDocument tmpDoc = new XmlDocument();   
tmpDoc.LoadXml(testNode.OuterXml);  
// Pass the document containing the node fragment   
// to the Transform method.  
Console.WriteLine("Passing " + tmpDoc.OuterXml + " to print_root.xsl");  
xslt.Transform(tmpDoc, null, Console.Out);  

Örnekte giriş olarak ve print_root.xsl dosyaları kullanılır library.xml ve konsola aşağıdaki çıkışlar yapılır.

Passing <book genre="novel" ISBN="1-861001-57-5"><title>Pride And Prejudice</title></book> to print_root.xsl   
Root node is book.  

library.xml

<library>  
  <book genre='novel' ISBN='1-861001-57-5'>  
     <title>Pride And Prejudice</title>  
  </book>  
  <book genre='novel' ISBN='1-81920-21-2'>  
     <title>Hook</title>  
  </book>  
</library>  

print_root.xsl

<stylesheet version="1.0" xmlns="http://www.w3.org/1999/XSL/Transform" >  
  <output method="text" />   
  <template match="/">  
     Root node is  <value-of select="local-name(//*[position() = 1])" />   
  </template>  
</stylesheet>  

Ayrıca bkz.

Şunlara uygulanır

Transform(XPathNavigator, XsltArgumentList, XmlWriter, XmlResolver)

belirtilen bağımsız değişkenleri kullanarak içindeki XPathNavigator XML verilerini dönüştürür ve sonucu bir XmlWriteröğesine döndürür.

public:
 void Transform(System::Xml::XPath::XPathNavigator ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::Xml::XmlWriter ^ output, System::Xml::XmlResolver ^ resolver);
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList? args, System.Xml.XmlWriter output, System.Xml.XmlResolver? resolver);
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList args, System.Xml.XmlWriter output, System.Xml.XmlResolver resolver);
member this.Transform : System.Xml.XPath.XPathNavigator * System.Xml.Xsl.XsltArgumentList * System.Xml.XmlWriter * System.Xml.XmlResolver -> unit
Public Sub Transform (input As XPathNavigator, args As XsltArgumentList, output As XmlWriter, resolver As XmlResolver)

Parametreler

input
XPathNavigator

XPathNavigator Dönüştürülecek verileri içeren.

args
XsltArgumentList

Dönüştürmeye XsltArgumentList giriş olarak kullanılan ad alanı nitelenmiş bağımsız değişkenleri içeren.

output
XmlWriter

Çıktısını XmlWriter almak istediğiniz.

resolver
XmlResolver

XmlResolver XSLT document() işlevini çözümlemek için kullanılır. Bu ise nulldocument() işlevi çözümlenmez.

XmlResolver yöntemi tamamlandıktan sonra Transform(XPathNavigator, XsltArgumentList, XmlWriter, XmlResolver) önbelleğe alınmaz.

Özel durumlar

XSLT dönüşümü işlenirken bir hata oluştu.

Not: Bu, önceki sürümlerdeki davranış değişikliğidir. XsltException Microsoft .NET Framework sürüm 1.1 veya önceki bir sürümü kullanıyorsanız bir oluşturulur.

Örnekler

Aşağıdaki örnek, XSLT dönüşümü gerçekleştirmeden önce bir XML belgesini yükler ve düzenler.

XmlDocument^ doc = gcnew XmlDocument;
doc->Load( "books.xml" );

// Modify the XML file.
XmlElement^ root = doc->DocumentElement;
root->FirstChild->LastChild->InnerText = "12.95";

// Create an XPathNavigator to use for the transform.
XPathNavigator^ nav = root->CreateNavigator();

// Transform the file.
XslTransform^ xslt = gcnew XslTransform;
xslt->Load( "output.xsl" );
XmlTextWriter^ writer = gcnew XmlTextWriter( "books.html", nullptr );
xslt->Transform( nav, nullptr, writer, nullptr);
XmlDocument doc = new XmlDocument();
doc.Load("books.xml");

// Modify the XML file.
XmlElement root = doc.DocumentElement;
root.FirstChild.LastChild.InnerText = "12.95";

// Create an XPathNavigator to use for the transform.
XPathNavigator nav = root.CreateNavigator();

// Transform the file.
XslTransform xslt = new XslTransform();
xslt.Load("output.xsl");
XmlTextWriter writer = new XmlTextWriter("books.html", null);
xslt.Transform(nav, null, writer, null);
Dim doc as XmlDocument = new XmlDocument()
doc.Load("books.xml")

' Modify the XML file.
Dim root as XmlElement = doc.DocumentElement
root.FirstChild.LastChild.InnerText = "12.95"

' Create an XPathNavigator to use for the transform.
Dim nav as XPathNavigator = root.CreateNavigator()

' Transform the file.
Dim xslt as XslTransform = new XslTransform()
xslt.Load("output.xsl")
Dim writer as XmlTextWriter = new XmlTextWriter("books.html", nothing)
xslt.Transform(nav,nothing, writer, nothing)

Açıklamalar

Not

sınıfıXslTransform, .NET Framework sürüm 2.0'da kullanımdan kaldırıldı. XslCompiledTransform sınıfı yeni XSLT işlemcidir. Daha fazla bilgi için bkz. XslCompiledTransform Sınıfını Kullanma ve XslTransform Sınıfından Geçiş.

XslTransform XSLT 1.0 söz dizimini destekler. XSLT stil sayfası ad alanı bildirimini xmlns:xsl= http://www.w3.org/1999/XSL/Transformiçermelidir.

, args stil sayfasında tanımlanan öğelerle xsl:param eşleştirilir. Dönüştürme seçimleri belgeye bir bütün olarak uygulanır. Başka bir deyişle, geçerli düğüm belge kök düğümü dışında bir düğüm ağacında ayarlandıysa, bu işlem dönüştürme işleminin yüklenen belgedeki tüm düğümlere erişmesini engellemez. Dönüştürme gerçekleştirildikten sonra, XPathNavigator özgün durumunda kalır. Bu, dönüştürme işleminden önce geçerli olan düğümün, yöntem çağrıldıktan sonra Transform geçerli düğüm olarak kalacağı anlamına gelir.

xsl:output öğesine çıkış XmlWriter yapılırken öğesi desteklenmez (xsl:output yoksayılır). Daha fazla bilgi için bkz . XslTransform çıkışları .

Ayrıca bkz.

Şunlara uygulanır

Transform(XPathNavigator, XsltArgumentList)

Dikkat

You should pass XmlResolver to Transform() method

belirtilen args öğesini kullanarak içindeki XPathNavigator XML verilerini dönüştürür ve sonucu bir XmlReaderöğesine döndürür.

public:
 System::Xml::XmlReader ^ Transform(System::Xml::XPath::XPathNavigator ^ input, System::Xml::Xsl::XsltArgumentList ^ args);
public System.Xml.XmlReader Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList? args);
public System.Xml.XmlReader Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList args);
[System.Obsolete("You should pass XmlResolver to Transform() method")]
public System.Xml.XmlReader Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList args);
member this.Transform : System.Xml.XPath.XPathNavigator * System.Xml.Xsl.XsltArgumentList -> System.Xml.XmlReader
[<System.Obsolete("You should pass XmlResolver to Transform() method")>]
member this.Transform : System.Xml.XPath.XPathNavigator * System.Xml.Xsl.XsltArgumentList -> System.Xml.XmlReader
Public Function Transform (input As XPathNavigator, args As XsltArgumentList) As XmlReader

Parametreler

input
XPathNavigator

XPathNavigator Dönüştürülecek verileri içeren.

args
XsltArgumentList

Dönüştürmeye XsltArgumentList giriş olarak kullanılan ad alanı nitelemeli bağımsız değişkenleri içeren.

Döndürülenler

XmlReader

XmlReader Dönüştürmenin sonuçlarını içeren.

Öznitelikler

Özel durumlar

XSLT dönüşümü işlenirken bir hata oluştu.

Not: Bu, önceki sürümlerdeki davranış değişikliğidir. XsltException Microsoft .NET Framework sürüm 1.1 veya önceki bir sürümünü kullanıyorsanız bir oluşturulur.

Açıklamalar

Not

sınıfı XslTransform .NET Framework sürüm 2.0'da kullanımdan kaldırıldı. XslCompiledTransform sınıfı yeni XSLT işlemcidir. Daha fazla bilgi için bkz. XslCompiledTransform Sınıfını Kullanma ve XslTransform Sınıfından Geçirme.

XslTransform XSLT 1.0 söz dizimini destekler. XSLT stil sayfası ad alanı bildirimini xmlns:xsl= http://www.w3.org/1999/XSL/Transformiçermelidir.

args, stil sayfasında tanımlanan öğelerle xsl:param eşleştirilir. Dönüştürme seçimleri belgeye bir bütün olarak uygulanır. Başka bir deyişle, geçerli düğüm belge kök düğümü dışında bir düğüm ağacında ayarlanırsa, dönüştürme işleminin yüklenen belgedeki tüm düğümlere erişmesini engellemez. Dönüştürme gerçekleştirildikten sonra, XPathNavigator özgün durumunda kalır. Bu, dönüştürme işleminden önce geçerli olan düğümün, yöntem çağrıldıktan sonra Transform geçerli düğüm olarak kaldığı anlamına gelir.

Salt XmlReader okunur çıkış sağladığından xsl:output , öğesi yoksayılır. Daha fazla bilgi için bkz . XslTransform'dan çıkışlar .

Bu yöntem, kaynak belgenin zaman uyumsuz dönüştürmesini yapmanızı sağlar.

Not

Bu yöntem kullanımdan kaldırıldı. özelliğinin XmlResolver ayarı, XSLT document() işlevinin nasıl çözümleneceğini belirler. Önerilen yöntem, bir XmlResolver nesneyi bağımsız değişkenlerinden biri olarak alan yöntemini kullanmaktırTransform.

Ayrıca bkz.

Şunlara uygulanır

Transform(IXPathNavigable, XsltArgumentList)

Dikkat

You should pass XmlResolver to Transform() method

belirtilen args öğesini kullanarak içindeki IXPathNavigable XML verilerini dönüştürür ve sonucu bir XmlReaderöğesine döndürür.

public:
 System::Xml::XmlReader ^ Transform(System::Xml::XPath::IXPathNavigable ^ input, System::Xml::Xsl::XsltArgumentList ^ args);
public System.Xml.XmlReader Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList? args);
public System.Xml.XmlReader Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList args);
[System.Obsolete("You should pass XmlResolver to Transform() method")]
public System.Xml.XmlReader Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList args);
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList -> System.Xml.XmlReader
[<System.Obsolete("You should pass XmlResolver to Transform() method")>]
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList -> System.Xml.XmlReader
Public Function Transform (input As IXPathNavigable, args As XsltArgumentList) As XmlReader

Parametreler

input
IXPathNavigable

Arabirimi uygulayan IXPathNavigable bir nesne. .NET Framework bu bir (genellikle bir XmlDocument) veya dönüştürülecek verileri içeren bir XPathDocument olabilir XmlNode .

args
XsltArgumentList

Dönüştürmeye XsltArgumentList giriş olarak kullanılan ad alanı nitelemeli bağımsız değişkenleri içeren.

Döndürülenler

XmlReader

XmlReader Dönüştürmenin sonuçlarını içeren.

Öznitelikler

Açıklamalar

Not

sınıfı XslTransform .NET Framework sürüm 2.0'da kullanımdan kaldırıldı. XslCompiledTransform sınıfı yeni XSLT işlemcidir. Daha fazla bilgi için bkz. XslCompiledTransform Sınıfını Kullanma ve XslTransform Sınıfından Geçirme.

XslTransform XSLT 1.0 söz dizimini destekler. XSLT stil sayfası ad alanı bildirimini xmlns:xsl= http://www.w3.org/1999/XSL/Transformiçermelidir.

Not

Bu yöntem artık kullanımdan kaldırıldı. özelliğinin XmlResolver ayarı, XSLT document() işlevinin nasıl çözümleneceğini belirler. Önerilen yöntem, bir XmlResolver nesneyi bağımsız değişkenlerinden biri olarak alan yöntemini kullanmaktırTransform.

args, stil sayfasında tanımlanan öğelerle xsl:param eşleştirilir. xsl:output öğesine çıkış XmlReader yapılırken öğesi desteklenmez (xsl:outputöğe yoksayılır). Daha fazla bilgi için bkz . XslTransform'dan çıkışlar .

Bu yöntem, kaynak belgenin zaman uyumsuz dönüştürmesini yapmanızı sağlar.

Dönüştürmeler belgeye bir bütün olarak uygulanır. Başka bir deyişle, belge kök düğümü dışında bir düğüm geçirirseniz, bu işlem dönüştürme işleminin yüklenen belgedeki tüm düğümlere erişmesini engellemez. Bir düğüm parçasını dönüştürmek için yalnızca düğüm parçasını içeren bir XmlDocument oluşturmanız ve bunu XmlDocument yöntemine Transform geçirmeniz gerekir.

Aşağıdaki örnek bir düğüm parçası üzerinde dönüştürme gerçekleştirir.

XslTransform xslt = new XslTransform();       
xslt.Load("print_root.xsl");  
XmlDocument doc = new XmlDocument();  
doc.Load("library.xml");  
// Create a new document containing just the node fragment.  
XmlNode testNode = doc.DocumentElement.FirstChild;   
XmlDocument tmpDoc = new XmlDocument();   
tmpDoc.LoadXml(testNode.OuterXml);  
// Pass the document containing the node fragment   
// to the Transform method.  
Console.WriteLine("Passing " + tmpDoc.OuterXml + " to print_root.xsl");  
xslt.Transform(tmpDoc, null, Console.Out);  

Örnekte giriş olarak ve print_root.xsl dosyaları kullanılır library.xml ve konsola aşağıdaki çıkışlar yapılır.

Passing <book genre="novel" ISBN="1-861001-57-5"><title>Pride And Prejudice</title></book> to print_root.xsl   
Root node is book.  

library.xml

<library>  
  <book genre='novel' ISBN='1-861001-57-5'>  
     <title>Pride And Prejudice</title>  
  </book>  
  <book genre='novel' ISBN='1-81920-21-2'>  
     <title>Hook</title>  
  </book>  
</library>  

print_root.xsl

<stylesheet version="1.0" xmlns="http://www.w3.org/1999/XSL/Transform" >  
  <output method="text" />   
  <template match="/">  
     Root node is  <value-of select="local-name(//*[position() = 1])" />   
  </template>  
</stylesheet>  

Ayrıca bkz.

Şunlara uygulanır

Transform(String, String)

Dikkat

You should pass XmlResolver to Transform() method

Giriş dosyasındaki XML verilerini dönüştürür ve sonucu bir çıkış dosyasına dönüştürür.

public:
 void Transform(System::String ^ inputfile, System::String ^ outputfile);
public void Transform (string inputfile, string outputfile);
[System.Obsolete("You should pass XmlResolver to Transform() method")]
public void Transform (string inputfile, string outputfile);
member this.Transform : string * string -> unit
[<System.Obsolete("You should pass XmlResolver to Transform() method")>]
member this.Transform : string * string -> unit
Public Sub Transform (inputfile As String, outputfile As String)

Parametreler

inputfile
String

Dönüştürülecek kaynak belgenin URL'si.

outputfile
String

Çıkış dosyasının URL'si.

Öznitelikler

Örnekler

Aşağıdaki örnek, stil sayfasını kullanarak output.xsl dosyayı dönüştürür books.xml ve sonuçları dosyaya books.html gönderir.

// Create the XslTransform object.
XslTransform^ xslt = gcnew XslTransform;

// Load the stylesheet.
xslt->Load( "output.xsl" );

// Transform the file.
xslt->Transform("books.xml","books.html");
//Create the XslTransform object.
XslTransform xslt = new XslTransform();

//Load the stylesheet.
xslt.Load("output.xsl");

//Transform the file.
xslt.Transform("books.xml", "books.html");
'Create the XslTransform object.
Dim xslt as XslTransform = new XslTransform()

'Load the stylesheet.
xslt.Load("output.xsl")

'Transform the file.
xslt.Transform("books.xml", "books.html")

Örnek aşağıdaki iki giriş dosyasını kullanır:

books.xml

<?xml version='1.0'?>
<!-- This file represents a fragment of a book store inventory database -->
<bookstore>
  <book genre="autobiography" publicationdate="1981" ISBN="1-861003-11-0">
    <title>The Autobiography of Benjamin Franklin</title>
    <author>
      <first-name>Benjamin</first-name>
      <last-name>Franklin</last-name>
    </author>
    <price>8.99</price>
  </book>
  <book genre="novel" publicationdate="1967" ISBN="0-201-63361-2">
    <title>The Confidence Man</title>
    <author>
      <first-name>Herman</first-name>
      <last-name>Melville</last-name>
    </author>
    <price>11.99</price>
  </book>
  <book genre="philosophy" publicationdate="1991" ISBN="1-861001-57-6">
    <title>The Gorgias</title>
    <author>
      <name>Plato</name>
    </author>
    <price>9.99</price>
  </book>
</bookstore>

output.xsl

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="bookstore">
  <HTML>
    <BODY>
      <TABLE BORDER="2">
        <TR>
          <TD>ISBN</TD>
          <TD>Title</TD>
          <TD>Price</TD>
        </TR>
        <xsl:apply-templates select="book"/>
      </TABLE>
    </BODY>
  </HTML>
</xsl:template>
<xsl:template match="book">
  <TR>
    <TD><xsl:value-of select="@ISBN"/></TD>
    <TD><xsl:value-of select="title"/></TD>
    <TD><xsl:value-of select="price"/></TD>
  </TR>
</xsl:template>
</xsl:stylesheet>

Açıklamalar

Not

sınıf XslTransform .NET Framework sürüm 2.0'da kullanımdan kaldırıldı. XslCompiledTransform sınıfı yeni XSLT işlemcidir. Daha fazla bilgi için bkz. XslCompiledTransform Sınıfını Kullanma ve XslTransform Sınıfından Geçirme.

XslTransform XSLT 1.0 söz dizimini destekler. XSLT stil sayfası ad alanı bildirimini xmlns:xsl= http://www.w3.org/1999/XSL/Transformiçermelidir.

Not

Bu yöntem, .NET Framework sürüm 1.1'de kullanımdan kaldırıldı. özelliğinin XmlResolver ayarı, XSLT document() işlevinin nasıl çözümleneceğini belirler. Önerilen yöntem, bir XmlResolver nesneyi bağımsız değişkenlerinden biri olarak alan yöntemini kullanmaktırTransform.

Ayrıca bkz.

Şunlara uygulanır

Transform(XPathNavigator, XsltArgumentList, Stream)

Dikkat

You should pass XmlResolver to Transform() method

belirtilen args öğesini kullanarak içindeki XPathNavigator XML verilerini dönüştürür ve sonucu bir Streamöğesine döndürür.

public:
 void Transform(System::Xml::XPath::XPathNavigator ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::IO::Stream ^ output);
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList? args, System.IO.Stream output);
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList args, System.IO.Stream output);
[System.Obsolete("You should pass XmlResolver to Transform() method")]
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList args, System.IO.Stream output);
member this.Transform : System.Xml.XPath.XPathNavigator * System.Xml.Xsl.XsltArgumentList * System.IO.Stream -> unit
[<System.Obsolete("You should pass XmlResolver to Transform() method")>]
member this.Transform : System.Xml.XPath.XPathNavigator * System.Xml.Xsl.XsltArgumentList * System.IO.Stream -> unit
Public Sub Transform (input As XPathNavigator, args As XsltArgumentList, output As Stream)

Parametreler

input
XPathNavigator

XPathNavigator Dönüştürülecek verileri içeren.

args
XsltArgumentList

Dönüştürmeye XsltArgumentList giriş olarak kullanılan ad alanı nitelenmiş bağımsız değişkenleri içeren.

output
Stream

Çıkışını almak istediğiniz akış.

Öznitelikler

Özel durumlar

XSLT dönüşümü işlenirken bir hata oluştu.

Not: Bu, önceki sürümlerdeki davranış değişikliğidir. XsltException Microsoft .NET Framework sürüm 1.1 veya önceki bir sürümü kullanıyorsanız bir oluşturulur.

Açıklamalar

Not

sınıfıXslTransform, .NET Framework sürüm 2.0'da kullanımdan kaldırıldı. XslCompiledTransform sınıfı yeni XSLT işlemcidir. Daha fazla bilgi için bkz. XslCompiledTransform Sınıfını Kullanma ve XslTransform Sınıfından Geçiş.

XslTransform XSLT 1.0 söz dizimini destekler. XSLT stil sayfası ad alanı bildirimini xmlns:xsl= http://www.w3.org/1999/XSL/Transformiçermelidir.

, args stil sayfasında tanımlanan öğelerle xsl:param eşleştirilir. Dönüştürme seçimleri belgeye bir bütün olarak uygulanır. Başka bir deyişle, geçerli düğüm belge kök düğümü dışında bir düğüm ağacında ayarlandıysa, bu işlem dönüştürme işleminin yüklenen belgedeki tüm düğümlere erişmesini engellemez. Dönüştürme gerçekleştirildikten sonra, XPathNavigator özgün durumunda kalır. Bu, dönüştürme işleminden önce geçerli olan düğümün, yöntem çağrıldıktan sonra Transform geçerli düğüm olarak kalacağı anlamına gelir.

Özniteliklerin desteklendiği xsl:output özellikler için bkz. XslTransform çıkışları.

Not

Bu yöntem artık kullanımdan kaldırıldı. özelliğinin XmlResolver ayarı, XSLT document() işlevinin nasıl çözümleneceğini belirler. Önerilen uygulama, bir XmlResolver nesneyi bağımsız değişkenlerinden biri olarak alan yöntemini kullanmaktırTransform.

Ayrıca bkz.

Şunlara uygulanır