/** * Determiens if the child tag may be a direct descendent of the parent * @param string $parentTag * @param string $tag * @return boolean */ public function isChildAllowed($parentTag, $tag) { $tag = IdmlPxeHelper::stripHash($tag); if (strlen($parentTag) > 0 && $parentTag != "div" && $parentTag != "span") { $allowedChildren = $this->getAllowedChildren($parentTag); return in_array($tag, $allowedChildren); } return true; }
public function visitXmlElementEnd(IdmlXmlElement $element, $depth = 0) { if (IdmlPxeHelper::hasPxeData($element)) { $this->closeElement($element, $depth); } }
public function visitTableCell(IdmlTableCell $element, $depth = 0) { $this->verifyParentStructure(); $this->stashParentCount($element); $hashTag = null; if (!strlen($element->idmlTag)) { if ($this->findFirstParent(array("thead", "tbody", "tfoot")) == "thead") { $element->idmlTag = "th"; } else { $element->idmlTag = "td"; } } if (!IdmlPxeHelper::hasHashValue($element) && $this->pxeRules->isPxeTag($element->idmlTag)) { $hashTag = IdmlPxeHelper::getNewTagHash(); } elseif (IdmlPxeHelper::hasHashValue($element)) { $parts = explode('#', $element->idmlTag); $element->idmlTag = $parts[0]; $hashTag = $parts[1]; } $this->pushParentTag($element->idmlTag, $hashTag, $element); $parents = implode(' ', array_slice($this->parentStack, 0, count($this->parentStack) - 1)); $this->setPxeAttributes($element, $element->idmlTag, $parents, $hashTag); }