Merge branch '43822-25-fixonly' of git://github.com/samhemelryk/moodle into MOODLE_25...
[moodle.git] / backup / cc / cc_lib / cc_general.php
blobc264d7ffe0552d56801c4bffe209f2f9429edc33
1 <?php
2 // This file is part of Moodle - http://moodle.org/
3 //
4 // Moodle is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation, either version 3 of the License, or
7 // (at your option) any later version.
8 //
9 // Moodle is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
14 // You should have received a copy of the GNU General Public License
15 // along with Moodle. If not, see <http://www.gnu.org/licenses/>.
16 /**
17 * @package backup-convert
18 * @subpackage cc-library
19 * @copyright 2011 Darko Miletic <dmiletic@moodlerooms.com>
20 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
23 require_once 'gral_lib/cssparser.php';
24 require_once 'xmlbase.php';
26 class general_cc_file extends XMLGenericDocument {
27 /**
29 * Root element
30 * @var DOMElement
32 protected $root = null;
33 protected $rootns = null;
34 protected $rootname = null;
35 protected $ccnamespaces = array();
36 protected $ccnsnames = array();
38 public function __construct() {
39 parent::__construct();
41 foreach ($this->ccnamespaces as $key => $value){
42 $this->registerNS($key,$value);
47 protected function on_create() {
48 $rootel = $this->append_new_element_ns($this->doc,
49 $this->ccnamespaces[$this->rootns],
50 $this->rootname);
51 //add all namespaces
52 foreach ($this->ccnamespaces as $key => $value) {
53 $dummy_attr = "{$key}:dummy";
54 $this->doc->createAttributeNS($value,$dummy_attr);
57 // add location of schemas
58 $schemaLocation='';
59 foreach ($this->ccnsnames as $key => $value) {
60 $vt = empty($schemaLocation) ? '' : ' ';
61 $schemaLocation .= $vt.$this->ccnamespaces[$key].' '.$value;
64 if (!empty($schemaLocation) && isset($this->ccnamespaces['xsi'])) {
65 $this->append_new_attribute_ns($rootel,
66 $this->ccnamespaces['xsi'],
67 'xsi:schemaLocation',
68 $schemaLocation);
71 $this->root = $rootel;