VRML is extensible. Why is X3D more extensible than VRMLs EXTERNPROTO mechanism?
VRML has only the Externproto mechanism for extensibility, but no real mechanism for creating groups of functionality extensions. X3D’s component, level, and profile mechanisms allows for this. The specification team felt that the two-faced nature of externprotos were a big problem for defining correct behaviour. ie, when the implementation could act outside the bounds of the normal VRML event model as a native node implementation or be restricted by it when written as a VRML file. Since components were already defined as a way of extending a browser with native node definitions, it was decided to minimise confusion and only define one way to provide extensibility.