ILIAS  trunk Revision v11.0_alpha-1713-gd8962da2f67
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
XslManager.php
Go to the documentation of this file.
1 <?php
2 
19 declare(strict_types=1);
20 
21 namespace ILIAS\COPage\Xsl;
22 
27 {
28  public function __construct()
29  {
30  }
31 
32  public function process(
33  string $xml,
34  array $params
35  ): string {
36  $xslt = new \XSLTProcessor();
37  $xsl = file_get_contents(ILIAS_ABSOLUTE_PATH . "/components/ILIAS/COPage/xsl/page.xsl");
38  $xslt_domdoc = new \DomDocument();
39  $xslt_domdoc->loadXML($xsl);
40  $xslt->importStylesheet($xslt_domdoc);
41  foreach ($params as $key => $value) {
42  $xslt->setParameter("", $key, (string) $value);
43  }
44  $xml_domdoc = new \DomDocument();
45  $xml_domdoc->loadXML($xml);
46  // show warnings again due to discussion in #12866
47  $result = $xslt->transformToXml($xml_domdoc);
48  unset($xslt);
49  return (string) $result;
50  }
51 }
if(! $DIC->user() ->getId()||!ilLTIConsumerAccess::hasCustomProviderCreationAccess()) $params
Definition: ltiregstart.php:31
process(string $xml, array $params)
Definition: XslManager.php:32