public function visitHyperlink(IdmlHyperlink $element, $depth = 0) { $this->verifyParentStructure(); $this->stashParentCount($element); $hashTag = null; $parentTag = $this->getParentTag(); if (strlen($parentTag) > 0 && substr($parentTag, 0, 2) == 'a.') { $element->idmlTag = $parentTag; array_pop($this->parentStack); } elseif (!strlen($element->idmlTag)) { $element->idmlTag = "a"; } if (strlen($element->idmlTag) > 0 && !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]; } if (strlen($hashTag) > 0) { $pxeAttribs = array(); if (strlen($element->href) > 0) { $pxeAttribs['href'] = $element->href; } if (strlen($element->name) > 0) { $pxeAttribs['name'] = $element->name; } $element->href = ""; $element->name = ""; $this->pushParentTag($element->idmlTag, $hashTag, $element); $parents = implode(' ', array_slice($this->parentStack, 0, count($this->parentStack) - 1)); $this->setPxeAttributes($element, $element->idmlTag, $parents, $hashTag); IdmlPxeHelper::setPxeAttributes($element, $pxeAttribs); $this->clearParentElementWithHash($element, $hashTag); } }