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">
			<profile_COMMON>
				<newparam sid="file2-sampler">
					<sampler2D>
						<instance_image url="#image-id" />
					</sampler2D>
				</newparam>
				<technique sid="common">
					<phong>
						<emission>
							<color>0 0 0 1</color>
						</emission>
						<ambient>
							<color>0 0 0 1</color>
						</ambient>
						<diffuse>
							<texture texture="file2-sampler" texcoord="TEX0"/>
						</diffuse>
						<specular>
							<texture texture="file2-sampler" texcoord="TEX0"/>
						</specular>
						<shininess>
							<float>0.3</float>
						</shininess>
						<reflective>
							<color>0 0 0 1</color>
						</reflective>
						<reflectivity>
							<float>0.5</float>
						</reflectivity>
						<transparent>
							<color>0 0 0 1</color>
						</transparent>
						<transparency>
							<float>1</float>
						</transparency>
						<index_of_refraction>
							<float>1</float>
						</index_of_refraction>
					</phong>
				</technique>
			</profile_COMMON>
		</effect>

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 !

note:
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.