TYPO3 CMS  TYPO3_7-6
TYPO3\CMS\Fluid\Service\DocbookGenerator Class Reference
Inheritance diagram for TYPO3\CMS\Fluid\Service\DocbookGenerator:
TYPO3\CMS\Fluid\Service\AbstractGenerator TYPO3\CMS\Fluid\Compatibility\DocbookGeneratorService

Public Member Functions

 generateDocbook ($namespace)
 
- Public Member Functions inherited from TYPO3\CMS\Fluid\Service\AbstractGenerator
 __construct ()
 

Protected Member Functions

 generateXmlForClassName ($className, $namespace, \SimpleXMLElement $xmlRootNode)
 
 addArguments ($className, \SimpleXMLElement $docbookSection)
 
 instanciateViewHelper ($className)
 
 addDocumentation ($documentation, \SimpleXMLElement $docbookSection)
 
 addText ($text, \SimpleXMLElement $parentElement)
 
- Protected Member Functions inherited from TYPO3\CMS\Fluid\Service\AbstractGenerator
 getClassNamesInNamespace ($namespace)
 
 getTagNameForClass ($className, $namespace)
 
 addChildWithCData (\SimpleXMLElement $parentXmlNode, $childNodeName, $childNodeValue)
 

Private Member Functions

 addArgumentTableRow (\SimpleXMLElement $parent, $name, $type, $required, $description, $default)
 

Additional Inherited Members

- Protected Attributes inherited from TYPO3\CMS\Fluid\Service\AbstractGenerator
 $abstractViewHelperReflectionClass
 
 $docCommentParser
 
 $reflectionService
 

Detailed Description

XML Schema (XSD) Generator. Will generate an XML schema which can be used for autocompletion in schema-aware editors like Eclipse XML editor.

Definition at line 20 of file DocbookGenerator.php.

Member Function Documentation

◆ addArguments()

TYPO3\CMS\Fluid\Service\DocbookGenerator::addArguments (   $className,
\SimpleXMLElement  $docbookSection 
)
protected

Add attribute descriptions to a given tag. Initializes the view helper and its arguments, and then reads out the list of arguments.

Parameters
string$classNameClass name where to add the attribute descriptions
\SimpleXMLElement$docbookSectionDocBook section to add the attributes to.
Returns
void

Definition at line 86 of file DocbookGenerator.php.

References TYPO3\CMS\Fluid\Service\DocbookGenerator\addArgumentTableRow(), and TYPO3\CMS\Fluid\Service\DocbookGenerator\instanciateViewHelper().

Referenced by TYPO3\CMS\Fluid\Service\DocbookGenerator\generateXmlForClassName().

◆ addArgumentTableRow()

TYPO3\CMS\Fluid\Service\DocbookGenerator::addArgumentTableRow ( \SimpleXMLElement  $parent,
  $name,
  $type,
  $required,
  $description,
  $default 
)
private
Parameters
\SimpleXMLElement$parent
string$name
string$type
bool$required
string$description
string$default
Returns
void

Definition at line 125 of file DocbookGenerator.php.

Referenced by TYPO3\CMS\Fluid\Service\DocbookGenerator\addArguments().

◆ addDocumentation()

TYPO3\CMS\Fluid\Service\DocbookGenerator::addDocumentation (   $documentation,
\SimpleXMLElement  $docbookSection 
)
protected

Add documentation XSD to a given XML node

As Eclipse renders newlines only on new <xsd:documentation> tags, we wrap every line in a new <xsd:documentation> tag. Furthermore, eclipse strips out tags - the only way to prevent this is to have every line wrapped in a CDATA block AND to replace the < and > with their XML entities. (This is IMHO not XML conformant).

Parameters
string$documentationDocumentation string to add.
\SimpleXMLElement$docbookSectionNode to add the documentation to
Returns
void

Definition at line 147 of file DocbookGenerator.php.

References TYPO3\CMS\Fluid\Service\DocbookGenerator\addText().

Referenced by TYPO3\CMS\Fluid\Service\DocbookGenerator\generateXmlForClassName().

◆ addText()

TYPO3\CMS\Fluid\Service\DocbookGenerator::addText (   $text,
\SimpleXMLElement  $parentElement 
)
protected
Parameters
string$text
\SimpleXMLElement$parentElement

Definition at line 167 of file DocbookGenerator.php.

References TYPO3\CMS\Fluid\Service\AbstractGenerator\addChildWithCData().

Referenced by TYPO3\CMS\Fluid\Service\DocbookGenerator\addDocumentation().

◆ generateDocbook()

TYPO3\CMS\Fluid\Service\DocbookGenerator::generateDocbook (   $namespace)

Generate the XML Schema definition for a given namespace.

Parameters
string$namespaceNamespace identifier to generate the XSD for, without leading Backslash.
Returns
string XML Schema definition

Definition at line 28 of file DocbookGenerator.php.

References TYPO3\CMS\Fluid\Service\DocbookGenerator\generateXmlForClassName(), TYPO3\CMS\Fluid\Service\AbstractGenerator\getClassNamesInNamespace(), and TYPO3\CMS\Fluid\Fluid\NAMESPACE_SEPARATOR.

Referenced by TYPO3\CMS\Fluid\Compatibility\DocbookGeneratorService\userFunc().

◆ generateXmlForClassName()

TYPO3\CMS\Fluid\Service\DocbookGenerator::generateXmlForClassName (   $className,
  $namespace,
\SimpleXMLElement  $xmlRootNode 
)
protected

Generate the XML Schema for a given class name.

Parameters
string$classNameClass name to generate the schema for.
string$namespaceNamespace prefix. Used to split off the first parts of the class name.
\SimpleXMLElement$xmlRootNodeXML root node where the xsd:element is appended.
Returns
void

Definition at line 61 of file DocbookGenerator.php.

References TYPO3\CMS\Fluid\Service\DocbookGenerator\addArguments(), TYPO3\CMS\Fluid\Service\DocbookGenerator\addDocumentation(), and TYPO3\CMS\Fluid\Service\AbstractGenerator\getTagNameForClass().

Referenced by TYPO3\CMS\Fluid\Service\DocbookGenerator\generateDocbook().

◆ instanciateViewHelper()

TYPO3\CMS\Fluid\Service\DocbookGenerator::instanciateViewHelper (   $className)
protected

Instantiate a view helper.

Parameters
string$className
Returns
ViewHelperInterface

Definition at line 111 of file DocbookGenerator.php.

Referenced by TYPO3\CMS\Fluid\Service\DocbookGenerator\addArguments().