2009-09-03 15 views
7

私は、ドキュメントベースのクライアントアプリケーションを書いていると私は様DOMまたはWPFが必要ですが、非ビジュアルモデル:プロパティの継承とイベントのバブリングを含む階層オブジェクトモデル?

  • の要素で構成され
  • iは、カスタムプロパティ任意のCLR型を設定/取得
    • ことを無制限に受け入れることができますコレクションを除いて。
    • からそれらの値は祖先
    • からそのデフォルト値を継承することができます継承することは他のプロパティ、祖先、または子孫
    • サポートイベントバブリング/トンネリングからを計算/導出することができ
    • プロパティのコアセットがありますが、他のプラグインは独自のドキュメントを追加することも、カスタムドキュメントを作成することもできます。
  • ツリーと属性をXML形式で保持するために、所有ドキュメントでフル検査をサポートします。

私はそれが高価な注文であることを認識していますが、私が始めるのを助けるためにそこに何かがあることを本当に望んでいました。残念ながら、WPF DependencyObjectsはあまりにも閉鎖的で、独自仕様であり、WPFに結合されているため、ドキュメントモデルとしての使用はできません。私のニーズもHTML DOMと非常に似ていますが、HTMLから切り離されたり、.NETに移植されたりするきれいなDOM実装を見つけることができませんでした。

私の現在のプラットフォームは.NET/C#ですが、インスピレーションや埋め込みに役立つ可能性のあるものがあればプラットフォームに関係なくと知りたいです。

答えて

1

指定したすべての要件を満たしているとは思えませんが、(HTML DOMではなく)XML DOMの使用を検討していますか? .NETでプログラムでXML文書を作成し、DOMのメソッドやプロパティを使用してXML文書を操作したり、XPathクエリなどの操作を行うことができます。 .NETのXmlDocumentオブジェクトをチェックしてください。これは合理的な出発点かもしれません。

0

Eclipse EMFが役立つかもしれませんが、あなたにとっては残忍かもしれません。 IMHOの優れた設計言語は、このような作業を非常に簡単にするはずです...

0

Netbeansプラットフォームはまさにあなたが望むものですか?

+0

これはコメントでしたが、コメントを投稿するには50人の担当者が必要です。したがって、あなたの答えをサポートするために関連性の高い情報を追加してください。 – bonCodigo

0

オブジェクトモデルのアドバイスをお探しですか?どのように:

// C#-ish code that probably doesn't compile 
class Element { 
    public object GetAttribute(string attribute) { 
     if (this.Attributes.HasKey(attribute)) 
      return this.Attributes[attribute]; 
     else 
      return this.Parent.GetAttribute(attribute); 
    } 

    private IDictionary<string,object> Attributes; 

    private Element Parent; 
    private IList<Element> Children; // maybe not needed 

    // etc. 
} 

とそこから行く?

関連する問題