1<?php 2 3/** 4 * Abstract base node class that all others inherit from. 5 * 6 * Why do we not use the DOM extension? (1) It is not always available, 7 * (2) it has funny constraints on the data it can represent, 8 * whereas we want a maximally flexible representation, and (3) its 9 * interface is a bit cumbersome. 10 */ 11abstract class HTMLPurifier_Node 12{ 13 /** 14 * Line number of the start token in the source document 15 * @type int 16 */ 17 public $line; 18 19 /** 20 * Column number of the start token in the source document. Null if unknown. 21 * @type int 22 */ 23 public $col; 24 25 /** 26 * Lookup array of processing that this token is exempt from. 27 * Currently, valid values are "ValidateAttributes". 28 * @type array 29 */ 30 public $armor = array(); 31 32 /** 33 * When true, this node should be ignored as non-existent. 34 * 35 * Who is responsible for ignoring dead nodes? FixNesting is 36 * responsible for removing them before passing on to child 37 * validators. 38 */ 39 public $dead = false; 40 41 /** 42 * Returns a pair of start and end tokens, where the end token 43 * is null if it is not necessary. Does not include children. 44 * @type array 45 */ 46 abstract public function toTokenPair(); 47} 48 49// vim: et sw=4 sts=4 50