35 $this->requiredPhpExtensions =
'xmlreader';
44 $this->objXml = new \XMLReader();
56 if (!(is_object($this->objXml) && get_class($this->objXml) ==
'XMLReader')) {
57 throw new \TYPO3\CMS\Extensionmanager\Exception\ExtensionManagerException(
'Unable to create XML parser.', 1342640540);
59 if ($this->objXml->open($file,
'utf-8') === FALSE) {
60 throw new \TYPO3\CMS\Extensionmanager\Exception\ExtensionManagerException(sprintf(
'Unable to open file resource %s.', htmlspecialchars($file)));
62 while ($this->objXml->read()) {
63 if ($this->objXml->nodeType == \XMLReader::ELEMENT) {
66 if ($this->objXml->nodeType == \XMLReader::END_ELEMENT) {
73 $this->objXml->close();
83 switch ($elementName) {
85 $this->extensionKey = $this->objXml->getAttribute(
'extensionkey');
88 $this->version = $this->objXml->getAttribute(
'version');
90 case 'downloadcounter':
93 if ($this->version == NULL) {
114 case 'lastuploaddate':
117 case 'uploadcomment':
129 case 'authorcompany':
132 case 'ownerusername':
148 switch ($elementName) {
171 if (!$this->objXml->isEmptyElement) {
173 while ($this->objXml->read()) {
174 if ($this->objXml->nodeType == \XMLReader::TEXT || $this->objXml->nodeType == \XMLReader::CDATA || $this->objXml->nodeType == \XMLReader::WHITESPACE || $this->objXml->nodeType == \XMLReader::SIGNIFICANT_WHITESPACE) {
175 $value .= $this->objXml->value;
177 if ($this->objXml->nodeType == \XMLReader::END_ELEMENT && $this->objXml->name === $elementName) {
getElementValue(&$elementName)
convertDependencies($dependencies)
resetProperties($resetAll=FALSE)
startElement($elementName)