Crear un XML a partir de una consulta en MySQL utilizando hoja de estilos XSL

El código PHP, utilizando estilos.xls y estilos2.css:

  Código:
 

<?

/*

Hace un echo del XML resultante de tratar la consulta obtenida en
$resul.

*/

function EchoXML($resul)
{

// Creo el documento XML
$xml=new DOMDocument(«1.0″,»iso-8859-1″);
$estilo=$xml->createProcessingInstruction(‘xml-stylesheet’,’href=»estilos.xsl» type=»text/xsl»‘);
$xml->appendChild($estilo);
$raiz=$xml->createElement(«raiz»);
$raiz=$xml->appendChild($raiz);
while ($l = mysql_fetch_array($resul, MYSQL_ASSOC)) {

$linea=$xml->createElement(«linea»);
$linea=$raiz->appendChild($linea);

foreach ($l as $nomCampo => $valorCol) {

$dato=$xml->createElement(utf8_encode($nomCampo));
$dato=$linea->appendChild($dato);
$info=$xml->createTextNode(utf8_encode($valorCol));
$info=$dato->appendChild($info);

}

}

echo $xml->saveXML();
// $xml->save(«datos.xml»);

}

function EjecutarConsulta($consult)
{

// Hago una consulta
$resultado=mysql_query($consult);
if (!$resultado) {

die(«Error al ejecutar la consulta: «.mysql_error());

}
EchoXML($resultado);
// Libero el conjunto de resultados
mysql_free_result($resultado);

}

?>

<?

$conexion=mysql_connect(‘127.0.0.1′,’prueba’,’jose’);
// Selecciono la BD
mysql_select_db(‘personal’);
if ($conexion) {

$consulta=’SELECT * FROM personal p ‘;
EjecutarConsulta($consulta);
mysql_close($conexion);

} else {

die(‘<p>No se pudo conectar a la BD</p>’.mysql_error());

}

?>

Este fichero utiliza una hoja de estilos estilos2.css mostrado en la siguiente respuesta
estilos.xls:

  Código:
 

<?xml version=»1.0″?>

<xsl:stylesheet version=»1.0″ xmlns:xsl=»http://www.w3.org/1999/XSL/Transform» xmlns=»http://www.w3.org/TR/REC-html40″>

<xsl:output method=»html»/>

<xsl:template match=»/»>

<xsl:apply-templates/>

</xsl:template>

<xsl:template match=»raiz»>

<HTML>

<HEAD>

<link rel=»stylesheet» href=»estilos2.css» type=»text/css» />

</HEAD>

<BODY>

<TABLE align=»center» width=»80%» class=»tabla1″ cellspacing=»4″ cellpadding=»5″>

<TR> <xsl:apply-templates/> </TR>

</TABLE>

</BODY>

</HTML>

</xsl:template>

<xsl:template match=»linea»>

<TR bgcolor=»#CCFFCC»>

<TD><xsl:value-of select=»Nombre»/></TD>
<TD><xsl:value-of select=»Apellidos»/></TD>
<TD><xsl:value-of select=»Domicilio»/></TD>

</TR>

</xsl:template>

</xsl:stylesheet>

La hoja de estilos estilos2.css:

  Código:
 

.error {

color: #FF0000;
font-weight: bold;

}

.cabecera1 {

color: #3366FF;
font-family: serif;
text-decoration: underline;
font-size: 18pt;
font-weight: bold;

}

.tabla1 {

color:#0000FF;
text-align: left;

}

th {

background-color:#FFCC00;

}

.piesencillo {

color: #FF9900;
font-size: -2;
font-decoration: none;

}

Un comentario sobre “Crear un XML a partir de una consulta en MySQL utilizando hoja de estilos XSL

Replica a Binary Cancelar la respuesta

Este sitio utiliza Akismet para reducir el spam. Conoce cómo se procesan los datos de tus comentarios.