OpenNI defines core functionality which is always supported by all node implementations of a specific node type. Additional optional functionality is also defined by OpenNI and exposed as "capabilities". The xn::ProductionNode class provides the IsCapabilitySupported() method to check if this specific implementation supports a certain capability.
In summary, there are two separate functionality sets:
An example of a capability is the MirrorCapability class. When this capability is supported by any particular production node, the application can call its SetMirror() method.