34 include_once
'Services/MetaData/classes/class.ilMDSaxParser.php';
35 include_once
'Services/MetaData/classes/class.ilMD.php';
41 public function __construct($content, $a_rbac_id, $a_obj_id, $a_obj_type)
56 $clone_md->deleteAll();
60 $clone_md->getRBACId(),
61 $clone_md->getObjId(),
62 $clone_md->getObjType(),
64 $identifier->
setEntry(
'il__' . $clone_md->getObjType() .
'_' . $clone_md->getObjId());
65 $identifier->update();
67 parent::startParsing();
72 xml_set_object($a_xml_parser, $this);
73 xml_set_element_handler($a_xml_parser,
'handlerBeginTag',
'handlerEndTag');
74 xml_set_character_data_handler($a_xml_parser,
'handlerCharacterData');
79 if ($this->in_meta_data and !$this->
__inFilter($a_name)) {
80 parent::handlerBeginTag($a_xml_parser, $a_name, $a_attribs);
87 $this->in_meta_data =
true;
88 parent::handlerBeginTag($a_xml_parser, $a_name, $a_attribs);
93 $this->md_ide = &$par->addIdentifier();
94 $this->md_ide->setCatalog($a_attribs[
'Catalog']);
95 $this->md_ide->setEntry(
'il__' . $this->md->getObjType() .
'_' . $this->md->getObjId());
96 $this->md_ide->save();
104 if ($this->in_meta_data and !$this->
__inFilter($a_name)) {
105 parent::handlerEndTag($a_xml_parser, $a_name);
117 $this->in_meta_data =
false;
118 parent::handlerEndTag($a_xml_parser, $a_name);
126 if ($this->in_meta_data) {
127 parent::handlerCharacterData($a_xml_parser, $a_data);
138 $this->
filter[] =
'Identifier';
147 return in_array($a_tag_name, $this->
filter);
handlerBeginTag($a_xml_parser, $a_name, $a_attribs)
handlerEndTag($a_xml_parser, $a_name)
handlerCharacterData($a_xml_parser, $a_data)
__construct($content, $a_rbac_id, $a_obj_id, $a_obj_type)
__construct(Container $dic, ilPlugin $plugin)
setXMLContent($a_xml_content)
setHandlers($a_xml_parser)