May 6th, 2006
XMLHttpRequest로 읽은 HTML을 DOM으로 접근하기

container.html 과 contents.html 이 있다고 하자.

일단 contents.html은 그냥 브라우져로 접속하면 잘 보이는 페이지다.

container.html은 내부에 div tag가 하나 있고 그 안에 contents.html의 내용을 보여주고 싶다.

물론 IFrame을 쓰면 간단하지만 그냥 div로 하고 싶다고 가정하자.

이를 구현하려면 container.html에서 XMLHttpRequest를 생성해서 contents.html을 읽은 후 html tag와 head 및 그 이하 태그들은 필요 없고 body tag내의 내용만 가져와서 container.html의 div.innerHTML에 넣으면 된다.

그런데 이렇게 구현하는 데는 문제가 있다. 이에 대한 같은 고민을 한 글을 찾을 수 있었다.

XMLHTTP notes: responseXML and IE bug

body tag만을 읽어오기 위해서는 DOM으로 접근 가능해야 하는데(물론 Parsing을 직접하면 되지만 그러기에는 기분이 나쁘다) 그러기 위해서는 responseXML을 사용해야 한다. 그런데 이 responseXML은 당연하게도 xml 문서에 대해서만 적용이 가능하다.

그런데 내가 읽어려고 하는 문서는 html 문서이다. 혹 xhtml 이라 하더라도 확장자가 html인 이상 Web Server에서 text/html로 보내준다. responseXML은 mimeType이 text/xml 일때만 제대로 동작한다.(Opera 제외)

Firefox에서는 XMLHttpRequest 객체에 overrideMimeType()이라는 메소드가 있어서 ‘text/xml’로 미리 세팅해 줄 수 있다.

즉, Firefox, Opera에서는 방법이 있는데 그 외의 브라우져가 문제다(I.E) 포함.

결국 contents.html을 읽어서 mimetype만 text/xml로 뿌려주는 서블릿을 만들었는데 더 좋은 방법이 있지 않을까?

May 6th, 2006
Coming soon: ODF for MS Office

http://www.linux-watch.com/news/NS5139606687.html

MS Office용 Plugin을 만들어 ODF를 읽고 쓸수 있게 하겠단다.

이제 Open Office를 깔아야할 이유가 더 줄어든것 아닌가?

MS진영의 XML Format인 OpenXML도 MS에서 Plugin을 만들어 기존 MS Office 97이후의 사용자들은 모두 사용가능토록 한다고 한다.

이렇게 XML 포맷이 공개되어 버리면 알아서 상호 변환해 주는 코드들도 돌아다니게 될 것이다.