Esempio n. 1
0
 /**
  * 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;
 }
Esempio n. 2
0
 public function visitXmlElementEnd(IdmlXmlElement $element, $depth = 0)
 {
     if (IdmlPxeHelper::hasPxeData($element)) {
         $this->closeElement($element, $depth);
     }
 }
Esempio n. 3
0
 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);
 }