/** * Generate the XML Schema for a given class name. * * @param string $className Class name to generate the schema for. * @param string $namespace Namespace prefix. Used to split off the first parts of the class name. * @param SimpleXMLElement $xmlRootNode XML root node where the xsd:element is appended. * @return void * @author Sebastian Kurfürst <*****@*****.**> */ protected function generateXmlForClassName($className, $namespace, SimpleXMLElement $xmlRootNode) { $reflectionClass = new Tx_Extbase_Reflection_ClassReflection($className); if (!$reflectionClass->isSubclassOf($this->abstractViewHelperReflectionClass)) { return; } $tagName = $this->getTagNameForClass($className, $namespace); $docbookSection = $xmlRootNode->addChild('section'); $docbookSection->addChild('title', $tagName); $this->docCommentParser->parseDocComment($reflectionClass->getDocComment()); $this->addDocumentation($this->docCommentParser->getDescription(), $docbookSection); $argumentsSection = $docbookSection->addChild('section'); $argumentsSection->addChild('title', 'Arguments'); $this->addArguments($className, $argumentsSection); return $docbookSection; }