2009-03-11 1 views
0

나는 JEditorPaneHTMLDocument 클래스를 사용하여 HTML을 렌더링하는 스윙 클라이언트를 가지고 있습니다.Java HTMLDocument에서 사용자 정의 태그를 처리하려면 어떻게해야합니까?

문제는 나중에 검색 할 일부 텍스트의 컨테이너로 문서 영역을 정의하고 document.setInnerHTML(element, data);을 사용하여 자리 표시 자 콘텐츠를 바꿀 수 있기를 원합니다. "진짜"내용. 이 요소로 mytag 찾았지만 그것이 어떤을 가진 잎 요소라고 생각 - 나는 document.getElement(String id)를 사용할 때

<html> 
<body> 
some text <mytag id="1>placeholder</mytag> some more text 
</body> 
</html> 

문제가 발생합니다 :

그래서, 나는이 유사한 태그를 정의 할 것을 결정 콘텐츠 그래서 그것을 호출 할 수 없습니다 .setInner(). 요소의 그것의 부모 목록을 보면, 거기 3가 생각 - 내 태그는 단지 개별 구성 요소로 해석되었다 :

mytag (시작)
내용
mytag (끝)

그래서, 난 문서 (또는 파서)에 내 태그에 대해 말할 필요가 있다고 추측합니다.하지만이 태그는 내가이 분야에 처음으로 빠져 나올 때 평평하게 떨어지고 있습니다.

그래서 누구나이 경험이 있습니까? 나는 속임수를 쓰고 스팬 태그를 사용할 수는 있지만 그렇게 느껴지지 않는다. (간결성을 위해 제외됨) 태그에 대해 추가 속성을 저장해야한다. 사용자 정의 태그를 인식하는 독자를 반환 할 HTMLDocument의를 오버라이드 (override) 할 필요가 마치 시간에 미리

감사합니다 ...

+1

DTD에 대해 아는 것이 있습니까? http://en.wikipedia.org/wiki/Document_Type_Definition –

답변

0

. 자세한 내용은 HTMLDocument#getReader을 참조하십시오. registerTag 메서드를 통해 사용자 정의 태그를 이해하는 HTMLReader 하위 클래스를 반환해야합니다.

+0

좋은 소식입니다. HTMLDocument 등은 모두 실제로 공급 업체에서 제공되기 때문에 독자를 확보하는 데 문제가 있습니다. 내가 어떻게 일어나는지 알려줄거야! 감사합니다. B – DaddyB

0

아마도 태그의 속성으로 세부 정보를 설정 했습니까?