| 
<?php
 /**
 * @author Dick Munroe <[email protected]>
 * @copyright copyright @ 2006 by Dick Munroe, Cottage Software Works, Inc.
 * @license http://www.csworks.com/publications/ModifiedNetBSD.html
 * @version 1.0.0
 * @package saxyRE
 * @example ./example-backup.php
 * @example ./example-restore.php
 *
 * Quick and dirty XPATH like processing using regular expressions.
 *
 * To see thing in action execute:
 *
 *     php example.php < example.xml > foo.html
 *
 * The GlobalValues nodes are stripped out.
 *
 * Edit History:
 *
 *  Dick Munroe ([email protected]) 19-Apr-2006
 *      Initial Version Created.
 */
 include_once('class.saxyRE.php') ;
 
 class testSaxyRE
 {
 var $m_outputFile ;
 var $m_parser ;
 
 function testSaxyRE(
 $theInputFile = 'php://stdin',
 $theOutputFile = 'php://stdout')
 {
 $theFileContents = file_get_contents($theInputFile) ;
 $this->m_outputFile = fopen($theOutputFile, 'w') ;
 
 $this->m_parser =
 new saxyRe() ;
 
 /*
 * Remove anything with GlobalValues in the path from parsing.
 */
 
 $theRE =
 new saxyREArgumentBlock(
 '/GlobalValues/') ;
 
 $this->m_parser->addRE($theRE) ;
 
 $theRE =
 new saxyREArgumentBlock(
 '|^/|',
 array(&$this, 'start'),
 array(&$this, 'data'),
 array(&$this, 'end')) ;
 
 $this->m_parser->addRE($theRE) ;
 
 $this->m_parser->parse($theFileContents) ;
 
 fclose($this->m_outputFile) ;
 }
 
 function start($theParser, $theName, $theAttributes)
 {
 fwrite($this->m_outputFile, "<br /><b>Open tag:</b> " . $theName  . "<br /><b>Attributes:</b> " . print_r($theAttributes, true)  . "<br />");
 }
 
 function data($theParser, $theText)
 {
 fwrite($this->m_outputFile, "<br /><b>Text node:</b> " . $theText  . "<br />");
 }
 
 function end($theParser, $theName)
 {
 fwrite($this->m_outputFile, "<br /><b>Close tag:</b> " . $theName  . "<br />");
 }
 }
 
 $theParser = new testSaxyRE() ;
 ?>
 
 |