2009-09-03 2 views
7

나는 문서 기반 클라이언트 응용 프로그램을 쓰고 있어요 그리고 나는 DOM 또는 WPF -like이 필요하지만, 비 시각적 모델은 :속성 상속 및 이벤트 버블 링을 사용하는 계층 적 개체 모델?

  • 요소로 구성된 나무
  • 사용자 지정 속성을 무제한으로 받아 들일 수
    • GET/설정 한 CLR 유형, 난 컬렉션을 제외하고.
    • 상속
    • 파생/다른 속성, 조상 또는 후손
    • 지원 이벤트 버블 링에서를 계산/터널링 할 수있는 조상으로부터 기본값을 상속 할 수
    • 자신의 부모로부터 그 값
    • 핵심 속성 집합이 있지만 다른 플러그인은 자체 문서를 추가하거나 사용자 지정 문서를 만들 수도 있습니다.
  • 트리 및 속성을 XML 형식으로 유지하기 위해 소유 문서로 전체 검사을 지원합니다.

나는 그게 큰 주문이라는 것을 알고 있지만, 내가 시작하는데 도움이 될만한 것이있을 것이라고 기대하고있었습니다. 불행히도 WPF DependencyObjects는 너무 폐쇄적이고 독점적이며 WPF와 결합되어 문서 모델로 사용됩니다. 내 요구도 HTML DOM과 매우 흡사하지만 HTML에서 분리하거나 .NET으로 이식 할 수있는 깨끗한 DOM 구현을 찾을 수 없었다.

내 현재 플랫폼은 .NET/C#이지만 사람이 영감 또는 임베딩에 유용 할 수있는 것이라면 누구나 플랫폼에 관계없이 을 알고 싶습니다.

답변

1

내가 지정한 모든 요구 사항을 충족시키지 못했지만 XML DOM (HTML 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. 
} 

?