generateBaseHelpDom($command); $dom = $this->alterHelpDocument($command, $dom); $this->command = $command; $this->dom = $dom; } /** * Convert data into a \DomDocument. * * @return \DomDocument */ public function getDomData() { return $this->dom; } /** * Create the base help DOM prior to alteration by the Command object. * @param Command $command * @return \DomDocument */ protected function generateBaseHelpDom(Command $command) { // Use Symfony to generate xml text. If other formats are // requested, convert from xml to the desired form. $descriptor = new XmlDescriptor(); return $descriptor->getCommandDocument($command); } /** * Alter the DOM document per the command object * @param Command $command * @param \DomDocument $dom * @return \DomDocument */ protected function alterHelpDocument(Command $command, \DomDocument $dom) { if ($command instanceof HelpDocumentAlter) { $dom = $command->helpAlter($dom); } return $dom; } }