1 <?php 2 3 /** 4 * Abstract base token class that all others inherit from. 5 */ 6 abstract class HTMLPurifier_Token 7 { 8 /** 9 * Line number node was on in source document. Null if unknown. 10 * @type int 11 */ 12 public $line; 13 14 /** 15 * Column of line node was on in source document. Null if unknown. 16 * @type int 17 */ 18 public $col; 19 20 /** 21 * Lookup array of processing that this token is exempt from. 22 * Currently, valid values are "ValidateAttributes" and 23 * "MakeWellFormed_TagClosedError" 24 * @type array 25 */ 26 public $armor = array(); 27 28 /** 29 * Used during MakeWellFormed. See Note [Injector skips] 30 * @type 31 */ 32 public $skip; 33 34 /** 35 * @type 36 */ 37 public $rewind; 38 39 /** 40 * @type 41 */ 42 public $carryover; 43 44 /** 45 * @param string $n 46 * @return null|string 47 */ 48 public function __get($n) 49 { 50 if ($n === 'type') { 51 trigger_error('Deprecated type property called; use instanceof', E_USER_NOTICE); 52 switch (get_class($this)) { 53 case 'HTMLPurifier_Token_Start': 54 return 'start'; 55 case 'HTMLPurifier_Token_Empty': 56 return 'empty'; 57 case 'HTMLPurifier_Token_End': 58 return 'end'; 59 case 'HTMLPurifier_Token_Text': 60 return 'text'; 61 case 'HTMLPurifier_Token_Comment': 62 return 'comment'; 63 default: 64 return null; 65 } 66 } 67 } 68 69 /** 70 * Sets the position of the token in the source document. 71 * @param int $l 72 * @param int $c 73 */ 74 public function position($l = null, $c = null) 75 { 76 $this->line = $l; 77 $this->col = $c; 78 } 79 80 /** 81 * Convenience function for DirectLex settings line/col position. 82 * @param int $l 83 * @param int $c 84 */ 85 public function rawPosition($l, $c) 86 { 87 if ($c === -1) { 88 $l++; 89 } 90 $this->line = $l; 91 $this->col = $c; 92 } 93 94 /** 95 * Converts a token into its corresponding node. 96 */ 97 abstract public function toNode(); 98 } 99 100 // vim: et sw=4 sts=4
title
Description
Body
title
Description
Body
title
Description
Body
title
Body