Aracılığıyla paylaş


XslCompiledTransform Sınıfına Girişler

Transform yöntemi, kaynak belge için üç giriş türü kabul eder: arabirimi uygulayan IXPathNavigable bir nesne, kaynak belgeyi okuyan bir XmlReader nesne veya dize URI'si.

Not

sınıfı, XslCompiledTransform boşluğu varsayılan olarak korur. Bu, W3C XSLT 1.0 önerisinin 3.4. bölümüne göredir.

IXPathNavigable Arabirimi

IXPathNavigable arabirimi ve XPathDocument sınıflarında XmlNode uygulanır. Bu sınıflar, XML verilerinin bellek içi önbelleğini temsil eden bir sınıftır.

  • XmlNode sınıfı, W3C Belge Nesne Modeli'ni (DOM) temel alır ve düzenleme özelliklerini içerir.

  • XPathDocument sınıfı, XPath veri modelini temel alan salt okunur bir veri deposudur. XPathDocument XSLT işleme için önerilen sınıftır. Sınıfına kıyasla XmlNode daha hızlı performans sağlar.

Not

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. Düğüm parçasını dönüştürmek için yalnızca düğüm parçasını içeren bir nesne oluşturmanız ve bu nesneyi yöntemine Transform geçirmeniz gerekir. Daha fazla bilgi için bkz . Nasıl yapılır: Düğüm Parçasını Dönüştürme.

Aşağıdaki örnek, XslCompiledTransform.Transform transform.xsl stil sayfasını kullanarak books.xml dosyasını books.html dosyasına dönüştürmek için yöntemini kullanır. books.xml ve transform.xsl dosyaları şu konuda bulunabilir: Nasıl yapılır: Derleme Kullanarak XSLT Dönüşümü Gerçekleştirme.

// 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 Nesnesi

yöntemi, Transform tüm alt öğeleri aracılığıyla öğesinin XmlReader geçerli düğümünden yüklenir. Bu, bağlam belgesi olarak belgenin bir bölümünü kullanmanızı sağlar. yöntemi döndürdüğünde Transform , XmlReader bağlam belgesinin sonundan sonraki düğüme konumlandırılır. Belgenin sonuna ulaşılırsa, XmlReader dosya sonuna (EOF) konumlandırılır.

Aşağıdaki örnek, XslCompiledTransform.Transform transform.xsl stil sayfasını kullanarak books.xml dosyasını books.html dosyasına dönüştürmek için yöntemini kullanır. books.xml ve transform.xsl dosyaları şu konuda bulunabilir: Nasıl yapılır: Derleme Kullanarak XSLT Dönüşümü Gerçekleştirme.

// 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)

Dize URI'si

XSLT girişi olarak kaynak belge URI'sini de belirtebilirsiniz. XmlResolver URI'yi çözümlemek için kullanılır. yöntemine XmlResolver geçirerek kullanılacak öğesini Transform belirtebilirsiniz. XmlResolver belirtilmezse, Transform yöntemi kimlik bilgisi olmayan bir varsayılan XmlUrlResolver kullanır.

Aşağıdaki örnek, XslCompiledTransform.Transform transform.xsl stil sayfasını kullanarak books.xml dosyasını books.html dosyasına dönüştürmek için yöntemini kullanır. books.xml ve transform.xsl dosyaları şu konuda bulunabilir: Nasıl yapılır: Derleme Kullanarak XSLT Dönüşümü Gerçekleştirme.

// 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")

Daha fazla bilgi için bkz . XSLT İşleme Sırasında Dış Kaynakları Çözümleme.

Ayrıca bkz.