2017-02-16 5 views
1

一般的なXMLエディタを開発しており、特定の子XML要素をXSDファイルからプログラムで作成できるようにする必要があります。このような特定のXML要素をXSDファイルからプログラムで作成する

何か:

enter image description here

私は右のルート要素「breakfast_menu」をクリックし、コンテキストメニューがポップアップし、私はそれに新しい食品の要素を追加するオプションを提供します。生成される新しいfood要素には、それに関連付けられているすべてのサブ要素/属性(XSDで定義されている名前、価格など)が既に追加されている必要があります。それは難しい部分です。

XSDファイルで定義されている要素の定義を調べることができるXSModelでちょっと遊んだことがあります。私はまだどれくらいの程度まではっきりしていない。非常に面倒です。

これを行う簡単な方法はありますか?理想的には、生成する必要があるXSDの特定の子要素を特定できるライブラリが必要です。ノードツリーに追加できるorg.w3c.dom。*オブジェクト(または同様のもの)が生成されます。

私はxsdからxmlファイル全体を生成するソリューションを見てきましたが、最も頻繁に生成されるxmlにはすべての要素が含まれていません。つまり、親要素にはminOccurs = "0"定義された。しかし、私が必要とする子要素です。

+2

intellisenseエンジンを構築する必要があります。まず、XMLファイルの場所を把握してから、XSD内の自分の位置と調整する必要があります。 XSD内の位置と状態。これは、xsi:typeとsubstitutionGroupsによってさらに複雑になります。これを最初から書いていれば、テキストベースのエディタからいくつかのIntellisenseコードを抽出し、それを適用したり、数週間待ってからコーヒーメーカーを立ち上げることをお勧めします。 – Sprotty

答えて

0

私はorg.apache.xmlbeansについて知りました。

これは、(org.apache.xercesとは対照的に)うまく文書化されています。

xmlbeansのSchemaTypeを使用して、xsdファイルからxmlタイプの情報を抽出し、自分のJTable用にorg.w3c.dom.Nodesを手動で作成できます。

関連する問題