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() |
Definition at line 36 of file class.ilMDXMLCopier.php.
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);
}
ilMDXMLCopier::__setFilter | ( | ) |
Definition at line 123 of file class.ilMDXMLCopier.php.
Referenced by ilMDXMLCopier().
{
$this->filter[] = 'Identifier';
}
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; }
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; }
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(); }
ilMDXMLCopier::setHandlers | ( | $ | a_xml_parser | ) |
set event handlers
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'); }
ilMDXMLCopier::$filter = array() |
Definition at line 38 of file class.ilMDXMLCopier.php.