特にCOLLADAとCOLLADA FX SIDのSIDを解決するためのルールはあまり明確ではありません。特にCOLLADA FX SIDに関しては、特定のSIDの検索を開始する要素をどのように知っていますか?たとえば、<texture>
要素の「質感」atttibuteを考えてみましょう:COLLADA FX SIDの解決
<effect id="Scene_Material_fx">
<profile_COMMON>
<newparam sid="acorn_png_surface">
<surface type="2D">
<init_from>acorn_png_img</init_from>
</surface>
</newparam>
<newparam sid="acorn_png_sampler">
<sampler2D>
<source>acorn_png_surface</source>
</sampler2D>
</newparam>
<technique sid="default">
<phong>
...
<diffuse>
<texture texture="acorn_png_sampler" texcoord="diffuse_TEXCOORD"></texture>
</diffuse>
...
</phong>
</technique>
</profile_COMMON>
</effect>
私は<profile_COMMON>
で検索を開始する場合、私は<texture>
要素の偉大-偉大-祖父母である、<texture>
で参照されるSIDを見つけることができますそれには参照が含まれていますが、私が<effect>
から検索を開始すると、それを見つけることもできます。どのように開始要素が決定されますか?それは仕様のどこかで定義されていますか?
特定の<texture>
要素によって参照されるsidがドキュメントルートにどれだけ近づいているかに制限がありますか?上記の例では、<effect>
親のように<profile_COMMON>
の外に表示される可能性がありますか?その要素からドリルダウンして参照されたsidを見つけることが保証されている "最根"要素はどれですか?
更新:この質問は、これまでのところCOLLADA forumsに掲載されていますが、回答はありません。私は当面は<texture>
の "texture"属性で参照されるSIDが常に<profile_COMMON>
の下にあると仮定します。それが間違っていると、インポーターが有効な入力で失敗する可能性があることを意味しますが、COLLADAコミュニティ自体はフィードバックを提供していないので、私は何もできません。