Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Método XslTransform.Load (String, XmlResolver)

 

Publicado: octubre de 2016

Carga la hoja de estilos XSLT especificada por una dirección URL.

Espacio de nombres:   System.Xml.Xsl
Ensamblado:  System.Xml (en System.Xml.dll)

public void Load(
	string url,
	XmlResolver resolver
)

Parámetros

url
Type: System.String

La dirección URL que especifica la hoja de estilos XSLT a cargar.

resolver
Type: System.Xml.XmlResolver

El XmlResolver a utilizar para cargar la hoja de estilos y cualquier hoja u hojas de estilo hace referenciadas en xsl:import y xsl:include elementos.

Si se trata de null, un valor predeterminado XmlUrlResolver con ningún usuario, las credenciales se usa para abrir la hoja de estilos. El valor predeterminado XmlUrlResolver no se utiliza para resolver los recursos externos en la hoja de estilos, por lo que xsl:import y xsl:include no se resuelven los elementos.

El XmlResolver no se almacenan en caché después de la Load método se completa.

Exception Condition
XsltCompileException

El recurso cargado no es una hoja de estilo válido.

SecurityException

La hoja de estilos contiene scripts incrustados y el llamador no tiene UnmanagedCode permiso.

System_CAPS_noteNota

La XslTransform clase está obsoleta en la versión 2.0 de .NET Framework. La XslCompiledTransform clase es el nuevo procesador XSLT. Para obtener más información, consulte Uso de la clase XslCompiledTransform y Migración desde la clase XslTransform.

XslTransform admite la sintaxis de XSLT 1.0. La hoja de estilos XSLT debe incluir la declaración de espacio de nombres xmlns:xsl= http://www.w3.org/1999/XSL/Transform.

Si la hoja de estilos contiene scripts incrustados, la secuencia de comandos se compila en un ensamblado. El URI de la hoja de estilos se utiliza para crear la evidencia, que se aplica al ensamblado. Para problemas con el Load (método) y hojas de estilo con scripts incrustados, vea el artículo Q316755 de Microsoft Knowledge Base en http://support.microsoft.com.

System_CAPS_noteNota

Si el llamador no tiene UnmanagedCode permiso, el script incrustado no se compila y SecurityException se produce. Para obtener más información, vea SecurityPermission y SecurityPermissionFlag.UnmanagedCode.

En el siguiente ejemplo se transforma un documento XML en un documento HTML. El ejemplo carga una hoja de estilos XSLT que contiene un xsl:include elemento hace referencia a otra hoja de estilos. Una XmlUrlResolver se pasa a la Load método que define las credenciales necesarias para tener acceso al recurso de red para la hoja de estilos incluida.

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();
  }
}

El ejemplo utiliza los siguientes archivos de datos como entrada.

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>

.NET Framework
Disponible desde 1.1
Volver al principio
Mostrar: