3 namespace Caxy\HtmlDiff\Table;
6 * Class AbstractTableElement.
8 abstract class AbstractTableElement
16 * AbstractTableElement constructor.
18 * @param \DOMElement|null $domNode
20 public function __construct(\DOMElement $domNode = null)
22 $this->domNode = $domNode;
28 public function getDomNode()
30 return $this->domNode;
34 * @param \DOMElement $domNode
38 public function setDomNode(\DOMElement $domNode)
40 $this->domNode = $domNode;
48 public function getInnerHtml()
53 foreach ($this->domNode->childNodes as $child) {
54 $innerHtml .= static::htmlFromNode($child);
66 public function getAttribute($name)
68 return $this->domNode->getAttribute($name);
72 * @param \DOMDocument $domDocument
76 public function cloneNode(\DOMDocument $domDocument)
78 return $domDocument->importNode($this->getDomNode()->cloneNode(false), false);
82 * @param \DOMElement $node
86 public static function htmlFromNode($node)
88 $domDocument = new \DOMDocument();
89 $newNode = $domDocument->importNode($node, true);
90 $domDocument->appendChild($newNode);
92 return trim($domDocument->saveHTML());