Textures in 1.5

I have a question how textures should be defined in COLLADA 1.5.

Here is a sample file portion:

		<effect id="blinn3-fx">
				<newparam sid="file2-sampler">
						<instance_image url="#image-id" />
				<technique sid="common">
							<color>0 0 0 1</color>
							<color>0 0 0 1</color>
							<texture texture="file2-sampler" texcoord="TEX0"/>
							<texture texture="file2-sampler" texcoord="TEX0"/>
							<color>0 0 0 1</color>
							<color>0 0 0 1</color>

IMHO <instance_image> should be inside <sampler2D> as fx_sampler2D_type inherits fx_sampler_type which uses instance_image_type for a <instance_image> child element.

But the above XML does not validate with several tools:

  • libxml
  • apache xerces
  • altova xml spy

xml spy gives me following error message:

Please tell me how to define textures in 1.5 !

when I change the inheritance method in XSD from xs:restriction to xs:extension, the validation errors are gone.

Seems like XSD rules have changed for that. This schema bug should be reported at The Khronos Group · GitHub

I have entered a bug in khronos bugzilla. It got ID 191.