Node transform elements (<translate>, <rotate>, etc.) are composed in the order that they occur.
If I understand correctly, for CAMERA instance, the INVERSE of the composed transformation should be applied.
I tested this by sample DAE files from the model bank.
But I think in the case of <lookat> transform, the INVERSE of <lookat> should not be used for camera.
(I noticed this when I tested some files from Google 3D warehouse.)
Is this thought correct?
If so, I think that defining behavior of composed <lookat> and other transforms for camera is difficult.
A <node> can contain both camera and geometries (and child nodes).
Can I assume that <lookat> occurs solely for camera instance?
The <instance_camera> and <lookat> elements are not special and have no exceptional rules. Treat them regularly with other transforms and instances.
In general, all <node> elements in COLLADA should be processed consistently. There are no special cases.