You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
100 lines
2.2 KiB
100 lines
2.2 KiB
<?php |
|
|
|
/** |
|
* Abstract base token class that all others inherit from. |
|
*/ |
|
abstract class HTMLPurifier_Token |
|
{ |
|
/** |
|
* Line number node was on in source document. Null if unknown. |
|
* @type int |
|
*/ |
|
public $line; |
|
|
|
/** |
|
* Column of line node was on in source document. Null if unknown. |
|
* @type int |
|
*/ |
|
public $col; |
|
|
|
/** |
|
* Lookup array of processing that this token is exempt from. |
|
* Currently, valid values are "ValidateAttributes" and |
|
* "MakeWellFormed_TagClosedError" |
|
* @type array |
|
*/ |
|
public $armor = array(); |
|
|
|
/** |
|
* Used during MakeWellFormed. See Note [Injector skips] |
|
* @type |
|
*/ |
|
public $skip; |
|
|
|
/** |
|
* @type |
|
*/ |
|
public $rewind; |
|
|
|
/** |
|
* @type |
|
*/ |
|
public $carryover; |
|
|
|
/** |
|
* @param string $n |
|
* @return null|string |
|
*/ |
|
public function __get($n) |
|
{ |
|
if ($n === 'type') { |
|
trigger_error('Deprecated type property called; use instanceof', E_USER_NOTICE); |
|
switch (get_class($this)) { |
|
case 'HTMLPurifier_Token_Start': |
|
return 'start'; |
|
case 'HTMLPurifier_Token_Empty': |
|
return 'empty'; |
|
case 'HTMLPurifier_Token_End': |
|
return 'end'; |
|
case 'HTMLPurifier_Token_Text': |
|
return 'text'; |
|
case 'HTMLPurifier_Token_Comment': |
|
return 'comment'; |
|
default: |
|
return null; |
|
} |
|
} |
|
} |
|
|
|
/** |
|
* Sets the position of the token in the source document. |
|
* @param int $l |
|
* @param int $c |
|
*/ |
|
public function position($l = null, $c = null) |
|
{ |
|
$this->line = $l; |
|
$this->col = $c; |
|
} |
|
|
|
/** |
|
* Convenience function for DirectLex settings line/col position. |
|
* @param int $l |
|
* @param int $c |
|
*/ |
|
public function rawPosition($l, $c) |
|
{ |
|
if ($c === -1) { |
|
$l++; |
|
} |
|
$this->line = $l; |
|
$this->col = $c; |
|
} |
|
|
|
/** |
|
* Converts a token into its corresponding node. |
|
*/ |
|
abstract public function toNode(); |
|
} |
|
|
|
// vim: et sw=4 sts=4
|
|
|