一般的なXMLエディタを開発しており、特定の子XML要素をXSDファイルからプログラムで作成できるようにする必要があります。このような特定のXML要素をXSDファイルからプログラムで作成する
何か:
私は右のルート要素「breakfast_menu」をクリックし、コンテキストメニューがポップアップし、私はそれに新しい食品の要素を追加するオプションを提供します。生成される新しいfood要素には、それに関連付けられているすべてのサブ要素/属性(XSDで定義されている名前、価格など)が既に追加されている必要があります。それは難しい部分です。
XSDファイルで定義されている要素の定義を調べることができるXSModelでちょっと遊んだことがあります。私はまだどれくらいの程度まではっきりしていない。非常に面倒です。
これを行う簡単な方法はありますか?理想的には、生成する必要があるXSDの特定の子要素を特定できるライブラリが必要です。ノードツリーに追加できるorg.w3c.dom。*オブジェクト(または同様のもの)が生成されます。
私はxsdからxmlファイル全体を生成するソリューションを見てきましたが、最も頻繁に生成されるxmlにはすべての要素が含まれていません。つまり、親要素にはminOccurs = "0"定義された。しかし、私が必要とする子要素です。
intellisenseエンジンを構築する必要があります。まず、XMLファイルの場所を把握してから、XSD内の自分の位置と調整する必要があります。 XSD内の位置と状態。これは、xsi:typeとsubstitutionGroupsによってさらに複雑になります。これを最初から書いていれば、テキストベースのエディタからいくつかのIntellisenseコードを抽出し、それを適用したり、数週間待ってからコーヒーメーカーを立ち上げることをお勧めします。 – Sprotty