Latest web development tutorials

XSLT en el cliente

Si su navegador es compatible con XSLT, el navegador que se puede utilizar para convertir documentos a XHTML.


solución de JavaScript

En el capítulo anterior, hemos enseñado cómo utilizar XSLT para transformar un documento XML en XHTML. Hacemos esto a través de las siguientes maneras: Añadido hoja de estilo XSL en el archivo XML, y completar la conversión a través de un navegador.

Incluso si el efecto de este método es muy bueno, las referencias de hojas de estilo no siempre son satisfactorios (por ejemplo, en el navegador XSLT no reconoce este enfoque no funciona) se incluye en el archivo XML.

Un enfoque más general es utilizar JavaScript para completar la conversión.

Mediante el uso de JavaScript, podemos:

  • El navegador para pruebas de confirmación
  • Dependiendo del navegador y las necesidades de los usuarios a utilizar una hoja de estilo diferente

Este es el encanto XSLT! XSLT es uno diseñado para hacer que los datos de un formato a otro formato sea posible y soportar diferentes tipos de navegadores y diferentes necesidades de los usuarios.

transformación XSLT cliente se convertirá en el futuro una de las principales tareas realizadas por el navegador, y vamos a ver su crecimiento (Braille, navegadores auditivos, impresoras de red, dispositivos de mano, etc.) en un mercado determinado navegador.


Los documentos XML y archivos XSL

Mira esto en la sección anterior ha demostrado fuera de un documento XML:

<?xml version="1.0" encoding="ISO-8859-1"?>
<catalog>
<cd>
<title>Empire Burlesque</title>
<artist>Bob Dylan</artist>
<country>USA</country>
<company>Columbia</company>
<price>10.90</price>
<year>1985</year>
</cd>
.
.
</catalog>

Ver el archivo XML .

Y acompañando a la hoja de estilo XSL:

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
<html>
<body>
<h2>My CD Collection</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th align="left">Title</th>
<th align="left">Artist</th>
</tr>
<xsl:for-each select="catalog/cd">
<tr>
<td><xsl:value-of select="title" /></td>
<td><xsl:value-of select="artist" /></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>

</xsl:stylesheet>

Ver archivo XSL .

Tenga en cuenta, el archivo XML no contiene una referencia al archivo XSL.

IMPORTANTE: significa la frase anterior, los archivos XML se pueden utilizar varios diferentes hojas de estilo XSL para convertir.


En el navegador de convertir XML a XHTML

Esto es para que el cliente los archivos XML en código fuente XHTML:

Ejemplos

<html>
<head>
<script>
function loadXMLDoc(dname)
{
if (window.ActiveXObject)
{
xhttp=new ActiveXObject("Msxml2.XMLHTTP.3.0");
}
else
{
xhttp=new XMLHttpRequest();
}
xhttp.open("GET",dname,false);
xhttp.send("");
return xhttp.responseXML;
}

function displayResult()
{
xml=loadXMLDoc("cdcatalog.xml");
xsl=loadXMLDoc("cdcatalog.xsl");
// code for IE
if (window.ActiveXObject)
{
ex=xml.transformNode(xsl);
document.getElementById("example").innerHTML=ex;
}
// code for Mozilla, Firefox, Opera, etc.
else if (document.implementation && document.implementation.createDocument)
{
xsltProcessor=new XSLTProcessor();
xsltProcessor.importStylesheet(xsl);
resultDocument = xsltProcessor.transformToFragment(xml,document);
document.getElementById("example").appendChild(resultDocument);
}
}
</script>
</head>
<body onload="displayResult()">
<div id="example" />
</body>
</html>

Trate »

Consejo: Si usted no sabe cómo escribir JavaScript, por favor estudie nuestro tutorial de Javascript .

Ejemplos explican:

función loadXMLDoc ()

loadXMLDoc función () se utiliza para cargar los archivos XML y XSL.

Se comprueba el tipo de navegador y el usuario tiene que cargar el archivo.

displayResult función ()

Esta función se utiliza para definir el archivo XML estilo de visualización utilizando archivos XSL.

  • Carga de archivos XML y XSL
  • usuarios de prueba tienen el tipo de navegador
  • Si el soporte de objetos ActiveX navegador del usuario:
    • Utilice el método transformNode () de la hoja de estilo XSL para el documento XML
    • Ajuste el documento actual (id = "ejemplo") contiene el estilo de la carrocería se ha aplicado documentos XML
  • Si el navegador del usuario no soporta objetos ActiveX:
    • Crear un nuevo archivo XSL importación de objetos y XSLTProcessor
    • Utilice el método transformToFragment () de la hoja de estilo XSL para el documento XML
    • Ajuste el documento actual (id = "ejemplo") contiene el estilo de la carrocería se ha aplicado documentos XML