public function getAllKnown() { $allDoctypes = array(); foreach ($this->knownMatrix as $category => $instances) { foreach ($instances as $instance) { $parentCategory = $category; $key = $parentCategory . '-' . str_replace('.', '', $instance['version']); $module = null; $generator = new Generator(); if ($this->multiline === true) { $generator->multiline(); } if ($this->noUri === true) { $generator->noUri(); } if ($this->lowercasePrefix === true) { $generator->lowercasePrefix(); } if ($this->lowercaseFpi === true) { $generator->lowercaseFpi(); } if ($this->uppercaseFpi === true) { $generator->uppercaseFpi(); } if ($this->isModuleCategory($parentCategory)) { $module = $this->getModuleFromCategory($parentCategory); $parentCategory = $this->getParentCategoryFromModuleCategory($parentCategory); } $generator->{$parentCategory}(); $generator->version($instance['version']); if (!is_null($module)) { $generator->module($module); } if (isset($instance['variant'])) { $key .= '-' . $instance['variant']; $generator->variant($instance['variant']); } if (isset($instance['moduleVersion'])) { $key .= '-' . str_replace('.', '', $instance['moduleVersion']); $generator->moduleVersion($instance['moduleVersion']); } $allDoctypes[$key] = $generator->generate(); } } return $allDoctypes; }