parse($text); if (isset(static::$afterParse)) $xml = \call_user_func(static::$afterParse, $xml); return $xml; } public static function render($xml, array $params = []) { $renderer = static::getCachedRenderer(); if (!empty($params)) $renderer->setParameters($params); if (isset(static::$beforeRender)) $xml = \call_user_func(static::$beforeRender, $xml); $output = $renderer->render($xml); if (isset(static::$afterRender)) $output = \call_user_func(static::$afterRender, $output); return $output; } public static function reset() { static::$parser = \null; static::$renderer = \null; } public static function unparse($xml) { if (isset(static::$beforeUnparse)) $xml = \call_user_func(static::$beforeUnparse, $xml); $text = Unparser::unparse($xml); if (isset(static::$afterUnparse)) $text = \call_user_func(static::$afterUnparse, $text); return $text; } }