Event driven xml parser