* @version 0.0.0 * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2022 Core Developer Team * @license GNU GPL 3.0 or any newer version * @link http://www.shipsimu.org * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ interface CompileableXmlTemplate extends CompileableTemplate { /** * Renders the given XML content * * @param $content Valid XML content or if not set the current loaded raw content * @return void * @throws XmlParserException If an XML error was found */ function renderXmlContent (string $content = NULL); /** * Enables or disables XML compacting * * @param $xmlCompacting New XML compacting setting * @return void */ function enableXmlCompacting (bool $xmlCompacting = true); /** * Checks whether XML compacting is enabled * * @return $xmlCompacting Whether XML compacting is enabled or disabled */ function isXmlCompactingEnabled (); /** * Removes all comments, tabs and new-line charcters to compact the content * * @param $uncompactedContent The uncompacted content * @return $compactedContent The compacted content */ function compactContent (string $uncompactedContent); }