[SPIP] ~2.1.12 -->2.1.25
[velocampus/web/www.git] / www / ecrire / xml / indenter.php
1 <?php
2
3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
5 * *
6 * Copyright (c) 2001-2014 *
7 * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
8 * *
9 * Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
10 * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
11 \***************************************************************************/
12
13 if (!defined('_ECRIRE_INC_VERSION')) return;
14
15 class IndenteurXML {
16
17 // http://doc.spip.org/@debutElement
18 function debutElement($phraseur, $name, $attrs)
19 { xml_debutElement($this, $name, $attrs);}
20
21 // http://doc.spip.org/@finElement
22 function finElement($phraseur, $name)
23 { xml_finElement($this, $name);}
24
25 // http://doc.spip.org/@textElement
26 function textElement($phraseur, $data)
27 { xml_textElement($this, $data);}
28
29 function piElement($phraseur, $target, $data)
30 { xml_PiElement($this, $target, $data);}
31
32 // http://doc.spip.org/@defautElement
33 function defaultElement($phraseur, $data)
34 { xml_defaultElement($this, $data);}
35
36 // http://doc.spip.org/@phraserTout
37 function phraserTout($phraseur, $data)
38 {
39 xml_parsestring($this, $data);
40 }
41
42 var $depth = "";
43 var $res = "";
44 var $err = array();
45 var $contenu = array();
46 var $ouvrant = array();
47 var $reperes = array();
48 var $entete = '';
49 var $page = '';
50 var $dtc = NULL;
51 var $sax = NULL;
52 }
53
54 // http://doc.spip.org/@xml_indenter_dist
55 function xml_indenter_dist($page, $apply=false)
56 {
57 $sax = charger_fonction('sax', 'xml');
58 $f = new IndenteurXML();
59 $sax($page, $apply, $f);
60 if (!$f->err) return $f->entete . $f->res;
61 spip_log("indentation impossible " . count($f->err) . " erreurs de validation");
62 return $f->entete . $f->page;
63 }
64
65 ?>