Main Page | Namespace List | Class Hierarchy | Class List | File List | Class Members | File Members | Related Pages

PHPTAL_XML_Parser Class Reference

Inheritance diagram for PHPTAL_XML_Parser:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 PHPTAL_XML_Parser ()
 __construct ()
 _parse ($data, $eof=true)
 parseString ($data)
 parseFile ($path)
 _onElementStart ($parser, $tag, $attributes)
 _onElementClose ($parser, $tag)
 _onElementData ($parser, $data)
 _onSpecific ($parser, $data)
 getLineNumber ()
 onElementStart ($tag, $attributes)
 onElementClose ($tag)
 onElementData ($data)
 onSpecific ($data)

Public Attributes

 $_file = '#string'
 $_tags = array()
 $_parser
 $_error
 $_xmlErrors

Detailed Description

PHPTAL internal xml parser.

Note:

I didn't use the XML/Parser package because of reference problems due to call_user_func and call_user_method.

This problem should vanished with automatic object referencing in php4.4 (ZendEngine2) remind me to remove this parser at this time.

This class uses "xml_*" php functions to parse xml data.

To create a new xml parser, extends this class and implements following methods.

Here's an exemple of xml parser implementation.

<?php require_once PT_IP . "/PHPTAL/XML_Parser.php";

class MyParser extends PHPTAL_XML_Parser { function onElementStart($tag, $attributes) { echo "new tag $tag with attributes :", endl; print_r($attributes); }

function onElementClose($tag) { echo "tag ",$tag," is closed", endl; }

function onElementData($data) { echo "some plain text : ", $data, endl; }

function onSpecific($data) { echo "non xml data maybe <?xml...?> :", $data, endl; } };

// MyParser usage : $p = new MyParser(); $p->parse( $myString );

?>

Author:
Laurent Bedubourg <laurent.bedubourg@free.fr>

Definition at line 84 of file XML_Parser.php.


Constructor & Destructor Documentation

PHPTAL_XML_Parser::PHPTAL_XML_Parser  ) 
 

XML parser constructor.

Definition at line 118 of file XML_Parser.php.

References __construct().


Member Function Documentation

PHPTAL_XML_Parser::__construct  ) 
 

XML parser php4.4 constructor.

Definition at line 126 of file XML_Parser.php.

Referenced by PHPTAL_XML_Parser().

PHPTAL_XML_Parser::_onElementClose parser,
tag
 

Definition at line 189 of file XML_Parser.php.

References _onElementClose(), and onElementClose().

Referenced by _onElementClose().

PHPTAL_XML_Parser::_onElementData parser,
data
 

Definition at line 195 of file XML_Parser.php.

References _onElementData(), data, and onElementData().

Referenced by _onElementData().

PHPTAL_XML_Parser::_onElementStart parser,
tag,
attributes
 

Definition at line 183 of file XML_Parser.php.

References _onElementStart(), and onElementStart().

Referenced by _onElementStart().

PHPTAL_XML_Parser::_onSpecific parser,
data
 

Definition at line 201 of file XML_Parser.php.

References _onSpecific(), data, and onSpecific().

Referenced by _onSpecific().

PHPTAL_XML_Parser::_parse data,
eof = true
 

Parse specified data and call parser implementation of callback methods.

Parameters:
data string Xml data to parse.

Definition at line 141 of file XML_Parser.php.

References _parse(), and data.

Referenced by _parse().

PHPTAL_XML_Parser::getLineNumber  ) 
 

Return current parser line number.

Returns:
int

Definition at line 212 of file XML_Parser.php.

Referenced by PHPTAL_Parser::onElementStart().

PHPTAL_XML_Parser::onElementClose tag  ) 
 

Abstract callback called when a tag is closed.

Parameters:
string tag Tag name

Reimplemented in PHPTAL_Parser.

Definition at line 234 of file XML_Parser.php.

References onElementClose().

Referenced by _onElementClose(), and onElementClose().

PHPTAL_XML_Parser::onElementData data  ) 
 

Abstract callback called when some #cdata is found.

Parameters:
string data Content

Reimplemented in PHPTAL_Parser.

Definition at line 241 of file XML_Parser.php.

References onElementData().

Referenced by _onElementData(), and onElementData().

PHPTAL_XML_Parser::onElementStart tag,
attributes
 

Abstract callback called when a new xml tag is opened.

Parameters:
string tag Tag name
hashtable attributes Associative array of attributes

Reimplemented in PHPTAL_Parser.

Definition at line 227 of file XML_Parser.php.

References onElementStart().

Referenced by _onElementStart(), and onElementStart().

PHPTAL_XML_Parser::onSpecific data  ) 
 

Abstract callback called when non tags entities appear in the document.

This method is called by <?xml ...?> < > and other specific things like <?php ?>.

Parameters:
string data strange data content.

Reimplemented in PHPTAL_Parser.

Definition at line 251 of file XML_Parser.php.

References onSpecific().

Referenced by _onSpecific(), and onSpecific().

PHPTAL_XML_Parser::parseFile path  ) 
 

Definition at line 166 of file XML_Parser.php.

References data, parseFile(), and path.

Referenced by parseFile().

PHPTAL_XML_Parser::parseString data  ) 
 

Definition at line 161 of file XML_Parser.php.

References data, and parseString().

Referenced by parseString().


Member Data Documentation

PHPTAL_XML_Parser::$_error
 

Definition at line 89 of file XML_Parser.php.

PHPTAL_XML_Parser::$_file = '#string'
 

Reimplemented in PHPTAL_Parser.

Definition at line 86 of file XML_Parser.php.

PHPTAL_XML_Parser::$_parser
 

Definition at line 88 of file XML_Parser.php.

PHPTAL_XML_Parser::$_tags = array()
 

Definition at line 87 of file XML_Parser.php.

PHPTAL_XML_Parser::$_xmlErrors
 

Initial value:

array( XML_ERROR_NONE => "XML_ERROR_NONE", XML_ERROR_NO_MEMORY => "XML_ERROR_NO_MEMORY", XML_ERROR_SYNTAX => "XML_ERROR_SYNTAX", XML_ERROR_NO_ELEMENTS => "XML_ERROR_NO_ELEMENTS", XML_ERROR_INVALID_TOKEN => "XML_ERROR_INVALID_TOKEN", XML_ERROR_UNCLOSED_TOKEN => "XML_ERROR_UNCLOSED_TOKEN", XML_ERROR_PARTIAL_CHAR => "XML_ERROR_PARTIAL_CHAR", XML_ERROR_TAG_MISMATCH => "XML_ERROR_TAG_MISMATCH", XML_ERROR_DUPLICATE_ATTRIBUTE => "XML_ERROR_DUPLICATE_ATTRIBUTE", XML_ERROR_JUNK_AFTER_DOC_ELEMENT => "XML_ERROR_JUNK_AFTER_DOC_ELEMENT", XML_ERROR_PARAM_ENTITY_REF => "XML_ERROR_PARAM_ENTITY_REF", XML_ERROR_UNDEFINED_ENTITY => "XML_ERROR_UNDEFINED_ENTITY", XML_ERROR_RECURSIVE_ENTITY_REF => "XML_ERROR_RECURSIVE_ENTITY_REF", XML_ERROR_ASYNC_ENTITY => "XML_ERROR_ASYNC_ENTITY", XML_ERROR_BAD_CHAR_REF => "XML_ERROR_BAD_CHAR_REF", XML_ERROR_BINARY_ENTITY_REF => "XML_ERROR_BINARY_ENTITY_REF", XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF => "XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF", XML_ERROR_MISPLACED_XML_PI => "XML_ERROR_MISPLACED_XML_PI", XML_ERROR_UNKNOWN_ENCODING => "XML_ERROR_UNKNOWN_ENCODING", XML_ERROR_INCORRECT_ENCODING => "XML_ERROR_INCORRECT_ENCODING", XML_ERROR_UNCLOSED_CDATA_SECTION => "XML_ERROR_UNCLOSED_CDATA_SECTION", XML_ERROR_EXTERNAL_ENTITY_HANDLING => "XML_ERROR_EXTERNAL_ENTITY_HANDLING", )

Definition at line 90 of file XML_Parser.php.


The documentation for this class was generated from the following file:
Generated on Tue Jun 29 23:41:01 2004 for Mediawiki by doxygen 1.3.7