16 use Psr\Http\Message\ResponseInterface;
17 use Psr\Http\Message\ServerRequestInterface;
38 public function loadReference(ServerRequestInterface $request): ResponseInterface
41 $this->
loadFile(GeneralUtility::getFileAbsFileName(
'EXT:t3editor/Resources/Private/tsref.xml'));
53 $previousValueOfEntityLoader = libxml_disable_entity_loader();
54 $this->xmlDoc = new \DOMDocument(
'1.0',
'utf-8');
55 $this->xmlDoc->loadXML(file_get_contents($filepath));
56 libxml_disable_entity_loader($previousValueOfEntityLoader);
58 $this->xmlDoc->saveXML();
68 $types = $this->xmlDoc->getElementsByTagName(
'type');
70 foreach ($types as $type) {
71 $typeId = $type->getAttribute(
'id');
72 $typeName = $type->getAttribute(
'name');
76 $properties = $type->getElementsByTagName(
'property');
78 foreach ($properties as $property) {
80 $p[
'name'] = $property->getAttribute(
'name');
81 $p[
'type'] = $property->getAttribute(
'type');
82 $propArr[$property->getAttribute(
'name')] = $p;
84 $typeArr[$typeId] = [];
85 $typeArr[$typeId][
'properties'] = $propArr;
86 $typeArr[$typeId][
'name'] = $typeName;
87 if ($type->hasAttribute(
'extends')) {
88 $typeArr[$typeId][
'extends'] = $type->getAttribute(
'extends');