XslTransform Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Dikkat
This class has been deprecated. Please use System.Xml.Xsl.XslCompiledTransform instead. http://go.microsoft.com/fwlink/?linkid=14202
Dönüşümler 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
Örnekler
Aşağıdaki örnek, belirtilen XML belgesini dönüştürür ve sonucu konsola gönderir.
//Create a new XslTransform object.
XslTransform xslt = new XslTransform();
//Load the stylesheet.
xslt.Load("http://server/favorite.xsl");
//Create a new XPathDocument and load the XML data to be transformed.
XPathDocument mydata = new XPathDocument("inputdata.xml");
//Create an XmlTextWriter which outputs to the console.
XmlWriter writer = new XmlTextWriter(Console.Out);
//Transform the data and send the output to the console.
xslt.Transform(mydata,null,writer, null);
'Create a new XslTransform object.
Dim xslt As New XslTransform()
'Load the stylesheet.
xslt.Load(CType("http://server/favorite.xsl", String))
'Create a new XPathDocument and load the XML data to be transformed.
Dim mydata As New XPathDocument("inputdata.xml")
'Create an XmlTextWriter which outputs to the console.
Dim writer As New XmlTextWriter(Console.Out)
'Transform the data and send the output to the console.
xslt.Transform(mydata, Nothing, writer, Nothing)
Açıklamalar
Not
XslTransform Sınıf, Microsoft .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ını http://www.w3.org/1999/XSL/Transform
kullanmalı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:
Bir XslTransform nesne oluşturun.
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.
Transform XML verilerini dönüştürmek için yöntemini kullanın. Bu yöntemin çeşitli aşırı yüklemeleri 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 etkilerini bilmeniz 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 eklenmiş 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.
Karma güven ortamında çalışan XSLT uygulamaları stil sayfası sahtekarlığına neden olabilir. Örneğin, kötü amaçlı bir kullanıcı zararlı stil sayfası içeren bir nesneyi yükleyebilir ve daha sonra yöntemini çağıran Transform ve dönüştürmeyi yürüten başka bir kullanıcıya verebilir.
Bu güvenlik sorunları güvenilmeyen kaynaklardan nesneler, XSLT stil sayfaları veya XML kaynak verileri kabul XslTransform edilmeyerek azaltılabilir.
Betik Oluşturma Desteği
Bu sınıf, öğesini kullanarak msxsl:script
ekli betik oluşturmayı destekler.
.NET Framework 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 izinleri yoksa oluşturulur SecurityException . 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ınaurn:schemas-microsoft-com:xslt
aittir. Stil sayfası ad alanı bildiriminixmlns:msxsl=urn:schemas-microsoft-com:xslt
içermelidir.msxsl:script
öğesi, kullanılacak betik dilini belirten birlanguage
öznitelik içerebilir. özniteliğininlanguage
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. Birlanguage
öznitelik belirtilmezse, varsayılan olarak JScript olur.öğesi,
msxsl:script
betik bloğuyla ilişkili ad alanını temsil eden ön eki içeren birimplements-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 dile sahip betik bloklarınız olamaz. Betik blokları, betik bloklarının aynı ad alanında bulunması koşuluyla başka bir betik bloğunda tanımlanan bir işlevi çağırabilir. Betik bloğunun içeriği, betik dilinin kurallarına ve söz dizimine göre ayrıştırılır (özniteliği tarafındanlanguage
sağlanır). Örneğin, bir C# betik bloğuna sahipseniz, yorumlara karakterlerin//
ön eki eklenir. Açıklamalar geçerli XML içeriği olmalıdır.
Not
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, Tek veya Ondalık, bu türler W3C XPath tür numarasıyla eşlenen Double olarak zorunlu kılındı.
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.
Not
msxsl:script
ve 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, sınıfın bir örneğini sınıfa XslTransform geçirerek ve bir XSLT stil sayfasında ortak yöntemlerini çağırarak gerçekleştirilir. Anahtar sözcüğüyle params
tanımlanan ve belirtilmemiş 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üşümleri.
Oluşturucular
XslTransform() |
XslTransform sınıfının yeni bir örneğini başlatır. |
Özellikler
XmlResolver |
Kullanımdan kalktı.
XmlResolver yöntemi çağrıldığında dış kaynakları çözümlemek için kullanılan öğesini Transform ayarlar. |
Yöntemler
Equals(Object) |
Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler. (Devralındığı yer: Object) |
GetHashCode() |
Varsayılan karma işlevi işlevi görür. (Devralındığı yer: Object) |
GetType() |
Type Geçerli örneğini alır. (Devralındığı yer: Object) |
Load(IXPathNavigable) |
Kullanımdan kalktı.
içinde bulunan IXPathNavigableXSLT stil sayfasını yükler. |
Load(IXPathNavigable, XmlResolver) |
Kullanımdan kalktı.
içinde IXPathNavigablebulunan XSLT stil sayfasını yükler. |
Load(IXPathNavigable, XmlResolver, Evidence) |
içinde bulunan IXPathNavigableXSLT stil sayfasını yükler. Bu yöntem, kanıt belirterek stil sayfasının izinlerini sınırlamanıza olanak tanır. |
Load(String) |
URL tarafından belirtilen XSLT stil sayfasını yükler. |
Load(String, XmlResolver) |
URL tarafından belirtilen XSLT stil sayfasını yükler. |
Load(XmlReader) |
Kullanımdan kalktı.
içinde bulunan XmlReaderXSLT stil sayfasını yükler. |
Load(XmlReader, XmlResolver) |
Kullanımdan kalktı.
içinde bulunan XmlReaderXSLT stil sayfasını yükler. |
Load(XmlReader, XmlResolver, Evidence) |
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(XPathNavigator) |
Kullanımdan kalktı.
içinde bulunan XPathNavigatorXSLT stil sayfasını yükler. |
Load(XPathNavigator, XmlResolver) |
Kullanımdan kalktı.
içinde XPathNavigatorbulunan XSLT stil sayfasını yükler. |
Load(XPathNavigator, XmlResolver, Evidence) |
içinde bulunan XPathNavigatorXSLT stil sayfasını yükler. Bu yöntem, kanıt belirterek stil sayfasının izinlerini sınırlamanıza olanak tanır. |
MemberwiseClone() |
Geçerli Objectöğesinin sığ bir kopyasını oluşturur. (Devralındığı yer: Object) |
ToString() |
Geçerli nesneyi temsil eden dizeyi döndürür. (Devralındığı yer: Object) |
Transform(IXPathNavigable, XsltArgumentList) |
Kullanımdan kalktı.
belirtilen |
Transform(IXPathNavigable, XsltArgumentList, Stream) |
Kullanımdan kalktı.
belirtilen |
Transform(IXPathNavigable, XsltArgumentList, Stream, XmlResolver) |
belirtilen |
Transform(IXPathNavigable, XsltArgumentList, TextWriter) |
Kullanımdan kalktı.
belirtilen |
Transform(IXPathNavigable, XsltArgumentList, TextWriter, XmlResolver) |
belirtilen |
Transform(IXPathNavigable, XsltArgumentList, XmlResolver) |
belirtilen |
Transform(IXPathNavigable, XsltArgumentList, XmlWriter) |
Kullanımdan kalktı.
belirtilen |
Transform(IXPathNavigable, XsltArgumentList, XmlWriter, XmlResolver) |
belirtilen |
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(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(XPathNavigator, XsltArgumentList) |
Kullanımdan kalktı.
belirtilen |
Transform(XPathNavigator, XsltArgumentList, Stream) |
Kullanımdan kalktı.
belirtilen |
Transform(XPathNavigator, XsltArgumentList, Stream, XmlResolver) |
belirtilen |
Transform(XPathNavigator, XsltArgumentList, TextWriter) |
Kullanımdan kalktı.
belirtilen |
Transform(XPathNavigator, XsltArgumentList, TextWriter, XmlResolver) |
belirtilen |
Transform(XPathNavigator, XsltArgumentList, XmlResolver) |
belirtilen |
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, 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. |
Ş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 nesnede başka hiçbir yöntemin çağrılmadığından emin olmanız gerekir.