<?php
/**
* @author Dick Munroe <munroe@csworks.com>
* @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 (munroe@csworks.com) 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() ;
?>
|