XslTransform Sınıf

Tanım

Dikkat

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

Dönüştürmeler için Genişletilebilir Stil Sayfası Dili (XSLT) stil sayfası kullanarak XML verilerini dönüştürür.

public ref class XslTransform sealed
public sealed class XslTransform
[System.Obsolete("This class has been deprecated. Please use System.Xml.Xsl.XslCompiledTransform instead. http://go.microsoft.com/fwlink/?linkid=14202")]
public sealed class XslTransform
type XslTransform = class
[<System.Obsolete("This class has been deprecated. Please use System.Xml.Xsl.XslCompiledTransform instead. http://go.microsoft.com/fwlink/?linkid=14202")>]
type XslTransform = class
Public NotInheritable Class XslTransform
Devralma
XslTransform
Öznitelikler

Açıklamalar

Note

XslTransform sınıfı, Microsoft .NET Framework sürüm 2.0'da kullanım dışıdır. 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ını http://www.w3.org/1999/XSL/Transformkullanmalıdır.

Sınıf kullanılarak XsltArgumentList stil sayfasına ek bağımsız değişkenler de eklenebilir. Bu sınıf, stil sayfası ve stil sayfasından çağrılabilen uzantı nesneleri için giriş parametreleri içerir.

XML verilerini dönüştürmek için:

  1. Bir XslTransform nesne oluşturun.

  2. Dönüştürme için Load stil sayfasını yüklemek için yöntemini kullanın. Bu yöntemin birkaç aşırı yüklemesi vardır ve dosya konumuna sahip bir XmlReader, XPathNavigator, IXPathNavigableveya URL kullanarak bir stil sayfası yükleyebilir.

  3. Transform XML verilerini dönüştürmek için yöntemini kullanın. Bu yöntemin birkaç aşırı yüklemesi vardır ve farklı giriş ve çıkış türlerini işleyebilir. Ayrıca, dönüştürme sırasında giriş olarak kullanılacak ek bağımsız değişkenler de belirtebilirsiniz XsltArgumentList .

Güvenlikle İlgili Dikkat Edilmesi Gerekenler

sınıfını XslTransform kullanan bir uygulama oluştururken aşağıdaki öğelerin ve bunların etkilerinin farkında olmanız gerekir:

  • Uzantı nesneleri varsayılan olarak etkindir. Uzantı nesnelerini içeren bir XsltArgumentList nesne yöntemine Transform geçirilirse, bunlar kullanılır.

  • XSLT stil sayfaları, diğer dosyalara ve ekli betik bloklarına başvurular içerebilir. Kötü amaçlı bir kullanıcı, yürütüldüğünde bilgisayarınızın kaynakları yetersiz olana kadar sisteminizin işlemesine neden olacak veri veya stil sayfaları sağlayarak bu durumdan yararlanabilir.

  • Karışık güven ortamında çalışan XSLT uygulamaları stil sayfası aldatmacasına neden olabilir. Örneğin, kötü niyetli bir kullanıcı zararlı bir stil sayfası ile bir nesne yükleyebilir ve bunu başka bir kullanıcıya verir; bu kullanıcı daha sonra Transform yöntemini çağırarak dönüşümü gerçekleştirir.

Bu güvenlik sorunları, güvenilmeyen kaynaklardan nesneler, XSLT stil sayfaları veya XML kaynak verileri kabul XslTransform edilmeyerek azaltılabilir.

Betik Desteği

Bu sınıf, öğesini kullanarak msxsl:script ekli betik oluşturmayı destekler.

.NET Framework'ün 1.1 sürümünde, stil sayfasının kanıtı eklenmiş betiklere hangi izinlerin verildiğini belirler.

  • Stil sayfası Tekdüzen Kaynak Tanımlayıcısı'ndan (URI) yüklendiyse, kanıtı oluşturmak için URI kullanılır. Bu kanıt, sitesi ve bölgesiyle birlikte URI'yi içerir.

  • Stil sayfası başka bir kaynak kullanılarak yüklendiyse, bir nesneyi yöntemine Load geçirerek System.Security.Policy.Evidence kanıt sağlayabilirsiniz. Aksi takdirde, betik derlemesi tam güvene sahiptir.

Yarı güvenilir arayanlar: UnmanagedCode Katıştırılmış betiği derlemek için izin gereklidir. ControlEvidence yöntemine sağlamak Evidence için Load izin gereklidir. Çağıranın gerekli izinlere sahip olmaması durumunda bir SecurityException oluşturulur. Daha fazla bilgi için bkz. System.Security.Permissions.SecurityPermission ve System.Security.Permissions.SecurityPermissionFlag.

msxsl:script öğesi aşağıdaki gereksinimlere sahiptir:

  • msxsl:script öğesi ad alanına urn:schemas-microsoft-com:xslt aittir. Stil sayfası ad alanı bildirimini xmlns:msxsl=urn:schemas-microsoft-com:xsltiçermelidir.

  • msxsl:script öğesi, kullanılacak betik dilini belirten bir language öznitelik içerebilir. özniteliğinin language değeri aşağıdakilerden biri olmalıdır: C#, CSharp, VB, VisualBasic, JScript veya JavaScript. Dil adı büyük/küçük harfe duyarlı olmadığından JavaScript ve javascript'in her ikisi de geçerlidir. Bir language öznitelik belirtilmezse, varsayılan olarak JScript olur.

  • öğesi, msxsl:script betik bloğuyla ilişkili ad alanını temsil eden ön eki içeren bir implements-prefix öznitelik içermelidir. Bu ad alanı stil sayfasında tanımlanmalıdır. Stil sayfası, ad alanına göre gruplandırılmış birden çok betik bloğu içerebilir. Aynı ad alanında birden çok dil içeren betik bloklarınız olamaz. Betik blokları, betik blokları aynı ad alanında yer alırsa, başka bir betik bloğunda tanımlanan bir işlevi çağırabilir. Betik bloğunun içeriği, betik dilinin (özniteliği tarafından language sağlanan) kurallarına ve söz dizimine göre ayrıştırılır. Örneğin, bir C# betik bloğuna sahipseniz, yorumlara karakterler ön eklenmelidir // . Açıklamaların geçerli XML içeriği olması gerekir.

Note

Betik bloklarını bir CDATA bölümünde sarmalamanız önerilir.

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

İşlevler öğesi içinde msxsl:script bildirilebilir. Aşağıdaki tabloda varsayılan olarak desteklenen ad alanları gösterilmektedir.

Desteklenen Ad Alanları Description
System Sistem sınıfları.
System.Collection Koleksiyon sınıfları.
System.Text Metin işleme sınıfları.
System.Xml Çekirdek XML sınıfları.
System.Xml.Xsl XSLT sınıfları.
System.Xml.XPath XML Yol Dili (XPath) sınıfları.

Betik işlevleri tarafından tanımlanan sağlanan bağımsız değişkenler ve dönüş değerleri, aşağıda listelenen World Wide Web Consortium (W3C) türlerinden biri olmalıdır. Aşağıdaki tabloda, XPath veya XSLT gibi W3C türleri ile ilgili .NET Framework sınıfları arasındaki eşleme ayrıntıları verilmektedir.

W3C Türü Eşdeğer .NET sınıfı
Dize (XPath) System.String
Boole dili (XPath) System.Boolean
Sayı (XPath) System.Double
Sonuç Ağacı Parçası (XSLT) System.Xml.XPath.XPathNavigator
Düğüm Kümesi (XPath) System.Xml.XPath.XPathNodeIterator

Betik işlevi şu sayısal türlerden birini kullanıyorsa: Int16, UInt16, Int32, UInt32, Int64, UInt64, Single veya Decimal, bu türler Double olarak zorunlu tutularak W3C XPath tür numarasıyla eşlenir.

Bağımsız değişken sonucunu gerekli türlerden birine dönüştüremeyen bir işlev çağrıldığında bir özel durum oluşturulur.

Note

msxsl:scriptve msxsl:node-list sınıfı tarafından XslTransform desteklenen ad alanından urn:schemas-microsoft-com:xslt yalnızca işlevlerdir.

XslTransform bir uzantı mekanizması olarak ortak dil çalışma zamanı (CLR) kodunu kullanma özelliğine sahiptir. Bu, bir sınıfın örneğini sınıfa XslTransform geçirerek ve bir XSLT stil sayfasında genel yöntemlerini çağırarak gerçekleştirilir. Anahtar sözcüğüyle params tanımlanan ve belirtilmeyen sayıda parametrenin geçirilmesine izin veren yöntemler bu senaryoda düzgün çalışmaz. Diğer ayrıntılar için bkz. parametreler .

Daha fazla bilgi için bkz. XslTransform Sınıfı ile XSLT Dönüştürmeleri.

Oluşturucular

Name Description
XslTransform()
Geçersiz.

XslTransform sınıfının yeni bir örneğini başlatır.

Özellikler

Name Description
XmlResolver
Geçersiz.

XmlResolver Yöntemi çağrıldığında dış kaynakları çözümlemek için kullanılan öğesini Transform ayarlar.

Yöntemler

Name Description
Equals(Object)
Geçersiz.

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()
Geçersiz.

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()
Geçersiz.

Geçerli örneğin Type alır.

(Devralındığı yer: Object)
Load(IXPathNavigable, XmlResolver, Evidence)
Geçersiz.

içinde IXPathNavigablebulunan XSLT stil sayfasını yükler. Bu yöntem, kanıt belirterek stil sayfasının izinlerini sınırlamanıza olanak tanır.

Load(IXPathNavigable, XmlResolver)
Geçersiz.

içinde IXPathNavigablebulunan XSLT stil sayfasını yükler.

Load(IXPathNavigable)
Geçersiz.

içinde IXPathNavigablebulunan XSLT stil sayfasını yükler.

Load(String, XmlResolver)
Geçersiz.

URL tarafından belirtilen XSLT stil sayfasını yükler.

Load(String)
Geçersiz.

URL tarafından belirtilen XSLT stil sayfasını yükler.

Load(XmlReader, XmlResolver, Evidence)
Geçersiz.

içinde XmlReaderbulunan XSLT stil sayfasını yükler. Bu yöntem, kanıt belirterek stil sayfasının izinlerini sınırlamanıza olanak tanır.

Load(XmlReader, XmlResolver)
Geçersiz.

içinde XmlReaderbulunan XSLT stil sayfasını yükler.

Load(XmlReader)
Geçersiz.

içinde XmlReaderbulunan XSLT stil sayfasını yükler.

Load(XPathNavigator, XmlResolver, Evidence)
Geçersiz.

içinde XPathNavigatorbulunan XSLT stil sayfasını yükler. Bu yöntem, kanıt belirterek stil sayfasının izinlerini sınırlamanıza olanak tanır.

Load(XPathNavigator, XmlResolver)
Geçersiz.

içinde XPathNavigatorbulunan XSLT stil sayfasını yükler.

Load(XPathNavigator)
Geçersiz.

içinde XPathNavigatorbulunan XSLT stil sayfasını yükler.

MemberwiseClone()
Geçersiz.

Geçerli Objectbasit bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()
Geçersiz.

Geçerli nesneyi temsil eden bir dize döndürür.

(Devralındığı yer: Object)
Transform(IXPathNavigable, XsltArgumentList, Stream, XmlResolver)
Geçersiz.

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

Transform(IXPathNavigable, XsltArgumentList, Stream)
Geçersiz.

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

Transform(IXPathNavigable, XsltArgumentList, TextWriter, XmlResolver)
Geçersiz.

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

Transform(IXPathNavigable, XsltArgumentList, TextWriter)
Geçersiz.

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

Transform(IXPathNavigable, XsltArgumentList, XmlResolver)
Geçersiz.

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

Transform(IXPathNavigable, XsltArgumentList, XmlWriter, XmlResolver)
Geçersiz.

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

Transform(IXPathNavigable, XsltArgumentList, XmlWriter)
Geçersiz.

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

Transform(IXPathNavigable, XsltArgumentList)
Geçersiz.

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

Transform(String, String, XmlResolver)
Geçersiz.

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

Transform(String, String)
Geçersiz.

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

Transform(XPathNavigator, XsltArgumentList, Stream, XmlResolver)
Geçersiz.

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

Transform(XPathNavigator, XsltArgumentList, Stream)
Geçersiz.

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

Transform(XPathNavigator, XsltArgumentList, TextWriter, XmlResolver)
Geçersiz.

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

Transform(XPathNavigator, XsltArgumentList, TextWriter)
Geçersiz.

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

Transform(XPathNavigator, XsltArgumentList, XmlResolver)
Geçersiz.

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

Transform(XPathNavigator, XsltArgumentList, XmlWriter, XmlResolver)
Geçersiz.

belirtilen birleştirmeleri kullanarak içindeki XPathNavigator XML verilerini dönüştürür ve sonucu öğesine XmlWriterdöndürür.

Transform(XPathNavigator, XsltArgumentList, XmlWriter)
Geçersiz.

belirtilen birleştirmeleri kullanarak içindeki XPathNavigator XML verilerini dönüştürür ve sonucu öğesine XmlWriterdöndürür.

Transform(XPathNavigator, XsltArgumentList)
Geçersiz.

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

Şunlara uygulanır

İş Parçacığı Güvenliği

XslTransform nesneleri yalnızca dönüştürme işlemleri için iş parçacığı açısından güvenlidir. Diğer işlemlerin iş parçacığı açısından güvenli olması garanti değildir. Yük işlemleri sırasında nesne üzerinde başka hiçbir yöntemin çağrılmadığından emin olmanız gerekir.