function startElement($parser, $name, $pattrs) { global $stack, $stack_counter, $stack_ptr, $complete, $inc_active; if ($name == "TRANSACTIONDATA") { return; } $newobj = false; switch ($name) { case "DEBTOR": case "CREDITOR": case "STOCK": $newobj = new clsInfoObj($name, $pattrs["ID"]); break; case "JOURNAL": $newobj = new clsLedger($pattrs["TYPE"]); break; case "INCLUDES": $inc_active = $pattrs["TYPE"]; break; case "INCDEF": clsIncludes::addXML($inc_active, $pattrs); break; default: if ($stack_ptr !== false) { $stack_ptr->xmlStartElement($parser, $name, $pattrs); } } if ($newobj !== false) { ++$stack_counter; $stack[$stack_counter] = $stack_ptr = $newobj; } }