Share via


XslTransform.Load Yöntem

Tanım

ve öğelerinde xsl:includexsl:import başvuruda bulunan stil sayfaları da dahil olmak üzere XSLT stil sayfasını yükler.

Aşırı Yüklemeler

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.

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(XPathNavigator, XmlResolver)
Geçersiz.

içinde bulunan XPathNavigatorXSLT stil sayfasını yükler.

Load(IXPathNavigable, XmlResolver)
Geçersiz.

içinde bulunan IXPathNavigableXSLT stil sayfasını yükler.

Load(XmlReader, XmlResolver)
Geçersiz.

içinde bulunan XmlReaderXSLT stil sayfasını yükler.

Load(XmlReader, XmlResolver, Evidence)

içinde bulunan XmlReaderXSLT 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)
Geçersiz.

içinde bulunan XPathNavigatorXSLT stil sayfasını yükler.

Load(IXPathNavigable)
Geçersiz.

içinde bulunan IXPathNavigableXSLT stil sayfasını yükler.

Load(XmlReader)
Geçersiz.

içinde bulunan XmlReaderXSLT stil sayfasını yükler.

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.

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.

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.

public:
 void Load(System::Xml::XPath::XPathNavigator ^ stylesheet, System::Xml::XmlResolver ^ resolver, System::Security::Policy::Evidence ^ evidence);
public void Load (System.Xml.XPath.XPathNavigator stylesheet, System.Xml.XmlResolver resolver, System.Security.Policy.Evidence evidence);
member this.Load : System.Xml.XPath.XPathNavigator * System.Xml.XmlResolver * System.Security.Policy.Evidence -> unit
Public Sub Load (stylesheet As XPathNavigator, resolver As XmlResolver, evidence As Evidence)

Parametreler

stylesheet
XPathNavigator

XPathNavigator Yüklenemiyor stil sayfasını içeren bir nesne.

resolver
XmlResolver

ve XmlResolverxsl:include öğelerinde xsl:import başvuruda bulunan stil sayfalarını yüklemek için kullanılır. Bu ise null, dış kaynaklar çözümlenmez.

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

evidence
Evidence

Evidence XSLT stil sayfasındaki betik bloğu için oluşturulan derlemedeki küme.

Bu ise null, betik blokları işlenmez, XSLT document() işlevi desteklenmez ve ayrıcalıklı uzantı nesnelerine izin verilmez.

Çağıranın betik derlemesi için kanıt sağlayabilmesi için izni olmalıdır ControlEvidence . Yarı güvenilir arayanlar bu parametreyi olarak nullayarlayabilir.

Özel durumlar

Geçerli düğüm geçerli bir stil sayfasına uymuyor.

Başvuruda bulunılan stil sayfası, sağlanan kanıt tarafından izin verilmeyen işlevler gerektirir.

Çağıran kanıt sağlamaya çalışır ve izni yoktur ControlEvidence .

Örnekler

Aşağıdaki örnek, dış kaynaktan bir stil sayfası kullanarak XSLT dönüşümü gerçekleştirir. Stil sayfası güvenilmeyen bir kaynaktan geldiğinden resolver ve evidence parametreleri olarak nullayarlanır.


public static void TransformFile (XPathNavigator xsltNav) {

 // Load the stylesheet.
 XslTransform xslt = new XslTransform();
 xslt.Load(xsltNav, null, null);

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

public shared sub TransformFile (xsltNav as XPathNavigator) 
 
 ' Load the stylesheet.
 Dim xslt as XslTransform = new XslTransform()
 xslt.Load(xsltNav, nothing, nothing)

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

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.

Stil sayfası geçerli konumundan XPathNavigatoryüklenir. Yüklenen belgenin bir bölümünü stil sayfası olarak kullanmak için, stil sayfasının başına karşılık gelen düğüme gidin. yöntemi döndürdüğünde Load , XPathNavigator stil sayfasının başına (düğümde xsl:style sheet ) konumlandırılır.

Kanıt sağlamanın farklı yolları vardır. Aşağıdaki tabloda, yaygın kullanıcı senaryoları için ne tür kanıt sağlandığı açıklanmaktadır.

Senaryo Sağlayabilecek kanıt türü
XSLT stil sayfası bağımsızdır veya güvendiğiniz bir kod tabanından gelir. Derlemenizdeki kanıtları kullanın.

XsltTransform xslt = new XslTransform(); 
xslt.Load(xslNav, resolver, this.GetType().Assembly.Evidence);
XSLT stil sayfası dış kaynaktan gelir. Kaynağın kaynağı bilinir ve doğrulanabilir bir URL vardır. URL'yi kullanarak kanıt oluşturun.

XsltTransform xslt = new XslTransform(); 
Evidence evidence = XmlSecureResolver.CreateEvidenceForUrl(style sheetURL); 
xslt.Load(xslNav,resolver,evidence);
XSLT stil sayfası dış kaynaktan gelir. Kaynağın kaynağı bilinmiyor. kanıtı olarak nullayarlayın. Betik blokları işlenmez, XSLT document() işlevi desteklenmez ve ayrıcalıklı uzantı nesnelerine izin verilmez.

Ayrıca parametresini resolvernullolarak da ayarlayabilirsiniz. Bu, ve xsl:include öğelerinin xsl:import işlenmemesini sağlar.
XSLT stil sayfası dış kaynaktan gelir. Kaynağın kaynağı bilinmiyor, ancak betik desteğine ihtiyacınız var. Arayandan kanıt isteyin. Çağıranın API'sinin genellikle Evidence sınıfı olmak üzere kanıt sağlamak için bir yol sağlaması gerekir.

Ayrıca bkz.

Şunlara uygulanır

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.

public:
 void Load(System::Xml::XPath::IXPathNavigable ^ stylesheet, System::Xml::XmlResolver ^ resolver, System::Security::Policy::Evidence ^ evidence);
public void Load (System.Xml.XPath.IXPathNavigable stylesheet, System.Xml.XmlResolver resolver, System.Security.Policy.Evidence evidence);
member this.Load : System.Xml.XPath.IXPathNavigable * System.Xml.XmlResolver * System.Security.Policy.Evidence -> unit
Public Sub Load (stylesheet As IXPathNavigable, resolver As XmlResolver, evidence As Evidence)

Parametreler

stylesheet
IXPathNavigable

Arabirimi uygulayan IXPathNavigable bir nesne. .NET Framework, bu bir XmlNode (genellikle bir XmlDocument) veya XSLT stil sayfasını içeren bir XPathDocument olabilir.

resolver
XmlResolver

ve XmlResolverxsl:include öğelerinde xsl:import başvuruda bulunan stil sayfalarını yüklemek için kullanılır. Bu ise null, dış kaynaklar çözümlenmez.

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

evidence
Evidence

Evidence XSLT stil sayfasındaki betik bloğu için oluşturulan derlemedeki küme.

Bu ise null, betik blokları işlenmez, XSLT document() işlevi desteklenmez ve ayrıcalıklı uzantı nesnelerine izin verilmez.

Çağıranın betik derlemesi için kanıt sağlayabilmesi için izni olmalıdır ControlEvidence . Yarı güvenilir arayanlar bu parametreyi olarak nullayarlayabilir.

Özel durumlar

Yüklenen kaynak geçerli bir stil sayfası değil.

Başvuruda bulunılan stil sayfası, sağlanan kanıt tarafından izin verilmeyen işlevler gerektirir.

Çağıran kanıt sağlamaya çalışır ve izni yoktur ControlEvidence .

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.

Kanıt sağlamanın farklı yolları vardır. Aşağıdaki tabloda, yaygın kullanıcı senaryoları için ne tür kanıt sağlandığı açıklanmaktadır.

Senaryo Sağlayabilecek kanıt türü
XSLT stil sayfası bağımsızdır veya güvendiğiniz bir kod tabanından gelir. Derlemenizdeki kanıtları kullanın.

XsltTransform xslt = new XslTransform(); 
xslt.Load(style sheet, resolver, this.GetType().Assembly.Evidence);
XSLT stil sayfası dış kaynaktan gelir. Kaynağın kaynağı bilinir ve doğrulanabilir bir URL vardır. URL'yi kullanarak kanıt oluşturun.

XsltTransform xslt = new XslTransform(); 
Evidence evidence = XmlSecureResolver.CreateEvidenceForUrl(style sheetURL); 
xslt.Load(style sheet,resolver,evidence);
XSLT stil sayfası dış kaynaktan gelir. Kaynağın kaynağı bilinmiyor. kanıtı olarak nullayarlayın. Betik blokları işlenmez, XSLT document() işlevi desteklenmez ve ayrıcalıklı uzantı nesnelerine izin verilmez.

Ayrıca parametresini resolvernullolarak da ayarlayabilirsiniz. Bu, ve xsl:include öğelerinin xsl:import işlenmemesini sağlar.
XSLT stil sayfası dış kaynaktan gelir. Kaynağın kaynağı bilinmiyor, ancak betik desteğine ihtiyacınız var. Arayandan kanıt isteyin. Çağıranın API'sinin genellikle Evidence sınıfı olmak üzere kanıt sağlamak için bir yol sağlaması gerekir.

Ayrıca bkz.

Şunlara uygulanır

Load(XPathNavigator, XmlResolver)

Source:
XslTransform.cs
Source:
XslTransform.cs
Source:
XslTransform.cs

Dikkat

You should pass evidence to Load() method

içinde bulunan XPathNavigatorXSLT stil sayfasını yükler.

public:
 void Load(System::Xml::XPath::XPathNavigator ^ stylesheet, System::Xml::XmlResolver ^ resolver);
public void Load (System.Xml.XPath.XPathNavigator stylesheet, System.Xml.XmlResolver? resolver);
public void Load (System.Xml.XPath.XPathNavigator stylesheet, System.Xml.XmlResolver resolver);
[System.Obsolete("You should pass evidence to Load() method")]
public void Load (System.Xml.XPath.XPathNavigator stylesheet, System.Xml.XmlResolver resolver);
member this.Load : System.Xml.XPath.XPathNavigator * System.Xml.XmlResolver -> unit
[<System.Obsolete("You should pass evidence to Load() method")>]
member this.Load : System.Xml.XPath.XPathNavigator * System.Xml.XmlResolver -> unit
Public Sub Load (stylesheet As XPathNavigator, resolver As XmlResolver)

Parametreler

stylesheet
XPathNavigator

XPathNavigator XSLT stil sayfasını içeren bir nesne.

resolver
XmlResolver

ve XmlResolverxsl:include öğelerinde xsl:import başvuruda bulunan stil sayfalarını yüklemek için kullanılır. Bu ise null, dış kaynaklar çözümlenmez.

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

Öznitelikler

Özel durumlar

Geçerli düğüm geçerli bir stil sayfasına uymuyor.

Stil sayfası eklenmiş betikler içeriyor ve çağıranın izni yok UnmanagedCode .

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.

Stil sayfası geçerli konumundan XPathNavigatoryüklenir. Yüklenen belgenin bir bölümünü stil sayfası olarak kullanmak için, stil sayfasının başına karşılık gelen düğüme gidin. yöntemi döndürdüğünde Load , XPathNavigator stil sayfasının başına (düğümde xsl:style sheet ) konumlandırılır.

Stil sayfası eklenmiş betik içeriyorsa, betik bir derlemeye derlenmiş olur. Derleme tam güvene sahiptir. Önerilen uygulama, kullanarak kanıt sağlamaktır Load(XPathNavigator, XmlResolver, Evidence).

Not

Çağıranın UnmanagedCode izni yoksa, katıştırılmış betik derlenmez ve bir SecurityException oluşturulur. Daha fazla bilgi için bkz SecurityPermission . ve SecurityPermissionFlag.UnmanagedCode .

Ayrıca bkz.

Şunlara uygulanır

Load(IXPathNavigable, XmlResolver)

Source:
XslTransform.cs
Source:
XslTransform.cs
Source:
XslTransform.cs

Dikkat

You should pass evidence to Load() method

içinde bulunan IXPathNavigableXSLT stil sayfasını yükler.

public:
 void Load(System::Xml::XPath::IXPathNavigable ^ stylesheet, System::Xml::XmlResolver ^ resolver);
public void Load (System.Xml.XPath.IXPathNavigable stylesheet, System.Xml.XmlResolver? resolver);
public void Load (System.Xml.XPath.IXPathNavigable stylesheet, System.Xml.XmlResolver resolver);
[System.Obsolete("You should pass evidence to Load() method")]
public void Load (System.Xml.XPath.IXPathNavigable stylesheet, System.Xml.XmlResolver resolver);
member this.Load : System.Xml.XPath.IXPathNavigable * System.Xml.XmlResolver -> unit
[<System.Obsolete("You should pass evidence to Load() method")>]
member this.Load : System.Xml.XPath.IXPathNavigable * System.Xml.XmlResolver -> unit
Public Sub Load (stylesheet As IXPathNavigable, resolver As XmlResolver)

Parametreler

stylesheet
IXPathNavigable

Arabirimi uygulayan IXPathNavigable bir nesne. .NET Framework, bu bir XmlNode (genellikle bir XmlDocument) veya XSLT stil sayfasını içeren bir XPathDocument olabilir.

resolver
XmlResolver

ve XmlResolverxsl:include öğelerinde xsl:import başvuruda bulunan stil sayfalarını yüklemek için kullanılır. Bu ise null, dış kaynaklar çözümlenmez.

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

Öznitelikler

Özel durumlar

Yüklenen kaynak geçerli bir stil sayfası değil.

Stil sayfası eklenmiş betikler içeriyor ve çağıranın izni yok UnmanagedCode .

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.

Stil sayfası eklenmiş betik içeriyorsa, betik bir derlemeye derlenmiş olur. Derleme tam güvene sahiptir. Önerilen uygulama, yöntemini kullanarak kanıt sağlamaktır Load(IXPathNavigable, XmlResolver, Evidence) .

Not

Çağıranın UnmanagedCode izni yoksa, katıştırılmış betik derlenmez ve bir SecurityException oluşturulur. Daha fazla bilgi için bkz SecurityPermission . ve SecurityPermissionFlag.UnmanagedCode .

Ayrıca bkz.

Şunlara uygulanır

Load(XmlReader, XmlResolver)

Source:
XslTransform.cs
Source:
XslTransform.cs
Source:
XslTransform.cs

Dikkat

You should pass evidence to Load() method

içinde bulunan XmlReaderXSLT stil sayfasını yükler.

public:
 void Load(System::Xml::XmlReader ^ stylesheet, System::Xml::XmlResolver ^ resolver);
public void Load (System.Xml.XmlReader stylesheet, System.Xml.XmlResolver? resolver);
public void Load (System.Xml.XmlReader stylesheet, System.Xml.XmlResolver resolver);
[System.Obsolete("You should pass evidence to Load() method")]
public void Load (System.Xml.XmlReader stylesheet, System.Xml.XmlResolver resolver);
member this.Load : System.Xml.XmlReader * System.Xml.XmlResolver -> unit
[<System.Obsolete("You should pass evidence to Load() method")>]
member this.Load : System.Xml.XmlReader * System.Xml.XmlResolver -> unit
Public Sub Load (stylesheet As XmlReader, resolver As XmlResolver)

Parametreler

stylesheet
XmlReader

XmlReader XSLT stil sayfasını içeren bir nesne.

resolver
XmlResolver

ve XmlResolverxsl:include öğelerinde xsl:import başvuruda bulunan stil sayfalarını yüklemek için kullanılır. Bu ise null, dış kaynaklar çözümlenmez.

XmlResolver yöntemi tamamlandıktan sonra Load(XmlReader, XmlResolver) önbelleğe alınmaz.

Öznitelikler

Özel durumlar

Geçerli düğüm geçerli bir stil sayfasına uymuyor.

Stil sayfası eklenmiş betikler içeriyor ve çağıranın izni yok UnmanagedCode .

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.

Bu yöntem, ve xsl:import öğelerinde xsl:include başvuruda bulunan tüm stil sayfaları dahil olmak üzere XSLT stil sayfasını yükler. Stil sayfası, öğesinin geçerli düğümünden tüm alt öğelerine XmlReader yüklenir. Bu, belgenin bir bölümünü stil sayfası olarak kullanmanızı sağlar.

yöntemi döndürdüğünde Load , XmlReader stil sayfasının sonundan sonraki düğüme konumlandırılır. Belgenin sonuna ulaşılırsa, XmlReader dosya sonuna (EOF) konumlandırılır.

Stil sayfasında varlıklar varsa, varlıkları çözümleyebilecek bir XmlReader belirtmelisiniz (XmlReader.CanResolveEntity döndürür true). Bu durumda, bir XmlValidatingReader kullanılabilir.

Stil sayfası eklenmiş betik içeriyorsa, betik bir derlemeye derlenmiş olur. Derleme tam güvene sahiptir. Önerilen uygulama, yöntemini kullanarak kanıt sağlamaktır Load(XmlReader, XmlResolver, Evidence) .

Not

Çağıranın UnmanagedCode izni yoksa, katıştırılmış betik derlenmez ve bir SecurityException oluşturulur. Daha fazla bilgi için bkz SecurityPermission . ve SecurityPermissionFlag.UnmanagedCode .

Ayrıca bkz.

Şunlara uygulanır

Load(XmlReader, XmlResolver, Evidence)

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

public:
 void Load(System::Xml::XmlReader ^ stylesheet, System::Xml::XmlResolver ^ resolver, System::Security::Policy::Evidence ^ evidence);
public void Load (System.Xml.XmlReader stylesheet, System.Xml.XmlResolver resolver, System.Security.Policy.Evidence evidence);
member this.Load : System.Xml.XmlReader * System.Xml.XmlResolver * System.Security.Policy.Evidence -> unit
Public Sub Load (stylesheet As XmlReader, resolver As XmlResolver, evidence As Evidence)

Parametreler

stylesheet
XmlReader

XmlReader Yüklenemiyor stil sayfasını içeren bir nesne.

resolver
XmlResolver

ve XmlResolverxsl:include öğelerinde xsl:import başvuruda bulunan stil sayfalarını yüklemek için kullanılır. Bu ise null, dış kaynaklar çözümlenmez.

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

evidence
Evidence

Evidence XSLT stil sayfasındaki betik bloğu için oluşturulan derlemedeki küme.

Bu ise null, betik blokları işlenmez, XSLT document() işlevi desteklenmez ve ayrıcalıklı uzantı nesnelerine izin verilmez.

Çağıranın betik derlemesi için kanıt sağlayabilmesi için izni olmalıdır ControlEvidence . Yarı güvenilir arayanlar bu parametreyi olarak nullayarlayabilir.

Özel durumlar

Geçerli düğüm geçerli bir stil sayfasına uymuyor.

Başvuruda bulunılan stil sayfası, sağlanan kanıt tarafından izin verilmeyen işlevler gerektirir.

Çağıran kanıt sağlamaya çalışır ve izni yoktur ControlEvidence .

Örnekler

Aşağıdaki örnek, stil sayfası içeren ve secureURL oluşturmak Evidenceiçin kullanılabilecek güvenilir bir XmlReader URL olan bir XSLT dönüşümü xsltReader gerçekleştirir. XmlSecureResolver.CreateEvidenceForUrl yöntemi, stil sayfasına uygulanan öğesini oluşturmak Evidence için kullanılır.

void TransformFile( XmlReader^ xsltReader, String^ secureURL )
{
   
   // Load the stylesheet using a default XmlUrlResolver and Evidence 
   // created using the trusted URL.
   XslTransform^ xslt = gcnew XslTransform;
   xslt->Load( xsltReader, gcnew XmlUrlResolver, XmlSecureResolver::CreateEvidenceForUrl( secureURL ) );
   
   // Transform the file.
   xslt->Transform("books.xml","books.html",gcnew XmlUrlResolver);
}

public static void TransformFile (XmlReader xsltReader, String secureURL) {

 // Load the stylesheet using a default XmlUrlResolver and Evidence
 // created using the trusted URL.
 XslTransform xslt = new XslTransform();
 xslt.Load(xsltReader, new XmlUrlResolver(), XmlSecureResolver.CreateEvidenceForUrl(secureURL));

 // Transform the file.
 xslt.Transform("books.xml", "books.html", new XmlUrlResolver());
}

public shared sub TransformFile (xsltReader as XmlReader, secureURL as String) 
 
 ' Load the stylesheet using a default XmlUrlResolver and Evidence 
 ' created using the trusted URL.
 Dim xslt as XslTransform = new XslTransform()
 xslt.Load(xsltReader, new XmlUrlResolver(), XmlSecureResolver.CreateEvidenceForUrl(secureURL))

 ' Transform the file.
 xslt.Transform("books.xml", "books.html", new XmlUrlResolver())
end sub

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.

Bu yöntem, ve xsl:import öğelerinde xsl:include başvuruda bulunan tüm stil sayfaları dahil olmak üzere XSLT stil sayfasını yükler. Stil sayfası, öğesinin geçerli düğümünden tüm alt öğelerine XmlReader yüklenir. Bu, belgenin bir bölümünü stil sayfası olarak kullanmanızı sağlar.

yöntemi döndürdüğünde Load , XmlReader stil sayfasının sonundan sonraki düğüme konumlandırılır. Belgenin sonuna ulaşılırsa, XmlReader dosya sonuna (EOF) konumlandırılır.

Stil sayfasında varlıklar varsa, varlıkları çözümleyebilecek bir XmlReader belirtmelisiniz (XmlReader.CanResolveEntity döndürür true). Bu durumda, bir XmlValidatingReader kullanılabilir.

Kanıt sağlamanın farklı yolları vardır. Aşağıdaki tabloda, yaygın kullanıcı senaryoları için ne tür kanıt sağlandığı açıklanmaktadır.

Senaryo Sağlayabilecek kanıt türü
XSLT stil sayfası bağımsızdır veya güvendiğiniz bir kod tabanından gelir. Derlemenizdeki kanıtları kullanın.

XsltTransform xslt = new XslTransform(); &#13;&#10;xslt.Load(xslReader, resolver, this.GetType().Assembly.Evidence);
XSLT stil sayfası dış kaynaktan gelir. Kaynağın kaynağı bilinir ve doğrulanabilir bir URL vardır. URL'yi kullanarak kanıt oluşturun.

XsltTransform xslt = new XslTransform();&#13;&#10; Evidence evidence = XmlSecureResolver.CreateEvidenceForUrl(stylesheetURL); &#13;&#10;xslt.Load(xslReader,resolver,evidence);
XSLT stil sayfası dış kaynaktan gelir. Kaynağın kaynağı bilinmiyor. kanıtı olarak nullayarlayın. Betik blokları işlenmez, XSLT document() işlevi desteklenmez ve ayrıcalıklı uzantı nesnelerine izin verilmez.

Ayrıca parametresini resolvernullolarak da ayarlayabilirsiniz. Bu, ve xsl:include öğelerinin xsl:import işlenmemesini sağlar.
XSLT stil sayfası dış kaynaktan gelir. Kaynağın kaynağı bilinmiyor, ancak betik desteğine ihtiyacınız var. Arayandan kanıt isteyin. Çağıranın API'sinin genellikle Evidence sınıfı olmak üzere kanıt sağlamak için bir yol sağlaması gerekir.

Ayrıca bkz.

Şunlara uygulanır

Load(XPathNavigator)

Source:
XslTransform.cs
Source:
XslTransform.cs
Source:
XslTransform.cs

Dikkat

You should pass evidence to Load() method

içinde bulunan XPathNavigatorXSLT stil sayfasını yükler.

public:
 void Load(System::Xml::XPath::XPathNavigator ^ stylesheet);
public void Load (System.Xml.XPath.XPathNavigator stylesheet);
[System.Obsolete("You should pass evidence to Load() method")]
public void Load (System.Xml.XPath.XPathNavigator stylesheet);
member this.Load : System.Xml.XPath.XPathNavigator -> unit
[<System.Obsolete("You should pass evidence to Load() method")>]
member this.Load : System.Xml.XPath.XPathNavigator -> unit
Public Sub Load (stylesheet As XPathNavigator)

Parametreler

stylesheet
XPathNavigator

XPathNavigator XSLT stil sayfasını içeren bir nesne.

Öznitelikler

Özel durumlar

Geçerli düğüm geçerli bir stil sayfasına uymuyor.

Stil sayfası eklenmiş betikler içeriyor ve çağıranın izni yok UnmanagedCode .

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.

Bu yöntem, ve xsl:import öğelerinde xsl:include başvuruda bulunan tüm stil sayfaları dahil olmak üzere XSLT stil sayfasını yükler. Dış kaynaklar, kullanıcı kimlik bilgileri olmayan bir XmlUrlResolver kullanılarak çözümlenir. Stil sayfası kimlik doğrulaması gerektiren bir ağ kaynağında bulunuyorsa, bağımsız değişkenlerinden biri olarak bir XmlResolver alan ve gerekli kimlik bilgileriyle bir XmlResolver belirten aşırı yüklemeyi kullanın.

Stil sayfası geçerli konumundan XPathNavigatoryüklenir. Yüklenen belgenin yalnızca bir bölümünü stil sayfası olarak kullanmak için, stil sayfasının başına karşılık gelen düğüme gidin. yöntemi döndürdüğünde Load , XPathNavigator stil sayfasının başına (düğümde xsl:style sheet ) konumlandırılır.

Stil sayfası eklenmiş betik içeriyorsa, betik bir derlemeye derlenmiş olur. Derleme tam güvene sahiptir. Önerilen uygulama, yöntemini kullanarak kanıt sağlamaktır Load(XPathNavigator, XmlResolver, Evidence) .

Not

Çağıranın UnmanagedCode izni yoksa, katıştırılmış betik derlenmez ve bir SecurityException oluşturulur. Daha fazla bilgi için bkz SecurityPermission . ve SecurityPermissionFlag.UnmanagedCode .

Şunlara uygulanır

Load(IXPathNavigable)

Source:
XslTransform.cs
Source:
XslTransform.cs
Source:
XslTransform.cs

Dikkat

You should pass evidence to Load() method

içinde bulunan IXPathNavigableXSLT stil sayfasını yükler.

public:
 void Load(System::Xml::XPath::IXPathNavigable ^ stylesheet);
public void Load (System.Xml.XPath.IXPathNavigable stylesheet);
[System.Obsolete("You should pass evidence to Load() method")]
public void Load (System.Xml.XPath.IXPathNavigable stylesheet);
member this.Load : System.Xml.XPath.IXPathNavigable -> unit
[<System.Obsolete("You should pass evidence to Load() method")>]
member this.Load : System.Xml.XPath.IXPathNavigable -> unit
Public Sub Load (stylesheet As IXPathNavigable)

Parametreler

stylesheet
IXPathNavigable

Arabirimi uygulayan IXPathNavigable bir nesne. .NET Framework, bu bir XmlNode (genellikle bir XmlDocument) veya XSLT stil sayfasını içeren bir XPathDocument olabilir.

Öznitelikler

Özel durumlar

Yüklenen kaynak geçerli bir stil sayfası değil.

Stil sayfası eklenmiş betikler içeriyor ve çağıranın izni yok UnmanagedCode .

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.

Bu yöntem, ve xsl:import öğelerinde xsl:include başvuruda bulunan tüm stil sayfaları dahil olmak üzere XSLT stil sayfasını yükler. Dış kaynaklar, kullanıcı kimlik bilgileri olmayan bir XmlUrlResolver kullanılarak çözümlenir. Stil sayfası kimlik doğrulaması gerektiren bir ağ kaynağında bulunuyorsa, bağımsız değişkenlerinden biri olarak bir XmlResolver alan ve gerekli kimlik bilgileriyle bir XmlResolver belirten aşırı yüklemeyi kullanın.

Stil sayfası eklenmiş betik içeriyorsa, betik bir derlemeye derlenmiş olur. Derleme tam güvene sahiptir. Önerilen uygulama, yöntemini kullanarak kanıt sağlamaktır Load(IXPathNavigable, XmlResolver, Evidence) .

Not

Çağıranın UnmanagedCode izni yoksa, katıştırılmış betik derlenmez ve bir SecurityException oluşturulur. Daha fazla bilgi için bkz SecurityPermission . ve SecurityPermissionFlag.UnmanagedCode .

Şunlara uygulanır

Load(XmlReader)

Source:
XslTransform.cs
Source:
XslTransform.cs
Source:
XslTransform.cs

Dikkat

You should pass evidence to Load() method

içinde bulunan XmlReaderXSLT stil sayfasını yükler.

public:
 void Load(System::Xml::XmlReader ^ stylesheet);
public void Load (System.Xml.XmlReader stylesheet);
[System.Obsolete("You should pass evidence to Load() method")]
public void Load (System.Xml.XmlReader stylesheet);
member this.Load : System.Xml.XmlReader -> unit
[<System.Obsolete("You should pass evidence to Load() method")>]
member this.Load : System.Xml.XmlReader -> unit
Public Sub Load (stylesheet As XmlReader)

Parametreler

stylesheet
XmlReader

XmlReader XSLT stil sayfasını içeren bir nesne.

Öznitelikler

Özel durumlar

Geçerli düğüm geçerli bir stil sayfasına uymuyor.

Stil sayfası eklenmiş betikler içeriyor ve çağıranın izni yok UnmanagedCode .

Örnekler

Aşağıdaki örnek, tüm kitapları başlığa göre sıralayan bir XML dosyasını dönüştürür.

#using <System.Xml.dll>
#using <System.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 = "titles.xsl";
   
   // Create the reader to load the stylesheet. 
   // Move the reader to the xsl:stylesheet node.
   XmlTextReader^ reader = gcnew XmlTextReader( stylesheet );
   reader->Read();
   reader->Read();
   
   // Create the XslTransform object and load the stylesheet.
   XslTransform^ xslt = gcnew XslTransform;
   xslt->Load( reader );
   
   // 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);
   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 = "titles.xsl";

  public static void Main()
  {
    //Create the reader to load the stylesheet.
    //Move the reader to the xsl:stylesheet node.
    XmlTextReader reader = new XmlTextReader(stylesheet);
    reader.Read();
    reader.Read();

    //Create the XslTransform object and load the stylesheet.
    XslTransform xslt = new XslTransform();
    xslt.Load(reader);

    //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);
    writer.Close();
  }
}
Imports System.IO
Imports System.Xml
Imports System.Xml.Xsl
Imports System.Xml.XPath

public class Sample

  private const filename as String = "books.xml"
  private const stylesheet as String = "titles.xsl"

  public shared sub Main()

    'Create the reader to load the stylesheet. 
    'Move the reader to the xsl:stylesheet node.
    Dim reader as XmlTextReader = new XmlTextReader(stylesheet)
    reader.Read()
    reader.Read()

    'Create the XslTransform object and load the stylesheet.
    Dim xslt as XslTransform = new XslTransform()
    xslt.Load(reader)

    'Load the file to transform.
    Dim doc as XPathDocument = new XPathDocument(filename)
             
    'Create an XmlTextWriter which outputs to the console.
    Dim writer as XmlTextWriter = new XmlTextWriter(Console.Out)

    'Transform the file and send the output to the console.
    xslt.Transform(doc, nothing, writer)
    writer.Close()  

  end sub
end class

Örnekte giriş olarak aşağıdaki veri dosyaları kullanılır.

books.xml

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

titles.xsl

<!--Stylesheet to sort all books by title-->
<!--Created 2/13/2001-->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  <xsl:template match="bookstore">
      <books>
        <xsl:apply-templates select="book">
          <xsl:sort select="title"/>
        </xsl:apply-templates>
       </books>
   </xsl:template>
  <xsl:template match="book">
          <book><xsl:copy-of select="node()"/></book>
  </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.

Bu yöntem, ve xsl:import öğelerinde xsl:include başvuruda bulunan tüm stil sayfaları dahil olmak üzere XSLT stil sayfasını yükler. Dış kaynaklar, kullanıcı kimlik bilgileri olmayan bir XmlUrlResolver kullanılarak çözümlenir. Stil sayfası kimlik doğrulaması gerektiren bir ağ kaynağında bulunuyorsa, bağımsız değişkenlerinden biri olarak bir XmlResolver alan ve gerekli kimlik bilgileriyle bir XmlResolver belirten aşırı yüklemeyi kullanın.

Stil sayfası, öğesinin geçerli düğümünden tüm alt öğelerine XmlReader yüklenir. Bu, belgenin bir bölümünü stil sayfası olarak kullanmanızı sağlar. yöntemi döndürdüğünde Load , XmlReader stil sayfasının sonundan sonraki düğüme konumlandırılır. Belgenin sonuna ulaşılırsa, XmlReader dosya sonuna (EOF) konumlandırılır.

Stil sayfasında varlıklar varsa, varlıkları çözümleyebilecek bir XmlReader belirtmelisiniz (XmlReader.CanResolveEntity döndürür true). Bu durumda, bir XmlValidatingReader kullanılabilir.

Stil sayfası eklenmiş betik içeriyorsa, betik bir derlemeye derlenmiş olur. Derleme tam güvene sahiptir. Önerilen uygulama, yöntemini kullanarak kanıt sağlamaktır Load(XmlReader, XmlResolver, Evidence) .

Not

Çağıranın UnmanagedCode izni yoksa, katıştırılmış betik derlenmez ve bir SecurityException oluşturulur. Daha fazla bilgi için bkz SecurityPermission . ve SecurityPermissionFlag.UnmanagedCode .

Şunlara uygulanır

Load(String)

Source:
XslTransform.cs
Source:
XslTransform.cs
Source:
XslTransform.cs

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

public:
 void Load(System::String ^ url);
public void Load (string url);
member this.Load : string -> unit
Public Sub Load (url As String)

Parametreler

url
String

Yüklenemiyor XSLT stil sayfasını belirten URL.

Özel durumlar

Yüklenen kaynak geçerli bir stil sayfası değil.

Stil sayfası eklenmiş betik içeriyor ve çağıranın izni yok UnmanagedCode .

Ö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çirme.

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

Bu yöntem, ve xsl:import öğelerinde xsl:include başvuruda bulunan tüm stil sayfaları dahil olmak üzere XSLT stil sayfasını yükler. Dış kaynaklar, kullanıcı kimlik bilgileri olmayan bir XmlUrlResolver kullanılarak çözümlenir. Stil sayfası kimlik doğrulaması gerektiren bir ağ kaynağında bulunuyorsa, bağımsız değişkenlerinden biri olarak bir XmlResolver alan ve gerekli kimlik bilgileriyle bir XmlResolver belirten aşırı yüklemeyi kullanın.

Stil sayfası eklenmiş betik içeriyorsa, betik bir derlemeye derlenmiş olur. Stil sayfasının URI'si, derlemeye uygulanan kanıt oluşturmak için kullanılır.

Not

Çağıranın UnmanagedCode izni yoksa, katıştırılmış betik derlenmez ve bir SecurityException oluşturulur. Daha fazla bilgi için bkz SecurityPermission . ve SecurityPermissionFlag.UnmanagedCode .

Şunlara uygulanır

Load(String, XmlResolver)

Source:
XslTransform.cs
Source:
XslTransform.cs
Source:
XslTransform.cs

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

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

Parametreler

url
String

Yüklenemiyor XSLT stil sayfasını belirten URL.

resolver
XmlResolver

stil XmlResolver sayfasını ve ve öğelerinde xsl:importxsl:include başvuruda bulunan tüm stil sayfalarını yüklemek için kullanılacak.

Bu ise null, stil sayfasını açmak için kullanıcı kimlik bilgileri olmayan bir varsayılan XmlUrlResolver kullanılır. VarsayılanXmlUrlResolver, stil sayfasındaki dış kaynakları çözümlemek için kullanılmaz, xsl:include dolayısıyla xsl:import öğeler çözümlenmez.

XmlResolver yöntemi tamamlandıktan sonra Load(String, XmlResolver) önbelleğe alınmaz.

Özel durumlar

Yüklenen kaynak geçerli bir stil sayfası değil.

Stil sayfası eklenmiş betik içeriyor ve çağıranın izni yok UnmanagedCode .

Örnekler

Aşağıdaki örnek bir XML belgesini HTML belgesine dönüştürür. Örnek, başka bir stil sayfasına başvuran bir öğe içeren bir xsl:include XSLT stil sayfası yükler. , XmlUrlResolver dahil edilen stil sayfasının ağ kaynağına erişmek için gereken kimlik bilgilerini ayarlayan yöntemine geçirilir Load .

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

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

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

     //Create a resolver and set the credentials to use.
     XmlUrlResolver resolver = new XmlUrlResolver();
     resolver.Credentials = CredentialCache.DefaultCredentials;

     //Load the stylesheet.
     xslt.Load(stylesheet, resolver);

     //Load the XML data file.
     XPathDocument doc = new XPathDocument(filename);

     //Create the XmlTextWriter to output to the console.
     XmlTextWriter writer = new XmlTextWriter(Console.Out);

     //Transform the file.
     xslt.Transform(doc, null, writer, null);
     writer.Close();
  }
}
Imports System.IO
Imports System.Xml
Imports System.Xml.XPath
Imports System.Xml.Xsl
Imports System.Net

public class Sample

   private shared filename as String = "books.xml"
   private shared stylesheet as String = "sort.xsl"

   public shared sub Main()
   
     'Create the XslTransform.
     Dim xslt as XslTransform = new XslTransform()

     'Create a resolver and set the credentials to use.
     Dim resolver as XmlUrlResolver = new XmlUrlResolver()
     resolver.Credentials = CredentialCache.DefaultCredentials

     'Load the stylesheet.
     xslt.Load(stylesheet, resolver)

     'Load the XML data file.
     Dim doc as XPathDocument = new XPathDocument(filename)

     'Create the XmlTextWriter to output to the console.             
     Dim writer as XmlTextWriter = new XmlTextWriter(Console.Out)

     'Transform the file.
     xslt.Transform(doc, nothing, writer, nothing)
     writer.Close()

  end sub
end class

Örnekte giriş olarak aşağıdaki veri dosyaları kullanılır.

books.xml

<!-- 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>

sort.xsl

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  <xsl:template match="bookstore"/>
  <xsl:include href="http://serverA/includefile.xsl"/>  
  <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>

includefile.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">
      <xsl:sort select="@ISBN"/>
    </xsl:apply-templates>
    </TABLE>
    </BODY>
  </HTML>
</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.

Stil sayfası eklenmiş betik içeriyorsa, betik bir derlemeye derlenmiş olur. Stil sayfasının URI'si, derlemeye uygulanan kanıt oluşturmak için kullanılır.

Not

Çağıranın UnmanagedCode izni yoksa, katıştırılmış betik derlenmez ve bir SecurityException oluşturulur. Daha fazla bilgi için bkz SecurityPermission . ve SecurityPermissionFlag.UnmanagedCode .

Ayrıca bkz.

Şunlara uygulanır