Visualización de XML mediante XSLT

XSLT significa Transformación de lenguaje de hoja de estilo extensible .

  • XSLT se utiliza para transformar documentos XML de un formulario a otro formulario.
  • XSLT usa Xpath para realizar la coincidencia de Nodes para realizar estas transformaciones.
  • El resultado de aplicar XSLT a un documento XML podría ser otro documento XML, HTML, texto o cualquier otro documento desde la perspectiva de la tecnología.
  • El código XSL está escrito dentro del documento XML con la extensión de (.xsl) .
  • En otras palabras, un documento XSLT es un tipo diferente de documento XML.

Espacio de nombres XML: Los espacios de nombres XML son los nombres únicos.

  • El espacio de nombres XML es un mecanismo mediante el cual se asigna un elemento o atributo a un grupo.
  • El espacio de nombres XML se utiliza para evitar conflictos de nombres en el documento XML.
  • El W3C recomienda el espacio de nombres XML.

Declaración de espacio de nombres XML:
se declara utilizando un atributo reservado, como el atributo xmlns o puede comenzar con xmlns:

  • Sintaxis:
     <element xmlns:name = "URL">

    dónde

    • El espacio de nombres comienza con xmlns.
    • La palabra nombre es el prefijo del espacio de nombres.
    • la URL es el identificador del espacio de nombres.
  • Ejemplo:
    Considere el siguiente documento xml llamado Table.xml :-

    <?xml version="1.0" encoding="UTF-8"?>
    <?xml-stylesheet type="text/css" href="rule.css"?>
     <tables>
      <table>
       <tr>
        <td>Apple</td>
        <td>Banana</td>
       </tr>
      </table>
      <table>
       <height>100</height>
       <width>150</width>
      </table>
     </tables>

    En el código anterior, habría un conflicto de nombres, ambos contienen el mismo elemento de tabla pero el contenido del elemento de tabla es diferente. Para manejar esta situación, se utiliza el concepto de espacio de nombres XML.

  • Ejemplo:
    considere el mismo documento XML para resolver el conflicto de nombres:

    <?xml version="1.0" encoding="UTF-8"?>
    <?xml-stylesheet type="text/css" href="rule.css"?>
     <tables>
      <m:table xmlns:m=""http://www.google.co.in">
       <m:tr>
        <m:td>Apple</m:td>
        <m:td>Banana</m:td>
       </m:tr>
      </m:table>
      <n:table xmlns:m=""http://www.yahoo.co.in">
       <n:height>100</n:height>
       <n:width>150</n:width>
      </n:table>
     </tables>

Xpath:

  • Xpath es un componente importante del estándar XSLT.
  • Xpath se utiliza para recorrer el elemento y los atributos de un documento XML.
  • Xpath utiliza diferentes tipos de expresión para recuperar información relevante del documento XML.
  • Xpath contiene una biblioteca de funciones estándar.
    Ejemplo:
    • librería/libro[1] => Obtiene detalles del primer hijo del elemento librería.
    • librería/libro[último()] => Obtiene detalles del último hijo del elemento librería.

Plantillas:

  • Una hoja de estilo XSL contiene uno o más conjuntos de reglas que se denominan plantillas.
  • Una plantilla contiene reglas que se aplican cuando el elemento específico coincide.
  • Un documento XSLT tiene las siguientes cosas:
    • El elemento raíz de la hoja de estilo.
    • Un archivo de extensión .xsl .
    • La sintaxis de XSLT, es decir, lo que está permitido y lo que no está permitido.
    • El espacio de nombres estándar cuya URL es http://www.w3.org/1999/XSL/Transform .

Ejemplo:
en este ejemplo, se crea el archivo XML que contiene la información sobre cinco estudiantes y se muestra el archivo XML mediante XSLT.

  • Archivo XML:
    Creación de Students.xml como:

    <?xml version="1.0" encoding="UTF-8"?>
    <?xml-stylesheet type="text/xsl "href="Rule.xsl" ?>
     <student>
      <s>
       <name> Divyank Singh Sikarwar </name>
       <branch> CSE</branch>
       <age>18</age>
       <city> Agra </city>
      </s>
      <s>
       <name> Aniket Chauhan </name>
       <branch> CSE</branch>
       <age> 20</age>
       <city> Shahjahanpur </city>
      </s>
      <s
       <name> Simran Agarwal</name>
       <branch> CSE</branch>
       <age> 23</age>
       <city> Buland Shar</city>
      </s>
      <s
       <name> Abhay Chauhan</name>
       <branch> CSE</branch>
       <age> 17</age>
       <city> Shahjahanpur</city>
      </s>
      <s
       <name> Himanshu Bhatia</name>
       <branch> IT</branch>
       <age> 25</age>
       <city> Indore</city>
      </s>
     </student>

    En el ejemplo anterior, se crea Students.xml y se vincula con Rule.xsl, que contiene las reglas de hoja de estilo XSL correspondientes.

  • Código XSLT:

    Creando Rule.xsl como:

    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" 
    <xsl:template match="/">
     <html>
     <body>
      <h1 align="center">Students' Basic Details</h1>
       <table border="3" align="center" >
       <tr>
        <th>Name</th>
        <th>Branch</th>
        <th>Age</th>
        <th>City</th>
       </tr>
        <xsl:for-each select="student/s">
       <tr>
        <td><xsl:value-of select="name"/></td>
        <td><xsl:value-of select="branch"/></td>
        <td><xsl:value-of select="age"/></td>
        <td><xsl:value-of select="city"/></td>
       </tr>
        </xsl:for-each>
        </table>
    </body>
    </html>
    </xsl:template>
    </xsl:stylesheet>
  • Producción :

Publicación traducida automáticamente

Artículo escrito por AniketSingh1 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 *