Public Member Functions | Data Fields

ilSaxParser Class Reference

Inheritance diagram for ilSaxParser:

Public Member Functions

 ilSaxParser ($a_xml_file= '')
 Constructor setup ILIAS global object public.
 setXMLContent ($a_xml_content)
 getXMLContent ()
 getInputType ()
 startParsing ()
 stores xml data in array
 createParser ()
 create parser
 setOptions ($a_xml_parser)
 set parser options
 setHandlers ($a_xml_parser)
 set event handler should be overwritten by inherited class private
 openXMLFile ()
 open xml file
 parse ($a_xml_parser, $a_fp=null)
 parse xml file
 freeParser ($a_xml_parser)
 free xml parser handle

Data Fields

 $input_type = null
 $xml_content = ''
 $ilias
 $lng
 $xml_file

Detailed Description

Definition at line 36 of file class.ilSaxParser.php.


Member Function Documentation

ilSaxParser::createParser (  ) 

create parser

private

Definition at line 145 of file class.ilSaxParser.php.

Referenced by ilnetucateResponse::startParsing(), and startParsing().

        {
                $xml_parser = xml_parser_create("UTF-8");

                if($xml_parser == false)
                {
                        $this->ilias->raiseError("Cannot create an XML parser handle",$this->ilias->error_obj->FATAL);
                }
                return $xml_parser;
        }

Here is the caller graph for this function:

ilSaxParser::freeParser ( a_xml_parser  ) 

free xml parser handle

private

Definition at line 220 of file class.ilSaxParser.php.

Referenced by ilnetucateResponse::startParsing(), and startParsing().

        {
                if(!xml_parser_free($a_xml_parser))
                {
                        $this->ilias->raiseError("Error freeing xml parser handle ",$this->ilias->error_obj->FATAL);
                }
        }

Here is the caller graph for this function:

ilSaxParser::getInputType (  ) 

Definition at line 106 of file class.ilSaxParser.php.

Referenced by parse(), and startParsing().

        {
                return $this->input_type;
        }

Here is the caller graph for this function:

ilSaxParser::getXMLContent (  ) 

Definition at line 101 of file class.ilSaxParser.php.

Referenced by parse().

        {
                return $this->xml_content;
        }

Here is the caller graph for this function:

ilSaxParser::ilSaxParser ( a_xml_file = ''  ) 
ilSaxParser::openXMLFile (  ) 

open xml file

private

Definition at line 178 of file class.ilSaxParser.php.

Referenced by startParsing().

        {
                if(!($fp = fopen($this->xml_file,'r')))
                {
                        $this->ilias->raiseError("Cannot open xml file",$this->ilias->error_obj->FATAL);
                }
                return $fp;
        }

Here is the caller graph for this function:

ilSaxParser::parse ( a_xml_parser,
a_fp = null 
)

parse xml file

private

Reimplemented in ilnetucateResponse.

Definition at line 191 of file class.ilSaxParser.php.

References $data, getInputType(), and getXMLContent().

Referenced by startParsing().

        {
                switch($this->getInputType())
                {
                        case 'file':

                                while($data = fread($a_fp,4096))
                                {
                                        $parseOk = xml_parse($a_xml_parser,$data,feof($a_fp));
                                }
                                break;
                                
                        case 'string':
                                $parseOk = xml_parse($a_xml_parser,$this->getXMLContent());
                                break;
                }
                if(!$parseOk
                   && (xml_get_error_code($a_xml_parser) != XML_ERROR_NONE))
                {
                        $this->ilias->raiseError("XML Parse Error: ".xml_get_error_code($a_xml_parser),$this->ilias->error_obj->FATAL);
                }
                return true;
                                
        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilSaxParser::setHandlers ( a_xml_parser  ) 

set event handler should be overwritten by inherited class private

Reimplemented in ilQTIParser, ilCategoryImportParser, ilForumImportParser, ilGroupImportParser, ilMailImportParser, ilObjectDefinition, ilStyleDefinition, ilStyleImportParser, ilUserImportParser, ilContObjParser, ilSCORMPackageParser, ilCourseXMLParser, ilnetucateResponse, ilMDSaxParser, ilMDXMLCopier, ilMDXMLParser, ilModuleReader, ilServiceReader, ilObjectXMLParser, and ilXMLResultSetParser.

Definition at line 169 of file class.ilSaxParser.php.

Referenced by startParsing().

        {
                echo 'ilSaxParser::setHandlers() must be overwritten';
        }

Here is the caller graph for this function:

ilSaxParser::setOptions ( a_xml_parser  ) 

set parser options

private

Definition at line 160 of file class.ilSaxParser.php.

Referenced by ilnetucateResponse::startParsing(), and startParsing().

        {
                xml_parser_set_option($a_xml_parser,XML_OPTION_CASE_FOLDING,false);
        }

Here is the caller graph for this function:

ilSaxParser::setXMLContent ( a_xml_content  ) 

Definition at line 95 of file class.ilSaxParser.php.

Referenced by ilGroupImportParser::ilGroupImportParser(), ilMDXMLCopier::ilMDXMLCopier(), ilMDXMLParser::ilMDXMLParser(), ilObjectXMLParser::ilObjectXMLParser(), and ilXMLResultSetParser::ilXMLResultSetParser().

        {
                $this->xml_content = $a_xml_content;
                $this->input_type = 'string';
        }

Here is the caller graph for this function:

ilSaxParser::startParsing (  ) 

stores xml data in array

private

Reimplemented in ilQTIParser, ilCategoryImportParser, ilForumImportParser, ilGroupImportParser, ilMailImportParser, ilStyleImportParser, ilUserImportParser, ilContObjParser, ilSCORMPackageParser, and ilnetucateResponse.

Definition at line 116 of file class.ilSaxParser.php.

References createParser(), freeParser(), getInputType(), openXMLFile(), parse(), setHandlers(), and setOptions().

Referenced by ilModuleReader::getModules(), and ilServiceReader::getServices().

        {
                $xml_parser = $this->createParser();
                $this->setOptions($xml_parser);
                $this->setHandlers($xml_parser);

                switch($this->getInputType())
                {
                        case 'file':
                                $fp = $this->openXMLFile();
                                $this->parse($xml_parser,$fp);
                                break;

                        case 'string':
                                $this->parse($xml_parser);
                                break;

                        default:
                                $this->ilias->raiseError("No input type given. Set filename in constructor or choose setXMLContent()",
                                                                                 $this->ilias->error_obj->FATAL);
                                break;
                }
                $this->freeParser($xml_parser);
        }

Here is the call graph for this function:

Here is the caller graph for this function:


Field Documentation

ilSaxParser::$ilias
ilSaxParser::$input_type = null

Definition at line 45 of file class.ilSaxParser.php.

ilSaxParser::$lng
ilSaxParser::$xml_content = ''

Definition at line 53 of file class.ilSaxParser.php.

ilSaxParser::$xml_file

Definition at line 74 of file class.ilSaxParser.php.


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