1c3437056SNickeau<?php 2c3437056SNickeau 3c3437056SNickeau 4c3437056SNickeau 5*4cadd4f8SNickeaurequire_once(__DIR__ . '/../ComboStrap/PluginUtility.php'); 6c3437056SNickeau 7c3437056SNickeau/** 8c3437056SNickeau * A rendering in XML 9c3437056SNickeau */ 10c3437056SNickeauclass renderer_plugin_combo_xml extends Doku_Renderer_xhtml 11c3437056SNickeau{ 12c3437056SNickeau 13c3437056SNickeau const FORMAT = "xml"; 14c3437056SNickeau 15c3437056SNickeau /** 16c3437056SNickeau * The last two words of the class 17c3437056SNickeau */ 18c3437056SNickeau const MODE = 'combo_'.self::FORMAT; 19c3437056SNickeau 20c3437056SNickeau 21c3437056SNickeau function getFormat(): string 22c3437056SNickeau { 23c3437056SNickeau return self::FORMAT; 24c3437056SNickeau } 25c3437056SNickeau 26c3437056SNickeau /* 27c3437056SNickeau * Function that enable to list the plugin in the options for config:renderer_xhtml 28c3437056SNickeau * http://www.dokuwiki.org/config:renderer_xhtml 29c3437056SNickeau * setting in its Configuration Manager. 30c3437056SNickeau */ 31c3437056SNickeau public function canRender($format) 32c3437056SNickeau { 33c3437056SNickeau return ($format == 'xml'); 34c3437056SNickeau } 35c3437056SNickeau 36c3437056SNickeau 37c3437056SNickeau /** 38c3437056SNickeau * Render a heading 39c3437056SNickeau * 40c3437056SNickeau * 41c3437056SNickeau * @param string $text the text to display 42c3437056SNickeau * @param int $level header level 43c3437056SNickeau * @param int $pos byte position in the original source 44c3437056SNickeau */ 45c3437056SNickeau function header($text, $level, $pos) 46c3437056SNickeau { 47c3437056SNickeau 48c3437056SNickeau $this->doc .= "<h$level>$text</h$level>"; 49c3437056SNickeau 50c3437056SNickeau } 51c3437056SNickeau 52c3437056SNickeau /** 53c3437056SNickeau * This are edit zone section (not HTML/Outline Section) 54c3437056SNickeau * @param int $level 55c3437056SNickeau */ 56c3437056SNickeau public function section_open($level) 57c3437056SNickeau { 58c3437056SNickeau $this->doc .= ""; 59c3437056SNickeau } 60c3437056SNickeau 61c3437056SNickeau public function section_close() 62c3437056SNickeau { 63c3437056SNickeau $this->doc .= ""; 64c3437056SNickeau } 65c3437056SNickeau 66c3437056SNickeau 67c3437056SNickeau public function document_start() 68c3437056SNickeau { 69c3437056SNickeau $this->doc .= '<?xml version="1.0" encoding="UTF-8" standalone="no" ?>'; 70c3437056SNickeau $this->doc .= "<document>"; 71c3437056SNickeau } 72c3437056SNickeau 73c3437056SNickeau public function multiplyentity($x, $y): string 74c3437056SNickeau { 75c3437056SNickeau return "$x x $y"; 76c3437056SNickeau } 77c3437056SNickeau 78c3437056SNickeau 79c3437056SNickeau function document_end() 80c3437056SNickeau { 81c3437056SNickeau 82c3437056SNickeau $this->doc .= "</document>"; 83c3437056SNickeau 84c3437056SNickeau /** 85c3437056SNickeau * The result can be seen with 86c3437056SNickeau * doku.php?id=somepage&do=export_combo_xml 87c3437056SNickeau * 88c3437056SNickeau * Set the header temporarily for the export.php file 89c3437056SNickeau * 90c3437056SNickeau * The mode in the export is 91c3437056SNickeau */ 92c3437056SNickeau $mode = "combo_" . $this->getPluginComponent(); 93c3437056SNickeau global $ID; 94c3437056SNickeau p_set_metadata( 95c3437056SNickeau $ID, 96c3437056SNickeau array("format" => array($mode => array("Content-Type" => 'application/xml'))), 97c3437056SNickeau false, 98c3437056SNickeau true // Persistence is needed because there is a cache 99c3437056SNickeau ); 100c3437056SNickeau 101c3437056SNickeau } 102c3437056SNickeau 103c3437056SNickeau 104c3437056SNickeau /** 105c3437056SNickeau * https://getbootstrap.com/docs/4.4/content/typography/#inline-text-elements 106c3437056SNickeau */ 107c3437056SNickeau public 108c3437056SNickeau function monospace_open() 109c3437056SNickeau { 110c3437056SNickeau $this->doc .= '<mark>'; 111c3437056SNickeau } 112c3437056SNickeau 113c3437056SNickeau public 114c3437056SNickeau function monospace_close() 115c3437056SNickeau { 116c3437056SNickeau $this->doc .= '</mark>'; 117c3437056SNickeau } 118c3437056SNickeau 119c3437056SNickeau 120c3437056SNickeau} 121