2009년 7월 1일 수요일

xhtmlrenderer(XML/XHTML/CSS 2.1 Renderer)

The flying saucer project 라는 이름으로 XHTML Render 처리를 해 주는 프로젝트가 있다.

브라우저 또는 XHTML, XML 랜더링을 처리하는 프로젝트와 관련된 곳에서 참조할 만한 프로젝트이다.
더군다나 순수 100% 자바로 구현되어있다.
많이 보질 않아서 그런지 조금은 복잡하게 구성이 되어 있는 듯 해서 불편한 느낌도 있다.

중요 컨셉등은 해당 프로젝트 파일에서 문서를 참고하면 되고,
특징 중에 하나는 XHTML DOM 처리는 w3c에서 정의한 Document 인터페이스를 implements 하고 이를 XHTML DOM으로 확장을 해서 사용할 것이라고 생각했는데 그렇치 않다.
그냥 w3c에서 정의해 둔 Document 인터페이스를 구현한 Java XML API를 곧바로 사용한다.

그래서인지 모든 웹 페이지를 다 열어볼 수 있는 것은 아니다.
Javascript 등은 처리하는 구조가 없다. 이유는 Javascript 등을 처리해 주려면 w3c에서 정의한 Document 인터페이스를 실제로 구현하하고 이를 XHTML 또는 HTML 에 맞게 다시금 확장해서 구현해 주어야 하는 데 이에 대한 처리가 없다.
Full browsing 프로젝트가 아니어서 그럴 수도 있을 듯 하다.

흠... 암튼 많이 분석해야 할 프로젝트가 아니어서 여기즘 해서 정리하려고 한다. 프로젝트 중에 중요한 XHTMLPanel 소스가 있는데 이에 대한 클래스 다이어그램을 그려둔 게 있어 올려 놓는다.

사용자 삽입 이미지

더불어서 분석 중에 그려둔 sequence diagram 도 올려 놓는다. Sequence diagram은 HTMLTest.java 를 이용한 디버깅 시에 참고하면 된다.

사용자 삽입 이미지

댓글 없음: