Public Member Functions | Data Fields

ilMDXMLCopier Class Reference

Inheritance diagram for ilMDXMLCopier:
Collaboration diagram for ilMDXMLCopier:

Public Member Functions

 ilMDXMLCopier ($content, $a_rbac_id, $a_obj_id, $a_obj_type)
 setHandlers ($a_xml_parser)
 set event handlers
 handlerBeginTag ($a_xml_parser, $a_name, $a_attribs)
 handler for begin of element
 handlerEndTag ($a_xml_parser, $a_name)
 handler for end of element
 handlerCharacterData ($a_xml_parser, $a_data)
 handler for character data
 __setFilter ()
 __inFilter ($a_tag_name)

Data Fields

 $filter = array()

Detailed Description

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


Member Function Documentation

ilMDXMLCopier::__inFilter ( a_tag_name  ) 

Definition at line 132 of file class.ilMDXMLCopier.php.

Referenced by handlerBeginTag(), and handlerEndTag().

        {
                return in_array($a_tag_name,$this->filter);
        }

Here is the caller graph for this function:

ilMDXMLCopier::__setFilter (  ) 

Definition at line 123 of file class.ilMDXMLCopier.php.

Referenced by ilMDXMLCopier().

        {
                $this->filter[] = 'Identifier';
        }

Here is the caller graph for this function:

ilMDXMLCopier::handlerBeginTag ( a_xml_parser,
a_name,
a_attribs 
)

handler for begin of element

Reimplemented from ilMDSaxParser.

Definition at line 59 of file class.ilMDXMLCopier.php.

References ilMDSaxParser::__getParent(), __inFilter(), and ilMDSaxParser::__pushParent().

        {
                if($this->in_meta_data and !$this->__inFilter($a_name))
                {
                        parent::handlerBeginTag($a_xml_parser,$a_name,$a_attribs);
                        return true;
                }
                        

                switch($a_name)
                {
                        case 'MetaData':
                                $this->in_meta_data = true;
                                parent::handlerBeginTag($a_xml_parser,$a_name,$a_attribs);
                                break;

                        case 'Identifier':
                                $par =& $this->__getParent();
                                $this->md_ide =& $par->addIdentifier();
                                $this->md_ide->setCatalog($a_attribs['Catalog']);
                                $this->md_ide->setEntry('il__'.$this->md->getObjType().'_'.$this->md->getObjId());
                                $this->md_ide->save();
                                $this->__pushParent($this->md_ide);
                                break;
                }
                return true;
        }

Here is the call graph for this function:

ilMDXMLCopier::handlerCharacterData ( a_xml_parser,
a_data 
)

handler for character data

Reimplemented from ilMDSaxParser.

Definition at line 110 of file class.ilMDXMLCopier.php.

        {
                if($this->in_meta_data)
                {
                        parent::handlerCharacterData($a_xml_parser,$a_data);
                        return true;
                }
        }

ilMDXMLCopier::handlerEndTag ( a_xml_parser,
a_name 
)

handler for end of element

Reimplemented from ilMDSaxParser.

Definition at line 86 of file class.ilMDXMLCopier.php.

References ilMDSaxParser::__getParent(), __inFilter(), and ilMDSaxParser::__popParent().

        {
                if($this->in_meta_data  and !$this->__inFilter($a_name))
                {
                        parent::handlerEndTag($a_xml_parser,$a_name);
                        return true;
                }
                switch($a_name)
                {
                        case 'Identifier':
                                $par =& $this->__getParent();
                                $par->update();
                                $this->__popParent();
                                break;
                                

                        case 'MetaData':
                                $this->in_meta_data = false;
                                parent::handlerEndTag($a_xml_parser,$a_name);
                                break;
                }
                return true;
        }

Here is the call graph for this function:

ilMDXMLCopier::ilMDXMLCopier ( content,
a_rbac_id,
a_obj_id,
a_obj_type 
)

Definition at line 40 of file class.ilMDXMLCopier.php.

References __setFilter(), ilMDSaxParser::ilMDSaxParser(), ilMDSaxParser::setMDObject(), and ilSaxParser::setXMLContent().

        {

                $this->setMDObject(new ilMD($a_rbac_id,$a_obj_id,$a_obj_type));

                parent::ilMDSaxParser();
                $this->setXMLContent($content);

                // set filter of tags which are handled in this class
                $this->__setFilter();

        }

Here is the call graph for this function:

ilMDXMLCopier::setHandlers ( a_xml_parser  ) 

set event handlers

Parameters:
resource reference to the xml parser private

Reimplemented from ilMDSaxParser.

Definition at line 52 of file class.ilMDXMLCopier.php.

        {
                xml_set_object($a_xml_parser,$this);
                xml_set_element_handler($a_xml_parser,'handlerBeginTag','handlerEndTag');
                xml_set_character_data_handler($a_xml_parser,'handlerCharacterData');
        }


Field Documentation

ilMDXMLCopier::$filter = array()

Definition at line 38 of file class.ilMDXMLCopier.php.


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