XslTransform.Load Metoda

Definicja

Ładuje arkusz stylów XSLT, w tym arkusze stylów, do których odwołuje się element xsl:include i xsl:import .

Przeciążenia

Load(XPathNavigator, XmlResolver, Evidence)

Ładuje arkusz stylów XSLT zawarty w pliku XPathNavigator. Ta metoda umożliwia ograniczenie uprawnień arkusza stylów przez określenie dowodów.

Load(IXPathNavigable, XmlResolver, Evidence)

Ładuje arkusz stylów XSLT zawarty w pliku IXPathNavigable. Ta metoda umożliwia ograniczenie uprawnień arkusza stylów przez określenie dowodów.

Load(XPathNavigator, XmlResolver)
Nieaktualne.

Ładuje arkusz stylów XSLT zawarty w pliku XPathNavigator.

Load(IXPathNavigable, XmlResolver)
Nieaktualne.

Ładuje arkusz stylów XSLT zawarty w pliku IXPathNavigable.

Load(XmlReader, XmlResolver)
Nieaktualne.

Ładuje arkusz stylów XSLT zawarty w pliku XmlReader.

Load(XmlReader, XmlResolver, Evidence)

Ładuje arkusz stylów XSLT zawarty w pliku XmlReader. Ta metoda umożliwia ograniczenie uprawnień arkusza stylów przez określenie dowodów.

Load(XPathNavigator)
Nieaktualne.

Ładuje arkusz stylów XSLT zawarty w pliku XPathNavigator.

Load(IXPathNavigable)
Nieaktualne.

Ładuje arkusz stylów XSLT zawarty w pliku IXPathNavigable.

Load(XmlReader)
Nieaktualne.

Ładuje arkusz stylów XSLT zawarty w pliku XmlReader.

Load(String)

Ładuje arkusz stylów XSLT określony przez adres URL.

Load(String, XmlResolver)

Ładuje arkusz stylów XSLT określony przez adres URL.

Uwagi

Load(XPathNavigator, XmlResolver, Evidence)

Ładuje arkusz stylów XSLT zawarty w pliku XPathNavigator. Ta metoda umożliwia ograniczenie uprawnień arkusza stylów przez określenie dowodów.

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)

Parametry

stylesheet
XPathNavigator

Obiekt XPathNavigator zawierający arkusz stylów do załadowania.

resolver
XmlResolver

Służy XmlResolver do ładowania dowolnych arkuszy stylów, do których odwołuje się element xsl:import i xsl:include . Jeśli jest nullto wartość , zasoby zewnętrzne nie zostaną rozwiązane.

Wartość XmlResolver nie jest buforowana po zakończeniu Load metody.

evidence
Evidence

Zestaw Evidence w zestawie wygenerowany dla bloku skryptu w arkuszu stylów XSLT.

Jeśli jest nullto element , bloki skryptów nie są przetwarzane, funkcja document() XSLT nie jest obsługiwana, a obiekty uprzywilejowanego rozszerzenia są niedozwolone.

Obiekt wywołujący musi mieć ControlEvidence uprawnienia, aby dostarczyć dowody dla zestawu skryptów. Częściowo zaufane wywołujące mogą ustawić ten parametr na nullwartość .

Wyjątki

Bieżący węzeł nie jest zgodny z prawidłowym arkuszem stylów.

Arkusz stylów, do którego odwołuje się odwołanie, wymaga funkcji, które nie są dozwolone przez dostarczone dowody.

Wywołujący próbuje dostarczyć dowody i nie ma ControlEvidence pozwolenia.

Przykłady

Poniższy przykład wykonuje przekształcenie XSLT przy użyciu arkusza stylów ze źródła zewnętrznego. Ponieważ arkusz stylów pochodzi z niezaufanego źródła, resolver parametry i evidence są ustawione na nullwartość .


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

Uwagi

Uwaga

Klasa XslTransform jest przestarzała w .NET Framework w wersji 2.0. Klasa XslCompiledTransform jest nowym procesorem XSLT. Aby uzyskać więcej informacji, zobacz Using the XslCompiledTransform Class (Używanie klasy XslCompiledTransform) i Migrating From the XslTransform Class (Migrowanie z klasy XslTransform).

XslTransform obsługuje składnię XSLT 1.0. Arkusz stylów XSLT musi zawierać deklarację xmlns:xsl= http://www.w3.org/1999/XSL/Transformprzestrzeni nazw .

Arkusz stylów jest ładowany z bieżącej pozycji obiektu XPathNavigator. Aby użyć części załadowanego dokumentu jako arkusza stylów, przejdź do węzła odpowiadającego początku arkusza stylów. Po powrocie Load XPathNavigator metody obiekt jest umieszczony na początku arkusza stylów (w węźle xsl:style sheet ).

Istnieją różne sposoby przedstawienia dowodów. W poniższej tabeli opisano typ dowodów, które należy przedstawić dla typowych scenariuszy użytkownika.

Scenariusz Rodzaj dowodu do dostarczenia
Arkusz stylów XSLT jest samodzielny lub pochodzi z zaufanej bazy kodu. Użyj dowodów z zestawu.

XsltTransform xslt = new XslTransform(); 
xslt.Load(xslNav, resolver, this.GetType().Assembly.Evidence);
Arkusz stylów XSLT pochodzi ze źródła zewnętrznego. Źródło źródła jest znane i istnieje weryfikowalny adres URL. Tworzenie dowodów przy użyciu adresu URL.

XsltTransform xslt = new XslTransform(); 
Evidence evidence = XmlSecureResolver.CreateEvidenceForUrl(style sheetURL); 
xslt.Load(xslNav,resolver,evidence);
Arkusz stylów XSLT pochodzi ze źródła zewnętrznego. Pochodzenie źródła nie jest znane. Ustaw dowody na nullwartość . Bloki skryptów nie są przetwarzane, funkcja XSLT document() nie jest obsługiwana, a obiekty uprzywilejowanego rozszerzenia są niedozwolone.

Ponadto można również ustawić resolver parametr na nullwartość . Gwarantuje to, że xsl:import elementy i xsl:include nie są przetwarzane.
Arkusz stylów XSLT pochodzi ze źródła zewnętrznego. Pochodzenie źródła nie jest znane, ale wymagasz obsługi skryptów. Zażądaj dowodów od rozmówcy. Interfejs API obiektu wywołującego musi zapewnić sposób dostarczenia dowodów, zazwyczaj Evidence klasy.

Zobacz też

Dotyczy

Load(IXPathNavigable, XmlResolver, Evidence)

Ładuje arkusz stylów XSLT zawarty w pliku IXPathNavigable. Ta metoda umożliwia ograniczenie uprawnień arkusza stylów przez określenie dowodów.

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)

Parametry

stylesheet
IXPathNavigable

Obiekt implementowania interfejsu IXPathNavigable . W .NET Framework może to być element XmlNode (zazwyczaj XmlDocument) lub XPathDocument zawierający arkusz stylów XSLT.

resolver
XmlResolver

Służy XmlResolver do ładowania dowolnych arkuszy stylów, do których odwołuje się element xsl:import i xsl:include . Jeśli jest nullto wartość , zasoby zewnętrzne nie zostaną rozwiązane.

Wartość XmlResolver nie jest buforowana po zakończeniu Load metody.

evidence
Evidence

Zestaw Evidence w zestawie wygenerowany dla bloku skryptu w arkuszu stylów XSLT.

Jeśli jest nullto element , bloki skryptów nie są przetwarzane, funkcja document() XSLT nie jest obsługiwana, a obiekty uprzywilejowanego rozszerzenia są niedozwolone.

Obiekt wywołujący musi mieć ControlEvidence uprawnienia, aby dostarczyć dowody dla zestawu skryptów. Częściowo zaufane wywołujące mogą ustawić ten parametr na nullwartość .

Wyjątki

Załadowany zasób nie jest prawidłowym arkuszem stylów.

Arkusz stylów, do którego odwołuje się odwołanie, wymaga funkcji, które nie są dozwolone przez dostarczone dowody.

Wywołujący próbuje dostarczyć dowody i nie ma ControlEvidence pozwolenia.

Uwagi

Uwaga

Klasa XslTransform jest przestarzała w wersji .NET Framework w wersji 2.0. Klasa XslCompiledTransform jest nowym procesorem XSLT. Aby uzyskać więcej informacji, zobacz Using the XslCompiledTransform Class (Używanie klasy XslCompiledTransform) i Migrating From the XslTransform Class (Migrowanie z klasy XslTransform).

XslTransform obsługuje składnię XSLT 1.0. Arkusz stylów XSLT musi zawierać deklarację xmlns:xsl= http://www.w3.org/1999/XSL/Transformprzestrzeni nazw .

Istnieją różne sposoby przedstawienia dowodów. W poniższej tabeli opisano typ dowodów, które należy przedstawić dla typowych scenariuszy użytkownika.

Scenariusz Rodzaj dowodu do dostarczenia
Arkusz stylów XSLT jest samodzielny lub pochodzi z zaufanej bazy kodu. Użyj dowodów z zestawu.

XsltTransform xslt = new XslTransform(); 
xslt.Load(style sheet, resolver, this.GetType().Assembly.Evidence);
Arkusz stylów XSLT pochodzi ze źródła zewnętrznego. Źródło źródła jest znane i istnieje weryfikowalny adres URL. Tworzenie dowodów przy użyciu adresu URL.

XsltTransform xslt = new XslTransform(); 
Evidence evidence = XmlSecureResolver.CreateEvidenceForUrl(style sheetURL); 
xslt.Load(style sheet,resolver,evidence);
Arkusz stylów XSLT pochodzi ze źródła zewnętrznego. Pochodzenie źródła nie jest znane. Ustaw dowody na nullwartość . Bloki skryptów nie są przetwarzane, funkcja XSLT document() nie jest obsługiwana, a obiekty uprzywilejowanego rozszerzenia są niedozwolone.

Ponadto można również ustawić resolver parametr na nullwartość . Gwarantuje to, że xsl:import elementy i xsl:include nie są przetwarzane.
Arkusz stylów XSLT pochodzi ze źródła zewnętrznego. Pochodzenie źródła nie jest znane, ale wymagasz obsługi skryptów. Zażądaj dowodów od rozmówcy. Interfejs API obiektu wywołującego musi zapewnić sposób dostarczenia dowodów, zazwyczaj Evidence klasy.

Zobacz też

Dotyczy

Load(XPathNavigator, XmlResolver)

Przestroga

You should pass evidence to Load() method

Ładuje arkusz stylów XSLT zawarty w pliku XPathNavigator.

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)

Parametry

stylesheet
XPathNavigator

XPathNavigator Obiekt zawierający arkusz stylów XSLT.

resolver
XmlResolver

Służy XmlResolver do ładowania wszystkich arkuszy stylów, do których odwołuje się plik xsl:import i xsl:include . Jeśli jest nullto , zasoby zewnętrzne nie są rozwiązywane.

Element XmlResolver nie jest buforowany po zakończeniu Load metody.

Atrybuty

Wyjątki

Bieżący węzeł nie jest zgodny z prawidłowym arkuszem stylów.

Arkusz stylów zawiera osadzone skrypty, a obiekt wywołujący nie ma UnmanagedCode uprawnień.

Uwagi

XslTransform obsługuje składnię XSLT 1.0. Arkusz stylów XSLT musi zawierać deklarację xmlns:xsl= http://www.w3.org/1999/XSL/Transformprzestrzeni nazw .

Arkusz stylów jest ładowany z bieżącej pozycji elementu XPathNavigator. Aby użyć części załadowanego dokumentu jako arkusza stylów, przejdź do węzła odpowiadającego początku arkusza stylów. Po powrocie Load XPathNavigator metody element jest umieszczony na początku arkusza stylów (w węźle xsl:style sheet ).

Jeśli arkusz stylów zawiera osadzone skrypty, skrypt jest kompilowany do zestawu. Zestaw ma pełne zaufanie. Zalecaną praktyką jest przedstawienie dowodów przy użyciu elementu Load(XPathNavigator, XmlResolver, Evidence).

Uwaga

Jeśli obiekt wywołujący nie ma UnmanagedCode uprawnień, osadzony skrypt nie jest skompilowany i SecurityException jest zgłaszany. Zobacz SecurityPermission i SecurityPermissionFlag.UnmanagedCode , aby uzyskać więcej informacji.

Zobacz też

Dotyczy

Load(IXPathNavigable, XmlResolver)

Przestroga

You should pass evidence to Load() method

Ładuje arkusz stylów XSLT zawarty w pliku IXPathNavigable.

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)

Parametry

stylesheet
IXPathNavigable

Obiekt implementowania interfejsu IXPathNavigable . W .NET Framework może to być element XmlNode (zazwyczaj XmlDocument) lub XPathDocument zawierający arkusz stylów XSLT.

resolver
XmlResolver

Służy XmlResolver do ładowania wszystkich arkuszy stylów, do których odwołuje się plik xsl:import i xsl:include . Jeśli jest nullto , zasoby zewnętrzne nie są rozwiązywane.

Element XmlResolver nie jest buforowany po zakończeniu Load metody.

Atrybuty

Wyjątki

Załadowany zasób nie jest prawidłowym arkuszem stylów.

Arkusz stylów zawiera osadzone skrypty, a obiekt wywołujący nie ma UnmanagedCode uprawnień.

Uwagi

XslTransform obsługuje składnię XSLT 1.0. Arkusz stylów XSLT musi zawierać deklarację xmlns:xsl= http://www.w3.org/1999/XSL/Transformprzestrzeni nazw .

Jeśli arkusz stylów zawiera osadzone skrypty, skrypt jest kompilowany do zestawu. Zestaw ma pełne zaufanie. Zalecaną praktyką jest dostarczenie dowodów przy użyciu Load(IXPathNavigable, XmlResolver, Evidence) metody .

Uwaga

Jeśli obiekt wywołujący nie ma UnmanagedCode uprawnień, osadzony skrypt nie jest skompilowany i SecurityException jest zgłaszany. Zobacz SecurityPermission i SecurityPermissionFlag.UnmanagedCode , aby uzyskać więcej informacji.

Zobacz też

Dotyczy

Load(XmlReader, XmlResolver)

Przestroga

You should pass evidence to Load() method

Ładuje arkusz stylów XSLT zawarty w pliku XmlReader.

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)

Parametry

stylesheet
XmlReader

XmlReader Obiekt zawierający arkusz stylów XSLT.

resolver
XmlResolver

Służy XmlResolver do ładowania dowolnych arkuszy stylów, do których odwołuje się element xsl:import i xsl:include . Jeśli jest nullto wartość , zasoby zewnętrzne nie zostaną rozwiązane.

Wartość XmlResolver nie jest buforowana po zakończeniu Load(XmlReader, XmlResolver) metody.

Atrybuty

Wyjątki

Bieżący węzeł nie jest zgodny z prawidłowym arkuszem stylów.

Arkusz stylów zawiera osadzone skrypty, a obiekt wywołujący nie ma UnmanagedCode uprawnień.

Uwagi

Uwaga

Klasa XslTransform jest przestarzała w .NET Framework w wersji 2.0. Klasa XslCompiledTransform jest nowym procesorem XSLT. Aby uzyskać więcej informacji, zobacz Using the XslCompiledTransform Class (Używanie klasy XslCompiledTransform) i Migrating From the XslTransform Class (Migrowanie z klasy XslTransform).

XslTransform obsługuje składnię XSLT 1.0. Arkusz stylów XSLT musi zawierać deklarację xmlns:xsl= http://www.w3.org/1999/XSL/Transformprzestrzeni nazw .

Ta metoda ładuje arkusz stylów XSLT, w tym wszystkie arkusze stylów, do których odwołuje się element xsl:include i xsl:import . Arkusz stylów ładuje się z bieżącego węzła XmlReader przez wszystkie jego elementy podrzędne. Dzięki temu można użyć części dokumentu jako arkusza stylów.

Po powrocie Load XmlReader metody element jest umieszczony w następnym węźle po zakończeniu arkusza stylów. Jeśli osiągnięto koniec dokumentu, pozycja XmlReader jest umieszczona na końcu pliku (EOF).

Jeśli arkusz stylów zawiera jednostki, należy określić XmlReader , który może rozpoznawać jednostki (XmlReader.CanResolveEntity zwraca truewartość ). W takim przypadku można użyć elementu XmlValidatingReader .

Jeśli arkusz stylów zawiera osadzone skrypty, skrypt jest kompilowany do zestawu. Zestaw ma pełne zaufanie. Zalecaną praktyką jest dostarczenie dowodów przy użyciu Load(XmlReader, XmlResolver, Evidence) metody .

Uwaga

Jeśli obiekt wywołujący nie ma UnmanagedCode uprawnień, osadzony skrypt nie jest skompilowany i SecurityException jest zgłaszany. Zobacz SecurityPermission i SecurityPermissionFlag.UnmanagedCode , aby uzyskać więcej informacji.

Zobacz też

Dotyczy

Load(XmlReader, XmlResolver, Evidence)

Ładuje arkusz stylów XSLT zawarty w pliku XmlReader. Ta metoda umożliwia ograniczenie uprawnień arkusza stylów przez określenie dowodów.

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)

Parametry

stylesheet
XmlReader

XmlReader Obiekt zawierający arkusz stylów do załadowania.

resolver
XmlResolver

Służy XmlResolver do ładowania wszystkich arkuszy stylów, do których odwołuje się plik xsl:import i xsl:include . Jeśli jest nullto , zasoby zewnętrzne nie są rozwiązywane.

Element XmlResolver nie jest buforowany po zakończeniu Load metody.

evidence
Evidence

Zestaw Evidence wygenerowany dla bloku skryptów w arkuszu stylów XSLT.

Jeśli tak jest null, bloki skryptów nie są przetwarzane, funkcja document() XSLT nie jest obsługiwana, a uprzywilejowane obiekty rozszerzeń są niedozwolone.

Obiekt wywołujący musi mieć ControlEvidence uprawnienia, aby dostarczyć dowody dla zestawu skryptu. Osoby wywołujące częściowo zaufane mogą ustawić ten parametr na null.

Wyjątki

Bieżący węzeł nie jest zgodny z prawidłowym arkuszem stylów.

Przywołyny arkusz stylów wymaga funkcjonalności, która nie jest dozwolona przez podane dowody.

Wywołujący próbuje dostarczyć dowody i nie ma ControlEvidence uprawnień.

Przykłady

Poniższy przykład wykonuje przekształcenie XSLT, w którym xsltReader znajduje się XmlReader arkusz stylów i secureURL jest zaufanym adresem URL, którego można użyć do utworzenia Evidenceelementu . Metoda XmlSecureResolver.CreateEvidenceForUrl służy do tworzenia Evidence , która jest stosowana do arkusza stylów.

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

Uwagi

XslTransform obsługuje składnię XSLT 1.0. Arkusz stylów XSLT musi zawierać deklarację xmlns:xsl= http://www.w3.org/1999/XSL/Transformprzestrzeni nazw .

Ta metoda ładuje arkusz stylów XSLT, w tym wszystkie arkusze stylów, do których odwołuje się element xsl:include i xsl:import . Arkusz stylów ładuje się z bieżącego węzła XmlReader przez wszystkie jego elementy podrzędne. Dzięki temu można użyć części dokumentu jako arkusza stylów.

Po powrocie Load XmlReader metody element jest umieszczony w następnym węźle po zakończeniu arkusza stylów. Jeśli osiągnięto koniec dokumentu, pozycja XmlReader jest umieszczona na końcu pliku (EOF).

Jeśli arkusz stylów zawiera jednostki, należy określić XmlReader , który może rozpoznawać jednostki (XmlReader.CanResolveEntity zwraca truewartość ). W takim przypadku można użyć elementu XmlValidatingReader .

Istnieją różne sposoby przedstawienia dowodów. W poniższej tabeli opisano typ dowodów, które należy dostarczyć dla typowych scenariuszy użytkownika.

Scenariusz Rodzaj dowodu, który należy dostarczyć
Arkusz stylów XSLT jest samodzielny lub pochodzi z bazy kodu, której ufasz. Użyj dowodów z zestawu.

XsltTransform xslt = new XslTransform(); &#13;&#10;xslt.Load(xslReader, resolver, this.GetType().Assembly.Evidence);
Arkusz stylów XSLT pochodzi z zewnętrznego źródła. Źródło jest znane i istnieje weryfikowalny adres URL. Utwórz dowody przy użyciu adresu URL.

XsltTransform xslt = new XslTransform();&#13;&#10; Evidence evidence = XmlSecureResolver.CreateEvidenceForUrl(stylesheetURL); &#13;&#10;xslt.Load(xslReader,resolver,evidence);
Arkusz stylów XSLT pochodzi z zewnętrznego źródła. Pochodzenie źródła nie jest znane. Ustaw dowody na nullwartość . Bloki skryptów nie są przetwarzane, funkcja XSLT document() nie jest obsługiwana, a obiekty rozszerzenia uprzywilejowanego są niedozwolone.

Ponadto można również ustawić resolver parametr na null. Gwarantuje to, że xsl:import elementy i xsl:include nie są przetwarzane.
Arkusz stylów XSLT pochodzi z zewnętrznego źródła. Źródło źródła nie jest znane, ale wymagana jest obsługa skryptów. Zażądaj dowodów od obiektu wywołującego. Interfejs API obiektu wywołującego musi zapewnić sposób dostarczenia dowodów, zazwyczaj Evidence klasy.

Zobacz też

Dotyczy

Load(XPathNavigator)

Przestroga

You should pass evidence to Load() method

Ładuje arkusz stylów XSLT zawarty w pliku XPathNavigator.

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)

Parametry

stylesheet
XPathNavigator

XPathNavigator Obiekt zawierający arkusz stylów XSLT.

Atrybuty

Wyjątki

Bieżący węzeł nie jest zgodny z prawidłowym arkuszem stylów.

Arkusz stylów zawiera skrypty osadzone, a obiekt wywołujący nie ma UnmanagedCode uprawnień.

Uwagi

Uwaga

Klasa XslTransform jest przestarzała w .NET Framework w wersji 2.0. Klasa XslCompiledTransform jest nowym procesorem XSLT. Aby uzyskać więcej informacji, zobacz Using the XslCompiledTransform Class (Używanie klasy XslCompiledTransform) i Migrating From the XslTransform Class (Migrowanie z klasy XslTransform).

XslTransform obsługuje składnię XSLT 1.0. Arkusz stylów XSLT musi zawierać deklarację xmlns:xsl= http://www.w3.org/1999/XSL/Transformprzestrzeni nazw .

Ta metoda ładuje arkusz stylów XSLT, w tym wszystkie arkusze stylów, do których odwołuje się element xsl:include i xsl:import . Zasoby zewnętrzne są rozwiązywane przy użyciu elementu XmlUrlResolver bez poświadczeń użytkownika. Jeśli arkusze stylów znajdują się w zasobie sieciowym, który wymaga uwierzytelniania, użyj przeciążenia, które przyjmuje XmlResolver jako jeden z argumentów i określ element XmlResolver z wymaganymi poświadczeniami.

Arkusz stylów jest ładowany z bieżącej pozycji obiektu XPathNavigator. Aby użyć tylko części załadowanego dokumentu jako arkusza stylów, przejdź do węzła odpowiadającego początku arkusza stylów. Po powrocie Load XPathNavigator metody obiekt jest umieszczony na początku arkusza stylów (w węźle xsl:style sheet ).

Jeśli arkusz stylów zawiera osadzone skrypty, skrypt jest kompilowany do zestawu. Zestaw ma pełne zaufanie. Zalecaną praktyką jest przedstawienie dowodów przy użyciu Load(XPathNavigator, XmlResolver, Evidence) metody .

Uwaga

Jeśli obiekt wywołujący nie ma UnmanagedCode uprawnień, osadzony skrypt nie jest kompilowany i SecurityException jest zgłaszany. Zobacz SecurityPermission i SecurityPermissionFlag.UnmanagedCode , aby uzyskać więcej informacji.

Dotyczy

Load(IXPathNavigable)

Przestroga

You should pass evidence to Load() method

Ładuje arkusz stylów XSLT zawarty w pliku IXPathNavigable.

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)

Parametry

stylesheet
IXPathNavigable

Obiekt implementuje IXPathNavigable interfejs. W .NET Framework może to być obiekt XmlNode (zazwyczaj XmlDocument) lub XPathDocument zawierający arkusz stylów XSLT.

Atrybuty

Wyjątki

Załadowany zasób nie jest prawidłowym arkuszem stylów.

Arkusz stylów zawiera skrypty osadzone, a obiekt wywołujący nie ma UnmanagedCode uprawnień.

Uwagi

Uwaga

Klasa XslTransform jest przestarzała w .NET Framework w wersji 2.0. Klasa XslCompiledTransform jest nowym procesorem XSLT. Aby uzyskać więcej informacji, zobacz Using the XslCompiledTransform Class (Używanie klasy XslCompiledTransform) i Migrating From the XslTransform Class (Migrowanie z klasy XslTransform).

XslTransform obsługuje składnię XSLT 1.0. Arkusz stylów XSLT musi zawierać deklarację xmlns:xsl= http://www.w3.org/1999/XSL/Transformprzestrzeni nazw .

Ta metoda ładuje arkusz stylów XSLT, w tym wszystkie arkusze stylów, do których odwołuje się element xsl:include i xsl:import . Zasoby zewnętrzne są rozwiązywane przy użyciu elementu XmlUrlResolver bez poświadczeń użytkownika. Jeśli arkusze stylów znajdują się w zasobie sieciowym, który wymaga uwierzytelniania, użyj przeciążenia, które przyjmuje XmlResolver jako jeden z argumentów i określ element XmlResolver z wymaganymi poświadczeniami.

Jeśli arkusz stylów zawiera osadzone skrypty, skrypt jest kompilowany do zestawu. Zestaw ma pełne zaufanie. Zalecaną praktyką jest przedstawienie dowodów przy użyciu Load(IXPathNavigable, XmlResolver, Evidence) metody .

Uwaga

Jeśli obiekt wywołujący nie ma UnmanagedCode uprawnień, osadzony skrypt nie jest kompilowany i SecurityException jest zgłaszany. Zobacz SecurityPermission i SecurityPermissionFlag.UnmanagedCode , aby uzyskać więcej informacji.

Dotyczy

Load(XmlReader)

Przestroga

You should pass evidence to Load() method

Ładuje arkusz stylów XSLT zawarty w pliku XmlReader.

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)

Parametry

stylesheet
XmlReader

XmlReader Obiekt zawierający arkusz stylów XSLT.

Atrybuty

Wyjątki

Bieżący węzeł nie jest zgodny z prawidłowym arkuszem stylów.

Arkusz stylów zawiera skrypty osadzone, a obiekt wywołujący nie ma UnmanagedCode uprawnień.

Przykłady

Poniższy przykład przekształca plik XML posortując wszystkie książki według tytułu.

#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

W przykładzie użyto następujących plików danych jako danych wejściowych.

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>

Uwagi

Uwaga

Klasa XslTransform jest przestarzała w .NET Framework w wersji 2.0. Klasa XslCompiledTransform jest nowym procesorem XSLT. Aby uzyskać więcej informacji, zobacz Using the XslCompiledTransform Class (Używanie klasy XslCompiledTransform) i Migrating From the XslTransform Class (Migrowanie z klasy XslTransform).

XslTransform obsługuje składnię XSLT 1.0. Arkusz stylów XSLT musi zawierać deklarację xmlns:xsl= http://www.w3.org/1999/XSL/Transformprzestrzeni nazw .

Ta metoda ładuje arkusz stylów XSLT, w tym wszystkie arkusze stylów, do których odwołuje się element xsl:include i xsl:import . Zasoby zewnętrzne są rozwiązywane przy użyciu elementu XmlUrlResolver bez poświadczeń użytkownika. Jeśli arkusze stylów znajdują się w zasobie sieciowym, który wymaga uwierzytelniania, użyj przeciążenia, które przyjmuje XmlResolver jako jeden z argumentów i określ element XmlResolver z wymaganymi poświadczeniami.

Arkusz stylów jest ładowany z bieżącego węzła obiektu za pośrednictwem wszystkich jego elementów podrzędnych XmlReader . Dzięki temu można użyć części dokumentu jako arkusza stylów. Po powrocie Load XmlReader metody element jest umieszczony w następnym węźle po zakończeniu arkusza stylów. Jeśli koniec dokumentu zostanie osiągnięty, XmlReader element zostanie umieszczony na końcu pliku (EOF).

Jeśli arkusz stylów zawiera jednostki, należy określić jednostkę XmlReader , która może rozpoznawać jednostki (XmlReader.CanResolveEntity zwraca wartość true). W tym przypadku można użyć elementu XmlValidatingReader .

Jeśli arkusz stylów zawiera osadzone skrypty, skrypt jest kompilowany do zestawu. Zestaw ma pełne zaufanie. Zalecaną praktyką jest przedstawienie dowodów przy użyciu Load(XmlReader, XmlResolver, Evidence) metody .

Uwaga

Jeśli obiekt wywołujący nie ma UnmanagedCode uprawnień, osadzony skrypt nie jest kompilowany i SecurityException jest zgłaszany. Zobacz SecurityPermission i SecurityPermissionFlag.UnmanagedCode , aby uzyskać więcej informacji.

Dotyczy

Load(String)

Ładuje arkusz stylów XSLT określony przez adres URL.

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

Parametry

url
String

Adres URL określający arkusz stylów XSLT do załadowania.

Wyjątki

Załadowany zasób nie jest prawidłowym arkuszem stylów.

Arkusz stylów zawiera osadzony skrypt, a obiekt wywołujący nie ma UnmanagedCode uprawnień.

Przykłady

Poniższy przykład przekształca dokument XML w dokument HTML. Wyświetla on wartość ISBN, tytuł i cenę każdej książki w tabeli.

#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

W przykładzie użyto następujących dwóch plików wejściowych.

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>

Uwagi

XslTransform obsługuje składnię XSLT 1.0. Arkusz stylów XSLT musi zawierać deklarację xmlns:xsl="http://www.w3.org/1999/XSL/Transform"przestrzeni nazw .

Ta metoda ładuje arkusz stylów XSLT, w tym wszystkie arkusze stylów, do których odwołuje się element xsl:include i xsl:import . Zasoby zewnętrzne są rozwiązywane przy użyciu elementu XmlUrlResolver bez poświadczeń użytkownika. Jeśli arkusze stylów znajdują się w zasobie sieciowym, który wymaga uwierzytelniania, użyj przeciążenia, które przyjmuje XmlResolver jako jeden z jego argumentów i określ element XmlResolver z wymaganymi poświadczeniami.

Jeśli arkusz stylów zawiera osadzone skrypty, skrypt jest kompilowany do zestawu. Identyfikator URI arkusza stylów służy do tworzenia dowodów, które są stosowane do zestawu.

Uwaga

Jeśli obiekt wywołujący nie ma UnmanagedCode uprawnień, osadzony skrypt nie jest skompilowany i SecurityException jest zgłaszany. Zobacz SecurityPermission i SecurityPermissionFlag.UnmanagedCode , aby uzyskać więcej informacji.

Dotyczy

Load(String, XmlResolver)

Ładuje arkusz stylów XSLT określony przez adres URL.

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)

Parametry

url
String

Adres URL określający arkusz stylów XSLT do załadowania.

resolver
XmlResolver

Element XmlResolver używany do ładowania arkusza stylów i wszystkich arkuszy stylów, do których odwołuje się element xsl:import i xsl:include .

Jeśli jest nullto wartość domyślna XmlUrlResolver bez poświadczeń użytkownika, jest używana do otwierania arkusza stylów. Wartość domyślna XmlUrlResolver nie jest używana do rozpoznawania żadnych zasobów zewnętrznych w arkuszu stylów, więc elementy xsl:import i xsl:include nie są rozwiązywane.

Wartość XmlResolver nie jest buforowana po zakończeniu Load(String, XmlResolver) metody.

Wyjątki

Załadowany zasób nie jest prawidłowym arkuszem stylów.

Arkusz stylów zawiera osadzony skrypt, a obiekt wywołujący nie ma UnmanagedCode uprawnień.

Przykłady

Poniższy przykład przekształca dokument XML w dokument HTML. Przykład ładuje arkusz stylów XSLT, który zawiera xsl:include element odwołujący się do innego arkusza stylów. Element XmlUrlResolver jest przekazywany do Load metody , która ustawia poświadczenia niezbędne do uzyskania dostępu do zasobu sieciowego dla dołączonego arkusza stylów.

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

W przykładzie użyto następujących plików danych jako danych wejściowych.

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>

Uwagi

Uwaga

Klasa XslTransform jest przestarzała w .NET Framework w wersji 2.0. Klasa XslCompiledTransform jest nowym procesorem XSLT. Aby uzyskać więcej informacji, zobacz Using the XslCompiledTransform Class (Używanie klasy XslCompiledTransform) i Migrating From the XslTransform Class (Migrowanie z klasy XslTransform).

XslTransform obsługuje składnię XSLT 1.0. Arkusz stylów XSLT musi zawierać deklarację xmlns:xsl= http://www.w3.org/1999/XSL/Transformprzestrzeni nazw .

Jeśli arkusz stylów zawiera osadzone skrypty, skrypt jest kompilowany do zestawu. Identyfikator URI arkusza stylów służy do tworzenia dowodów, które są stosowane do zestawu.

Uwaga

Jeśli obiekt wywołujący nie ma UnmanagedCode uprawnień, osadzony skrypt nie jest kompilowany i SecurityException jest zgłaszany. Zobacz SecurityPermission i SecurityPermissionFlag.UnmanagedCode , aby uzyskać więcej informacji.

Zobacz też

Dotyczy