You are here

class XML in Forena Reports 8

XML Document

Provide the report content as XML. Only contents of the body will be imported.

Plugin annotation


@FrxDocument(
  id= "xml",
  name="XML Document",
  ext="xml"
)

Hierarchy

Expanded class hierarchy of XML

1 file declares its use of XML
FrxSection.php in src/FrxPlugin/Template/FrxSection.php

File

src/FrxPlugin/Document/XML.php, line 23
HTML Straight XML document with no wrapping theme. @author davidmetzler

Namespace

Drupal\forena\FrxPlugin\Document
View source
class XML extends DocumentBase {
  use FrxAPI;
  public $root_tag = 'div';
  public $root_attributes = array();
  public function __construct() {
    $this->allowDirectOutput = FALSE;
    $this->content_type = 'application/xml';
    $skin = $this
      ->getDataContext('skin');
    if (isset($skin['XML']['rootElementName'])) {
      $this->root_tag = $skin['XML']['rootElementName'];
      if ($this->root_tag == 'none') {
        $this->root_tag = '';
      }
    }
    if (isset($skin['XML']['rootElementAttributes'])) {
      if (is_array($skin['XML']['rootElementAttributes'])) {
        $this->root_attributes = $skin['XML']['rootElementAttributes'];
      }
    }
  }
  public function header() {
    parent::header();
    $text = '<?xml version="1.0"?>' . "\n";
    $this
      ->write($text);
    $opening_tag = $this
      ->_build_opening_root_tag_contents();
    if ($this->root_tag) {
      $opening_tag = "<{$opening_tag}>\n";
      $this
        ->write($opening_tag);
    }
  }
  public function footer() {
    if ($this->root_tag) {
      $ending_tag = $this->root_tag;
      $ending_tag = "</{$ending_tag}>";
      $this
        ->write($ending_tag);
    }
  }
  private function _build_opening_root_tag_contents() {
    $tag_contents = $this->root_tag;
    if (isset($this->root_attributes) && is_array($this->root_attributes)) {
      foreach ($this->root_attributes as $attr_key => $attr_val) {
        if (!empty($attr_key) && (string) $attr_val !== '') {
          $attr_val = addslashes($attr_val);
          $tag_contents .= " " . $attr_key . "=" . "'{$attr_val}'";
        }
      }
    }
    return $tag_contents;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
DocumentBase::$buffer public property
DocumentBase::$charset public property
DocumentBase::$commands protected property
DocumentBase::$content_type public property
DocumentBase::$filename protected property
DocumentBase::$file_name public property
DocumentBase::$format public property
DocumentBase::$headers public property
DocumentBase::$libraries public property
DocumentBase::$parameters_form public property
DocumentBase::$skin protected property
DocumentBase::$skin_name protected property
DocumentBase::$title public property
DocumentBase::$write_buffer protected property
DocumentBase::addAjaxCommand public function
DocumentBase::check_markup public function Wrapper function for check output to default the right type.
DocumentBase::clear public function Clear the buffer Overrides DocumentInterface::clear
DocumentBase::convertCharset public function Perform character set conversion
DocumentBase::flush public function Write the output to disk. Overrides DocumentInterface::flush 9
DocumentBase::getAjaxCommands public function
DocumentBase::setFilename public function Overrides DocumentInterface::setFilename
DocumentBase::setSkin public function Overrides DocumentInterface::setSkin
DocumentBase::write public function Write Overrides DocumentInterface::write
FrxAPI::app public function Returns containing application service
FrxAPI::currentDataContext public function Get the current data context.
FrxAPI::currentDataContextArray public function
FrxAPI::dataManager public function Returns the data manager service
FrxAPI::dataService public function Return Data Service
FrxAPI::documentManager public function Returns the fornea document manager
FrxAPI::error public function Report an error
FrxAPI::getDataContext public function Get the context of a specific id.
FrxAPI::getDocument public function Get the current document
FrxAPI::getReportFileContents public function Load the contents of a file in the report file system.
FrxAPI::innerXML function Enter description here... 1
FrxAPI::popData public function Pop data off of the stack.
FrxAPI::pushData public function Push data onto the Stack
FrxAPI::report public function Run a report with a particular format. 1
FrxAPI::reportFileSystem public function Get the current report file system.
FrxAPI::setDataContext public function Set Data context by id.
FrxAPI::setDocument public function Change to a specific document type.
FrxAPI::skins public function Get list of skins.
XML::$root_attributes public property
XML::$root_tag public property
XML::footer public function No default footer. Overrides DocumentBase::footer
XML::header public function Default implementation to put in content type based headers. Overrides DocumentBase::header
XML::_build_opening_root_tag_contents private function
XML::__construct public function