Node.php 1.2 KB

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