hello
currently i'm coding a COLLADA exporter, which exports some 3d-models, which are animated using 3d-vector translation and quaternion rotation

as i've figured out, the code will look like this:

Code :
<library_animations>
 
	<animation id="animation">
 
		<source id="timing">
 
			<float-array id="timing_array" count="2">
				0.0 1.0
			</float-array>
 
			<technique_common>
 
				<accessor source="#timing_array" count="2" stride="1">
					<param name="TIME" type="float"/>
				</accessor>
 
			</technique_common>
 
		</source>
 
 
		<source id="transformations">
 
			<float_array id="transformations_array" count="32">
				1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1
				2 0 0 0 0 2 0 0 0 0 2 0 0 0 0 2
			</float_array>
 
			<technique_common>
 
				<accessor source="#transformations_array" count="2" stride="16">
					<param name="(0)(0)" type="float4x4"/>
				</accessor>
 
			</technique_common>
 
		</source>
 
		<source id="interpolations">
 
			<Name_array id="interpolations_array" count="2">LINEAR LINEAR</Name_array>
 
			<technique_common>
 
				<accessor source="#interpolations_array" count="2" stride="1">
					<param name="INTERPOLATION" type="Name"/>
				</accessor>
 
			</technique_common>
 
		</source>
 
		<sampler id="sampler">
			<input semantic="INPUT" source="#timing"/>
			<input semantic="OUTPUT" source="#transformations"/>
			<input semantic="INTERPOLATION" source="#interpolations"/>
		</sampler>
 
		<channel source="#sampler" target="#3d-object-node/transformation"/>
 
	</animation>
 
</library_animations>
 
 
// scene
 
 
<library_visual_scenes>
 
	<visual_scene id="scene" name="scene">
 
		<node id="3d-object-node" name="3d-object-node" type="NODE">
 
			<matrix sid="transformation">1 0 0 0  0 1 0 0  0 0 1 0  0 0 0 1</matrix>
 
			<instance_geometry> ... </instance_geometry>
 
		</node>
 
	</visual_scene>
 
</library_visual_scenes>

// also here i've omitted interpolation, intangents and outtangents - what do they mean? can anybody explain me?

so i can output animation transformations as OpenGL matrices
but what if what i'm aiming for is to separate translation from quaternion rotation in the output file?
can i specify not 16D "float4x4" but some types for 3D translation vector and 4D quaternion?