Moodle APIs  3.8
Moodle 3.8.6 (Build: 20201109)
Public Member Functions | Protected Attributes | List of all members
progressive_parser_processor Class Reference

This abstract class implements one progressive_parser_processor. More...

Inheritance diagram for progressive_parser_processor:
findpaths_parser_processor null_parser_processor selective_exact_parser_processor selective_like_parser_processor simple_parser_processor simplified_parser_processor grouped_parser_processor moodle1_parser_processor restore_inforef_parser_processor restore_moodlexml_parser_processor restore_questions_parser_processor restore_roles_parser_processor restore_structure_parser_processor restore_users_parser_processor

Public Member Functions

 after_path ($path)
 The parser fires this each time one path has been parsed.
 
 before_path ($path)
 The parser fires this each time one path is going to be parsed.
 
 debug_info ()
 
 process_cdata ($cdata)
 Perform custom transformations in the processed cdata.
 
 process_chunk ($data)
 Receive one chunk of information from the parser.
 
 receive_chunk ($data)
 

Protected Attributes

 $chunks
 
 $inittime
 

Detailed Description

This abstract class implements one progressive_parser_processor.

Processor that will receive chunks of data from the @progressive_parser and will perform all sort of operations with them (join, split, invoke other methods, output, whatever...

You will need to extend this class to get the expected functionality by implementing the @process_chunk() method to handle different chunks of information and, optionally, the @process_cdata() to process each cdata piece individually before being "published" to the chunk processor.

The "propietary array format" that the parser publishes to the @progressive_parser_procesor is this: array ( 'path' => path where the tags belong to, 'level'=> level (1-based) of the tags 'tags => array ( 'name' => name of the tag, 'attrs'=> array( name of the attr => value of the attr), 'cdata => cdata of the tag ) )

TODO: Finish phpdocs


The documentation for this class was generated from the following file: