ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
XML2DOM Class Reference
+ Collaboration diagram for XML2DOM:

Public Member Functions

 __construct ($a_xml)
 
 clean (&$attr)
 
 startElement ($a_parser, $a_name, $a_attrs)
 
 endElement ($a_parser, $a_name)
 
 characterData ($a_parser, $a_data)
 
 insertNode (&$dom, &$node)
 

Detailed Description

Definition at line 85 of file class.ilXML2DOM.php.

Constructor & Destructor Documentation

◆ __construct()

XML2DOM::__construct (   $a_xml)

Definition at line 87 of file class.ilXML2DOM.php.

88  {
89  $xml_parser = xml_parser_create("UTF-8");
90  xml_parser_set_option($xml_parser, XML_OPTION_CASE_FOLDING, false);
91  xml_set_object($xml_parser, $this);
92  xml_set_element_handler($xml_parser, "startElement", "endElement");
93  xml_set_character_data_handler($xml_parser, "characterData");
94 
95  if (!xml_parse($xml_parser, $a_xml, true)) {
96  die(sprintf(
97  "XML error: %s at line %d",
98  xml_error_string(xml_get_error_code($xml_parser)),
99  xml_get_current_line_number($xml_parser)
100  ));
101  }
102  xml_parser_free($xml_parser);
103  }

Member Function Documentation

◆ characterData()

XML2DOM::characterData (   $a_parser,
  $a_data 
)

Definition at line 137 of file class.ilXML2DOM.php.

References $GLOBALS.

138  {
139  $a_data = preg_replace("/&/", "&", $a_data);
140 
141  $GLOBALS["lastObj"]->setContent($a_data);
142  }
$GLOBALS['JPEG_Segment_Names']
Global Variable: XMP_tag_captions.

◆ clean()

XML2DOM::clean ( $attr)

Definition at line 105 of file class.ilXML2DOM.php.

References $key.

106  {
107  if (is_array($attr)) {
108  foreach ($attr as $key => $value) {
109  $attr[$key] = preg_replace("/&(?!amp;|lt;|gt;|quot;)/", "&", $attr[$key]);
110  $attr[$key] = preg_replace("/\"/", """, $attr[$key]);
111  $attr[$key] = preg_replace("/</", "&lt;", $attr[$key]);
112  $attr[$key] = preg_replace("/>/", "&gt;", $attr[$key]);
113  }
114  }
115  return $attr;
116  }
$key
Definition: croninfo.php:18

◆ endElement()

XML2DOM::endElement (   $a_parser,
  $a_name 
)

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

References $GLOBALS.

133  {
134  $GLOBALS["lastObj"]->setParent();
135  }
$GLOBALS['JPEG_Segment_Names']
Global Variable: XMP_tag_captions.

◆ insertNode()

XML2DOM::insertNode ( $dom,
$node 
)

Definition at line 144 of file class.ilXML2DOM.php.

145  {
146  $node = $this->xmlStruct->insert($dom, $node);
147  }

◆ startElement()

XML2DOM::startElement (   $a_parser,
  $a_name,
  $a_attrs 
)

Definition at line 119 of file class.ilXML2DOM.php.

References $GLOBALS, and clean().

120  {
121  if (!is_object($this->xmlStruct)) {
122  #vd($a_attrs);
123  $this->xmlStruct = new XMLStruct($a_name, $a_attrs);
124  $GLOBALS["lastObj"] = &$this->xmlStruct;
125  } else {
126  $a_attrs = $this->clean($a_attrs);
127  #var_dump("<pre>",++$counter," ",$a_name," -> ",$a_attrs,"<pre>");
128  $GLOBALS["lastObj"]->append($a_name, $a_attrs);
129  }
130  }
clean(&$attr)
Class for creating an object (new node) by parsing XML code and adding it to an existing DOM object...
$GLOBALS['JPEG_Segment_Names']
Global Variable: XMP_tag_captions.
+ Here is the call graph for this function:

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