Estado de los servicios es un blog donde ELSERVER informa del estado actual de sus servicios. Está hosteado en los servidores de Estados Unidos, de manera tal que aún en caso de perder el enlace local, el blog seguirá en línea.
[editar ] Estado de los servicios y revendedores
Dado que el estado de los servicios afecta a los revendedores, apareció una solicitud en Ideas a la carta de obtener el estado de los servicios vía XML para que cada revendedor pueda mostrarle una versión propia a sus clientes. Esta idea fue aprobada y ahora está disponible en http://estado.elserver.com/xml/ . La versión XML no contiene las noticias referidas a Atención al Cliente, por ser estas privativas de ELSERVER, y muestra únicamente las técnicas.
Para más comodidad de todos, pongo acá el código de un ejemplo de parser para ese XML que lo transforma en un HTML con diseño genérico.
Para todavía más comodidad, acá está el PHP, directamente para descargar:
Parser: Estado de los servicios
<?php
$file = "http://estado.elserver.com/xml/" ;
header ( "Content-type: text/html; charset=UTF-8" ) ;
$depth = array ( ) ;
$contenido = "" ;
$imprimir = "" ;
$noticia = false ;
function startElement( $parser , $name , $attrs ) {
global $depth ;
global $contenido ;
global $imprimir ;
global $noticia ;
for ( $i = 0 ; $i < $depth [ $parser ] ; $i ++) {
switch ( $name ) {
case "NOTICIA" :
$contenido .= "<div class=\" noticia\" >" ;
$noticia = true ;
$imprimir = "" ;
break ;
case "TITULO" :
$imprimir = "titulo" ;
break ;
case "CONTENIDO" :
$imprimir = "contenido" ;
break ;
case "CATEGORIA" :
$imprimir = "categoria" ;
break ;
case "DURACION-ESTIMADA" :
$imprimir = "duracion-estimada" ;
break ;
case "SEVERIDAD" :
$imprimir = "severidad" ;
break ;
case "FECHA" :
$imprimir = "fecha" ;
break ;
case "RESUELTO" :
$imprimir = "resuelto" ;
break ;
default :
break ;
}
}
$depth [ $parser ] ++;
}
function endElement( $parser , $name ) {
global $depth ;
global $contenido ;
switch ( $name ) {
case "NOTICIA" :
$contenido .= "</div>" ;
}
$depth [ $parser ] --;
}
function characterData( $parser , $data ) {
global $contenido ;
global $imprimir ;
switch ( $imprimir ) {
case "titulo" :
$contenido .= "<h2>" .$data ."</h2>" ;
$imprimir = "" ;
break ;
case "contenido" :
$contenido .= "<p>" .$data ."</p>" ;
$imprimir = "" ;
break ;
case "categoria" :
$contenido .= "<div class=\" categoria\" ><b>Categoría:</b> " .$data ."</div>" ;
$imprimir = "" ;
break ;
case "duracion-estimada" :
$contenido .= "<div class=\" duracion-estimada\" ><b>Duración estimada:</b> " .$data ."</div>" ;
$imprimir = "" ;
break ;
case "severidad" :
$contenido .= "<div class=\" severidad\" ><b>Severidad:</b> " .$data ."</div>" ;
$imprimir = "" ;
break ;
case "fecha" :
$contenido .= "<div class=\" fecha\" ><b>Fecha:</b> " .$data ."</div>" ;
$imprimir = "" ;
break ;
case "resuelto" :
$contenido .= "<div class=\" resuelto\" ><b>Resuelto:</b> " .$data ."</div>" ;
$imprimir = "" ;
break ;
}
}
$xml_parser = xml_parser_create ( ) ;
xml_set_element_handler ( $xml_parser , "startElement" , "endElement" ) ;
xml_set_character_data_handler ( $xml_parser , "characterData" ) ;
if ( !( $fp = fopen ( $file , "r" ) ) ) {
die ( "could not open XML input" ) ;
}
while ( $data = fread ( $fp , 4096 ) ) {
if ( !xml_parse ( $xml_parser , $data , feof ( $fp ) ) ) {
die ( sprintf ( "XML error: %s at line %d" ,
xml_error_string ( xml_get_error_code ( $xml_parser ) ) ,
xml_get_current_line_number ( $xml_parser ) ) ) ;
}
}
xml_parser_free ( $xml_parser ) ;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Estado de los servicios</title>
<style type="text/css" >
body {
margin: 0 ;
padding: 0 ;
text-align: center;
}
h1 {
font-family: Georgia, serif;
font-size: 50px;
font-weight: normal;
letter-spacing: -1px;
}
.noticia {
text-align: left;
width: 700px;
margin: 10px auto;
padding: 5px;
border: 1px solid #666666;
background: #F9F9F9;
}
.noticia h2 {
margin: 0 ;
font-family: Georgia, serif;
font-size: 30px;
letter-spacing: -1px;
font-weight: normal;
}
.noticia p {
font-family: Verdana, sans-serif;
font-size: 14px;
}
.noticia div {
font-family: Georgia, serif;
}
</style>
</head>
<body>
<h1>Estado de los servicios</h1>
<? =$contenido ?>
</body>
</html>
¿Qué te pareció este artículo?
Esta página fue modificada por última vez el 19:10, 8 feb 2008.
Esta página ha sido visitada 676 veces.
¿Qué te pareció este artículo?