protected function generateXmlForClassName($className, $viewHelperNamespace, \SimpleXMLElement $xmlRootNode)
    {
        $reflectionClass = new ClassReflection($className);
        if (!$reflectionClass->isSubclassOf($this->abstractViewHelperReflectionClass)) {
            return;
        }

        $tagName = $this->getTagNameForClass($className, $viewHelperNamespace);

        $xsdElement = $xmlRootNode->addChild('xsd:element');
        $xsdElement['name'] = $tagName;
        $this->docCommentParser->parseDocComment($reflectionClass->getDocComment());
        $this->addDocumentation($this->docCommentParser->getDescription(), $xsdElement);

        $xsdComplexType = $xsdElement->addChild('xsd:complexType');
        $xsdComplexType['mixed'] = 'true';
        $xsdSequence = $xsdComplexType->addChild('xsd:sequence');
        $xsdAny = $xsdSequence->addChild('xsd:any');
        $xsdAny['minOccurs'] = '0';
        $xsdAny['maxOccurs'] = 'unbounded';

        $this->addAttributes($className, $xsdComplexType);
    }
protected function generateXmlForClassName($className, $viewHelperNamespace, \SimpleXMLElement $xmlRootNode)
    {
        $reflectionClass = new ClassReflection($className);
        if (!$reflectionClass->isSubclassOf($this->abstractViewHelperReflectionClass)) {
            return;
        }

        $tagName = $this->getTagNameForClass($className, $viewHelperNamespace);

        $xsdElement = $xmlRootNode->addChild('xsd:element');
        $xsdElement['name'] = $tagName;
        $this->docCommentParser->parseDocComment($reflectionClass->getDocComment());
        $this->addDocumentation($this->docCommentParser->getDescription(), $xsdElement);

        $xsdComplexType = $xsdElement->addChild('xsd:complexType');
        $xsdComplexType['mixed'] = 'true';
        $xsdSequence = $xsdComplexType->addChild('xsd:sequence');
        $xsdAny = $xsdSequence->addChild('xsd:any');
        $xsdAny['minOccurs'] = '0';
        $xsdAny['maxOccurs'] = 'unbounded';

        $this->addAttributes($className, $xsdComplexType);
    }
protected function generateXmlForClassName ( $ className , $ viewHelperNamespace , \ SimpleXMLElement $ xmlRootNode ) { $ reflectionClass = new ClassReflection ( $ className ) ; if ( ! $ reflectionClass -> isSubclassOf ( $ this -> abstractViewHelperReflectionClass ) ) { return ; } $ tagName = $ this -> getTagNameForClass ( $ className , $ viewHelperNamespace ) ; $ xsdElement = $ xmlRootNode -> addChild ( 'xsd:element' ) ; $ xsdElement [ 'name' ] = $ tagName ; $ this -> docCommentParser -> parseDocComment ( $ reflectionClass -> getDocComment ( ) ) ; $ this -> addDocumentation ( $ this -> docCommentParser -> getDescription ( ) , $ xsdElement ) ; $ xsdComplexType = $ xsdElement -> addChild ( 'xsd:complexType' ) ; $ xsdComplexType [ 'mixed' ] = 'true' ; $ xsdSequence = $ xsdComplexType -> addChild ( 'xsd:sequence' ) ; $ xsdAny = $ xsdSequence -> addChild ( 'xsd:any' ) ; $ xsdAny [ 'minOccurs' ] = '0' ; $ xsdAny [ 'maxOccurs' ] = 'unbounded' ; $ this -> addAttributes ( $ className , $ xsdComplexType ) ; }
Generate the XML Schema for a given class name.

@param string $className Class name to generate the schema for.
@param string $viewHelperNamespace 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
Generate the XML Schema for a given class name .