Procesador XSL en Java

En Java, XSLProcessor es una clase que amplía la clase java.lang.Object . Proporciona métodos para crear objetos XSLStylesheet y transformar un documento XML de entrada. XSL son las siglas de Extensible Stylesheet Language, que se utiliza para crear hojas de estilo al igual que CSS, que describe cómo mostrar un documento XML de un tipo determinado.

--> java.lang Package
    --> Object Class
        --> XSL Processor Class extends Object Class  

Métodos de la clase XSLProcessor

Métodos Descripción
getParam(java.lang.String nombre) Utiliza getParam(String, String);
getParam(java.lang.String uri, java.lang.String nombre) Obtiene el valor de un parámetro de hoja de estilo de nivel superior.
 XSLStylesheet nuevaXSLStylesheet(java.io.InputStream xsl) No se admite la construcción de una hoja de estilo XSL utilizando la función XSL Inputstream dada document() ya que no hay forma de volver a acceder a la hoja de estilo de entrada como XMLDocument.
 XSLStylesheet nuevaXSLStylesheet(java.io.Reader xsl) No se admite la construcción de una hoja de estilo XSL usando la función Lector XSL document() dado que no hay forma de volver a acceder a la hoja de estilo de entrada como documento XML.
nuevaXSLStylesheet(java.net.URL xsl) Construye una hoja de estilo XSL usando la URL dada
newXSLStylesheet(XMLDocumento xsl) Construye una hoja de estilo XSL usando el XMLDocument dado
procesarXSL(XSLStylesheet xsl, java.io.InputStream xml, java.net.URL ref) Transforma el documento XML de entrada utilizando InputStream y hoja de estilo dados.
procesarXSL(XSLStylesheet xsl, java.io.Reader xml, java.net.URL ref) Transforma el documento XML de entrada usando Reader y hoja de estilo dados.
procesarXSL(XSLStylesheet xsl, java.net.URL xml, java.net.URL ref) Transforma el documento XML de entrada utilizando la URL y la hoja de estilo dadas.
procesarXSL(XSLStylesheet xsl, XMLDocument xml) Transforma el documento XML de entrada utilizando el XMLDocument y la hoja de estilo dados.
processXSL(XSLStylesheet xsl, XMLDocument xml, controlador ContentHandler) Transforma el documento XML de entrada utilizando el XMLDocument y la hoja de estilo dados.
procesarXSL(XSLStylesheet xsl, XMLDocumentFragment inp) Transforma el documento XML de entrada utilizando el XMLDocument y la hoja de estilo dados.
procesarXSL(XSLStylesheet xsl, XMLDocumentFragment xml, java.io.OutputStream os) Transforma el XML de entrada usando el XMLDocumentFragment y la hoja de estilo dados.
procesarXSL(XSLStylesheet xsl, XMLDocumentFragment xml, java.io.PrintWriter pw) Transforma el XML de entrada usando el XMLDocumentFragment y la hoja de estilo dados.
procesarXSL(XSLStylesheet xsl, XMLDocumentFragment inp, controlador XMLDocumentHandler) Transforma el documento XML de entrada utilizando el XMLDocument y la hoja de estilo dados.
procesarXSL(XSLStylesheet xsl, XMLDocument xml, java.io.OutputStream os) Transforma el documento XML de entrada utilizando el XMLDocument y la hoja de estilo dados.
procesarXSL(XSLStylesheet xsl, XMLDocument xml, java.io.PrintWriter pw) Transforma el documento XML de entrada utilizando el XMLDocument y la hoja de estilo dados.
procesarXSL(XSLStylesheet xsl, XMLDocument xml, controlador XMLDocumentHandler) Transforma el documento XML de entrada utilizando el XMLDocument y la hoja de estilo dados.
procesarXSL(XSLStylesheet xsl, XMLElement inp) Transforma el documento XML de entrada utilizando el XMLDocument y la hoja de estilo dados.
processXSL(XSLStylesheet xsl, XMLElement inp, controlador ContentHandler) Transforma el documento XML de entrada usando el XMLElement y la hoja de estilo dados.
procesarXSL(XSLStylesheet xsl, XMLElement xml, java.io.OutputStream os) Transforma el XML de entrada usando el XMLElement y la hoja de estilo dados.
procesarXSL(XSLStylesheet xsl, XMLElement xml, java.io.PrintWriter pw) Transforma el XML de entrada usando el XMLElement y la hoja de estilo dados.
procesarXSL(XSLStylesheet xsl, XMLElement xml, controlador XMLDocumentHandler) Transforma el documento XML de entrada usando el XMLElement y la hoja de estilo dados.
removeParam(java.lang.String uri, java.lang.String nombre) Elimina el valor de un parámetro de hoja de estilo de nivel superior.
resetParams() Restablece todos los parámetros establecidos.
setBaseURL(java.net.URL URL) Establece la URL base para resolver include/import hrefs EntityResolver si se usa set antes de usar la URL base.
setEntityResolver(EntityResolver eResolver) Establece la resolución de entidades para resolver incluir/importar hrefs si no se establece, se usa la URL base (si se establece).
setErrorStream(java.io.OutputStream fuera) Genere un flujo de salida para la salida de advertencias.
setLocale(java.util.Locale configuración regional) Las aplicaciones de este método pueden usar esto para establecer la configuración regional para el informe de errores.
setOutputEncoding(java.lang.String externalenc) En este método, si la codificación de salida no se especifica en el documento XSL, el conjunto de caracteres de salida es «UTF-8» en el elemento META de forma predeterminada.
setParam(java.lang.String uri, java.lang.String nombre, java.lang.Object valor) Establece el valor de un parámetro de hoja de estilo de nivel superior.
setXSLTVersion(XSLProcessor.XSLTVersion versión) Establece la versión de la especificación que se utilizará para la transformación.
mostrar advertencias (bandera booleana) Se utiliza al cambiar para determinar si se emiten advertencias.

Ejemplo 

Java

// Java Program to Illustrate XSLSample Class
 
// Class
public class XSLSample {
 
    // Main driver method
    public static void main(String args[]) throws Exception
    {
        if (args.length < 2) {
            System.err.println(
                "Usage: java XSLSample xslFile xmlFile.");
            System.exit(1);
        }
 
        // Creating a new XSLProcessor
        XSLProcessor processor = new XSLProcessor();
 
        // Register a base URL to resolve relative
        // references processor.setBaseURL(baseURL);
 
        // Or register an org.xml.sax.EntityResolver to
        // resolve relative references
        // processor.setEntityResolver(myEntityResolver);
 
        // Register an error log
        // processor.setErrorStream(new
        // FileOutputStream("error.log"));
 
        // Set any global parameters to the processor
        // processor.setParam(namespace, param1, value1);
        // processor.setParam(namespace, param2, value2);
 
        // resetParam is for multiple XML documents with
        // different parameters
 
        String xslFile = args[0];
        String xmlFile = args[1];
 
        // Create a XSLStylesheet
        //  The stylesheet can be created using one of
        //  following inputs:
        //
        // XMLDocument xslInput = /* using DOMParser; see
        // later in this code */ URL         xslInput = new
        // URL(xslFile); Reader      xslInput = new
        // FileReader(xslFile);
 
        InputStream xslInput = new FileInputStream(xslFile);
        XSLStylesheet stylesheet
            = processor.newXSLStylesheet(xslInput);
 
        // Prepare the XML instance document
        //   The XML instance can be given to the processor
        //   in one of
        // following ways:
        //
        // URL         xmlInput = new URL(xmlFile);
        // Reader      xmlInput = new FileReader(xmlFile);
        // InputStream xmlInput = new
        // FileInputStream(xmlFile); Or using DOMParser
 
        DOMParser parser = new DOMParser();
        parser.retainCDATASection(false);
        parser.setPreserveWhitespace(true);
        parser.parse(xmlFile);
        XMLDocument xmlInput = parser.getDocument();
 
        // Transform the XML instance
        //   The result of the transformation can be one of
        //   the following:
        //
        // 1. Return a XMLDocumentFragment
        // 2. Print the results to a OutputStream
        // 3. Report SAX Events to a ContentHandler
 
        // 1. Return a XMLDocumentFragment
        XMLDocumentFragment res;
        res = processor.processXSL(stylesheet, xmlInput);
 
        // Print the result to System.out
        res.print(System.out);
 
        // 2. Print the results to a OutputStream
        // processor.processXSL(stylesheet, xmlInput,
        // System.out);
 
        // 3. Report SAX Events to a ContentHandler
        // ContentHandler cntHandler = new
        // MyContentHandler();
        // processor.processXSL(stylesheet, xmlInput,
        // cntHandler);
 
        // Display message for successful execution
        System.out.println("Executed Successfully");
    }
}

Producción:

Executed Successfully

XSL también agrega: 

  • Un lenguaje de transformación que tiene en cuenta los documentos XML: XLST significa eXtensible Stylesheet Language Transformation . Inicialmente, destinado a realizar operaciones de estilo complejas, como crear tablas de contenido e índices, ahora se usa como un lenguaje de procesamiento XML de propósito general. Por lo tanto, XSLT se usa ampliamente además de XSL, como la creación de páginas web HTML a partir de datos XML.
  • Las funciones de estilo más recientes, ilustradas por un tipo de documento XML que define un conjunto de elementos conocidos como objetos de formato y atributos.

Procesador XSLT para Java:

Oracle proporciona procesamiento XSLT para Java, C, C++ y PL/SQL. Este artículo describe el procesador XSLT para Java. XSLT tiene dos versiones, es decir, una versión 1.0 y también una versión 2.0 actualmente en proceso, que es un estándar de Internet W3C. XSLT también usa el lenguaje de navegación XPath y tiene las versiones 1.0 y 2.0 correspondientes. En Java, el procesador XSLT implementa tanto XSLT como XPath.

Publicación traducida automáticamente

Artículo escrito por kumarsaurabhsingh05 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *