<?php

//Initialize the XML parser
$parser=xml_parser_create();

//Function to use at the start of an element
function start($parser,$element_name,$element_attrs) {

  global $i,$elementos;

  switch($element_name) {
//   case "RESULTS":
//     echo "-- Lista de Teoremas --<br />";
//     break; 
//   case "RESULT":
//     echo "Teorema<br/>";
//     break; 
//   case "USERNAME":
//     echo "Utilizador: ";
//     break; 
//  case "THEONAME":
//    echo "Nome do Teorema: ";
//     break; 
  case "DESCRIPTION":
    $elementos[$i] = "\begin{geothm}<br/>";
    break; 
//   case "SHORTDESCRIPTION":
//     echo "Txt: ";
//     break; 
//   case "OBSERVATIONS":
//     echo "obs: ";
//     break; 
//   case "FIGCODE":
//     echo "Figura: <pre>";
//     break; 
//   case "PROOFSCODE":
//     echo "Provas: <pre>";
//     break; 
//   case "BIBTEXENTRY":
//     echo "BibTeX: ";
//     break; 
  }
}

//Function to use at the end of an element
function stop($parser,$element_name) {

  global $i,$elementos;

  switch($element_name)    {
//   case "RESULT":
//     echo "<br/> - - - - - - - - <br/></br>";
//    break; 
//   case "USERNAME":
//     echo "<br/><br/> ";
//     break; 
//   case "THEONAME":
//     echo "<br/><br/>";
//     break; 
  case "DESCRIPTION":
    $elementos[$i].="<br/>\end{geothms}";
    $i++;
    break; 
//   case "SHORTDESCRIPTION":
//      echo "<br/><br/>";
//     break; 
//   case "OBSERVATIONS":
//      echo "<br/><br/>";
//      break; 
//   case "FIGCODE":
//      echo "</pre><br/><br/>";
//      break; 
//   case "PROOFSCODE":
//      echo "</pre><br/><br/>";
//      break; 
//   case "BIBTEXENTRY":
//      echo "<br/><br/>";
//      break; 
  }
}

//Function to use when finding character data
function char($parser,$data)  {
  global $elementos,$i;
  //  echo $data;
  $elementos[$i].=$data;
}

//Specify element handler
xml_set_element_handler($parser,"start","stop");

//Specify data handler
xml_set_character_data_handler($parser,"char");

//Open XML file
$fp=fopen("geothms.xml","r");

//Read data
$i=0;
while ($data=fread($fp,4096))  {
  xml_parse($parser,$data,feof($fp)) or 
     die (sprintf("XML Error: %s at line %d", 
		  xml_error_string(xml_get_error_code($parser)),
		  xml_get_current_line_number($parser)));
 }

echo "Elementos";
//print_r($elementos);

$aux=0;
while ($aux<=99) {
  //  print("<p>Nome Utilizador: ".$elementos[$aux]."</p>");
  //  $aux++;
  //  print("<p>Nome do Teorema: ".$elementos[$aux]."</p>");
  //  $aux++;
  print("<p>".$elementos[$aux]."</p>");
  $aux++;
  //  print("<p>Descrição Breve: ".$elementos[$aux]."</p>");
  //  $aux++;
  //  print("<p>Observações: ".$elementos[$aux]."</p>");
  //  $aux++;
  //  print("<p>Código GCLC: <pre>".$elementos[$aux]."</pre></p>");
  //  $aux++;
  //  print("<p>Código GCLCprover: <pre>".$elementos[$aux]."</pre></p>");
  //  $aux++;
  //  print("<p>Referência BiBTeX: ".$elementos[$aux]."</p>");
  //  $aux++;
 }

  

//Free the XML parser
xml_parser_free($parser);

?>