私は XML 文書の作成と検証の基本事項についてはまったくの初心者です。そのため、些細な質問をしていることを願っています。
ドキュメントで説明されているトピックとサブトピックの階層があります。
<topics>
<topic> <name>First Topic</name>
<subtopic> <name> Subtopic 1 </name> </subtopic>
<subtopic> <name> Subtopic 2 </name> </subtopic>
</topic>
<topic> <name>Second Topic</name>
<subtopic> <name> Subtopic 3 </name> </subtopic>
<subtopic> <name> Subtopic 4 </name> </subtopic>
</topic>
</topics>
そして、トピックとサブトピックを含む別のドキュメント:
<mydoc>
<topic>First Topic</topic>
<subtopic>Subtopic 1</subtopic>
... rest of the doc ...
</mydoc>
有効なトピック/サブトピックの組み合わせのみが含まれ、簡単に検証されていることを確認したい. これを行うためのアプローチがどうあるべきかわかりません。
私は最初、可能な組み合わせを概説するためにスキーマで複雑な型を定義できると考えましたが、最初のいくつかはトートロジーをもたらし、完全には理解できませんでした。
私が考えた 2 番目の考えは、上で示したとおりです。トピック/サブトピックを別のドキュメントに入れ、おそらく各サブトピックに一意の 'id' 属性を与えます。次に、代わりに次のようなものを使用できます。
<mydoc subtopic_id="st4"> ... </mydoc>
おそらく、mydoc にはドキュメント内に存在する subtopic_id のみが含まれていることを検証できます。しかし、私はそれを検証する方法を理解するために頭を悩ませてきました。そして、これは、作成者が覚えておく必要がある ID キーを作成する必要があったことを意味します。
では、標準的なアプローチは何ですか?
理想的には、oxygenXML などの XML エディターを使用して、(スキーマから生成された) を作成し、有効なトピック/サブトピックの組み合わせのみを入力できるようにエディターを支援してもらいたいと考えています。
これは可能ですか?
私はしばらくこれについて頭を悩ませてきましたが、もし何か知恵の言葉があれば、非常に感謝しています。