木を見て森を見ていないのかもしれませんが、次のようになります。
私は XML ドキュメントを「設計」しており、これまでに次のようなものを考え出しました。
<element key="root">
<data>...</data>
<elements>
<element key="foo">
<data>...</data>
</element>
<element key="bar">
<data>...</data>
</element>
</elements>
</element>
つまり、単純な階層構造です。私が今やりたいことは、ある要素から階層内の他の要素への参照を持つことです。各要素に一意の ID がある場合は簡単ですが、そうではありません。これまでのところ、各要素のキーがそのレベル内で一意であることを保証することのみを計画しています (ディレクトリ構造内のファイル名によく似ています)。
つまり、 などの完全修飾キーがあれば、root.foo
参照整合性の保証は簡単になります。しかし、冗長な情報を保存することになります (foo
のサブ要素であることは既にわかっていroot
ます。なぜその情報を 2 回保存するのでしょうか?)。
これは本質的に見た目の問題であることを認識しています。最も単純な解決策の 1 つは、おそらく ID を自動割り当てして、それで完了することです。しかし、これはかなり洗練されていない (そして、ファイルを編集するための優れたフロント エンドがない限り、エラーが発生しやすい) ため、より適切な方法でそれを行うことを望んでいました。
これを XML スキーマで実装する方法はありますか?