プロジェクト用の単純なUI定義言語を作成しましたが、検証を容易にするためにスキーマを作成したいと思います。残念ながら、私のXSDスキルはかなり錆びており、確信が持てないようなことをしようとしていることに気づきました。
UIは、相互に関連して配置できる「ブロック」で構成されています。parent
最も一般的なユースケースを単純化するために、参照属性に文字列、、、previous
またはのいずれかを含めることができるようにしたいと思いますnext
。できるだけ柔軟にするために、IDを持つ任意の要素を指すことができるようにもしたいと思います。
言い換えれば、私は以下が有効であることを望みます:
<ui>
<block id="foo"/>
<block/>
<block anchor="previous"/>
<block anchor="#foo"/>
</ui>
これをXSDでどのように説明できますか?