Device manager links interface and device classes using the XML tag names. Furthermore it only allows interfaces with the name "{DEVICENAME}ROS". Although this check is fine as it forbids attaching interfaces to the wrong device we shouldn't trust an XML name for it because it lacks freedom to choose interface/device names and it makes impossible linking multiple interface types to the same device (or multiple devices to the same interface), as it happens with old devices such as cameras.
So I would suggest to add an attribute to each XML interface stating the valid interfaces for it and create it as default value in the DTD.
Device manager links interface and device classes using the XML tag names. Furthermore it only allows interfaces with the name "{DEVICENAME}ROS". Although this check is fine as it forbids attaching interfaces to the wrong device we shouldn't trust an XML name for it because it lacks freedom to choose interface/device names and it makes impossible linking multiple interface types to the same device (or multiple devices to the same interface), as it happens with old devices such as cameras.
So I would suggest to add an attribute to each XML interface stating the valid interfaces for it and create it as default value in the DTD.