It's a C++ parser for URDF supported by ROS officially. You can base the improvement of your parser upon this or shift to this package eventually for better integration.
@routeaccess this parser can be used! But I think it's overkill, for simply drag and drop! As you must have seen, it is pretty powerful!!
I suggest you look into this. Once the code base is stable, we'll look into using this in place of our current solution.
@routeaccess as far as I know we're using normal image transport and not the compressed one.. I donno any disadanteages of using compressed and obviously it will reduce our load. Please check this and decide upon what to use