/** * Parse children. We override this because the xml DOM hierarchy has rows, columns, and cells as children of table * we need to change the idml element hierarchy so tables are parents of rows which are parents of cells * @param DOMElement $parentNode */ protected function parseChildren($parentNode) { foreach ($parentNode->childNodes as $childNode) { if (IdmlParserHelper::isParsableChildIdmlObjectNode($childNode)) { $parsableObject = IdmlElementFactory::createFromNode($childNode); if (is_object($parsableObject)) { //set the parent first since sometimes parse requires or sets parent data $parsableObject->parentElement = $this; if (!IdmlParserHelper::isIdmlTagNode($childNode) && IdmlParserHelper::getIdmlObjectType($parsableObject) != "TableCell") { $this->childrenElements[] = $parsableObject; //don't set IdmlTable as parent for IdmlTableCell } $parsableObject->parse($childNode); } } } }