| 
<?
/*
 FSM Parser demo: the simple XML parser (using LoadFSMFile).
 */
 include_once("fsmparserclass.inc.php");
 $parser=new FSMParser();
 
 //---------Functions to handle FSM events
 function BeginTag($str){
 echo "+TAG:".$str;
 }
 
 function EndTag($str){
 if(strpos($str,'/')!==false)echo " CLOSED-";
 echo "\n";
 }
 
 function ClosingTag($str){
 echo "-TAG:".trim($str,'<>/')."\n";
 }
 
 function GetSimpleAttr($str){
 echo " ".$str."=ON";
 }
 
 function GetValueAttr($str){
 $v=explode("=",$str,2);
 echo " ".$v[0]."=".$v[1];
 }
 
 //---------Programming the FSM :)
 $parser->LoadFSMFile("xmlparser_loadfsm.fsm");
 
 //---------Run the parser
 $parser->ParseFile("example.xml","CDATA");
 
 ?>
 |