Nota
O acceso a esta páxina require autorización. Pode tentar iniciar sesión ou modificar os directorios.
O acceso a esta páxina require autorización. Pode tentar modificar os directorios.
El Transform método acepta tres tipos de entrada para el documento de origen: un objeto que implementa la IXPathNavigable interfaz, un XmlReader objeto que lee el documento de origen o un URI de cadena.
Nota:
La XslCompiledTransform clase conserva el espacio en blanco de forma predeterminada. Esto se ajusta a la sección 3.4 de la recomendación W3C XSLT 1.0.
Interfaz IXPathNavigable
La IXPathNavigable interfaz se implementa en las XmlNode clases y XPathDocument . Estas clases representan una caché en memoria de datos XML.
La XmlNode clase se basa en el modelo de objetos de documento (DOM) W3C e incluye funcionalidades de edición.
La XPathDocument clase es un almacén de datos de solo lectura basado en el modelo de datos XPath. XPathDocument es la clase recomendada para el procesamiento XSLT. Proporciona un rendimiento más rápido en comparación con la XmlNode clase .
Nota:
Las transformaciones se aplican al documento en su conjunto. En otras palabras, si pasa un nodo distinto del nodo raíz del documento, esto no impide que el proceso de transformación acceda a todos los nodos del documento cargado. Para transformar un fragmento de nodo, debe crear un objeto que contenga solo el fragmento de nodo y pasar ese objeto al Transform método . Para obtener más información, vea How to: Transform a Node Fragment.
En el ejemplo siguiente se usa el XslCompiledTransform.Transform método para transformar el archivo books.xml en el archivo books.html mediante la hoja de estilos transform.xsl. Los archivos books.xml y transform.xsl se pueden encontrar en este tema: Cómo: Realizar una transformación XSLT mediante un ensamblado.
// Open books.xml as an XPathDocument.
XPathDocument doc = new XPathDocument("books.xml");
// Create a writer for writing the transformed file.
XmlWriter writer = XmlWriter.Create("books.html");
// Create and load the transform with script execution enabled.
XslCompiledTransform transform = new XslCompiledTransform();
XsltSettings settings = new XsltSettings();
settings.EnableScript = true;
transform.Load("transform.xsl", settings, null);
// Execute the transformation.
transform.Transform(doc, writer);
' Open books.xml as an XPathDocument.
Dim doc As XPathDocument = New XPathDocument("books.xml")
' Create a writer for writing the transformed file.
Dim writer As XmlWriter = XmlWriter.Create("books.html")
' Create and load the transform with script execution enabled.
Dim transform As XslCompiledTransform = New XslCompiledTransform()
Dim settings As XsltSettings = New XsltSettings()
settings.EnableScript = True
transform.Load("transform.xsl", settings, Nothing)
'Execute the transformation.
transform.Transform(doc, writer)
Objeto XmlReader
El método Transform se carga desde el nodo actual del XmlReader a través de todos sus nodos secundarios. Esto le permite usar una parte de un documento como documento de contexto. Una vez devuelto el método Transform, XmlReader se sitúa en el siguiente nodo después del final del documento de contexto. Si se alcanza el final del documento, XmlReader se coloca al final del archivo (EOF).
En el ejemplo siguiente se usa el XslCompiledTransform.Transform método para transformar el archivo books.xml en el archivo books.html mediante la hoja de estilos transform.xsl. Los archivos books.xml y transform.xsl se pueden encontrar en este tema: Cómo: Realizar una transformación XSLT mediante un ensamblado.
// Create a reader to read books.xml
XmlReader reader = XmlReader.Create("books.xml");
// Create a writer for writing the transformed file.
XmlWriter writer = XmlWriter.Create("books.html");
// Create and load the transform with script execution enabled.
XslCompiledTransform transform = new XslCompiledTransform();
XsltSettings settings = new XsltSettings();
settings.EnableScript = true;
transform.Load("transform.xsl", settings, null);
// Execute the transformation.
transform.Transform(reader, writer);
'Create a reader to read books.xml
Dim reader As XmlReader = XmlReader.Create("books.xml")
' Create a writer for writing the transformed file.
Dim writer As XmlWriter = XmlWriter.Create("books.html")
' Create and load the transform with script execution enabled.
Dim transform As XslCompiledTransform = New XslCompiledTransform()
Dim settings As XsltSettings = New XsltSettings()
settings.EnableScript = True
transform.Load("transform.xsl", settings, Nothing)
' Execute the transformation.
transform.Transform(reader, writer)
Identificador URI de cadena
También puede especificar el URI del documento de origen como entrada XSLT. XmlResolver Se usa para resolver el URI. Puede especificar el objeto XmlResolver que se va a usar pasándoselo al método Transform. Si no se especifica XmlResolver, el método Transform usa un XmlUrlResolver predeterminado sin credenciales.
En el ejemplo siguiente se usa el XslCompiledTransform.Transform método para transformar el archivo books.xml en el archivo books.html mediante la hoja de estilos transform.xsl. Los archivos books.xml y transform.xsl se pueden encontrar en este tema: Cómo: Realizar una transformación XSLT mediante un ensamblado.
// Create and load the transform with script execution enabled.
XslCompiledTransform transform = new XslCompiledTransform();
XsltSettings settings = new XsltSettings();
settings.EnableScript = true;
transform.Load("transform.xsl", settings, null);
// Execute the transformation.
transform.Transform("books.xml", "books.html");
' Create and load the transform with script execution enabled.
Dim transform As XslCompiledTransform = New XslCompiledTransform()
Dim settings As XsltSettings = New XsltSettings()
settings.EnableScript = True
transform.Load("transform.xsl", settings, Nothing)
' Execute the transformation.
transform.Transform("books.xml", "books.html")
Para obtener más información, consulte Resolución de recursos externos durante el procesamiento XSLT.