According to the collada specification 1.5, in order to specify a texture in an effect, you need to use a surface tag.
<library_effects>
<effect id="lambert1-fx">
<profile_COMMON>
<newparam sid="file1-surface">
<surface type="2D">
<init_from>file1-image</init_from>
<format>A8R8G8B8</format>
</surface>
</newparam>
.
.
.
</profile_COMMON>
</effect id="lambert1-fx">
</library_effects>
When I try to add a surface to this new param, a NULL pointer is returned.