/** * Handler for start tags * @param resource $parser a resource handle of the XML parser * @param string $name * @param array $attributes * @return void */ private function _start($parser, $name, $attributes) { $this->_tagStack[] = $name; if ($this->_maxDepth && count($this->_tagStack) > $this->_maxDepth) { throw new XmlToArrayException('Parse Error: max depth exceeded.', '7005'); } $XmlToArrayNode = new XmlToArrayNode($name, $attributes); if ($this->_CurrentXmlToArrayNode instanceof XmlToArrayNode && $this->_CurrentXmlToArrayNode->isOpen()) { $this->_CurrentXmlToArrayNode->addChild($XmlToArrayNode); $XmlToArrayNode->setParentXmlToArrayNode($this->_CurrentXmlToArrayNode); } $this->_CurrentXmlToArrayNode = $XmlToArrayNode; }
public function testSetClosed() { $XmlToArrayNode = new XmlToArrayNode($this->_name, $this->_attributes); $this->assertTrue($XmlToArrayNode->isOpen()); $XmlToArrayNode->setClosed(); $this->assertFalse($XmlToArrayNode->isOpen()); }