4. RSS 확장 #2 - OPML 소개

Posted at 2007. 2. 6. 07:00 // in 기술정리 // by 김윤수



요즘 웹2.0의 기술 중 하나인 RSS가 여러모로 관심을 받고 있는 것 같습니다. 그래서 나름대로 정리해 볼 생각으로 글을 쓰게 됐습니다.

앞으로 다음 순서로 RSS에 대해 연재해 볼 생각입니다.

1. RSS 란 무엇인가 ?
2. RSS 활용
3. RSS 기술 소개
    3.1. RSS 역사
    3.2. RSS 1.0 소개
    3.3. RSS 2.0 소개
    3.4. ATOM 1.0 소개
4. RSS의 확장
    4.1. Podcast 소개: Podcast 란 무엇인가?
    4.2. OPML 소개
    4.3. MediaRSS 소개
5. RSS 발전 방향

이번에는 RSS 확장 기술 하나인 OPML에 대해 말씀드리겠습니다.

4.2. OPML 소개

OPML은 Outline Processor Markup Language 의 약자입니다. 쉽게 풀어쓰자면 개요처리기 표시언어 정도쯤 되지 않을까요 ? 이름에서 대강 짐작할 수 있듯이 OPML은 개요처리기를 위한 파일 형식으로 정의되었던 언어였습니다. 원래는 RSS와는 별도로 정의되었던 언어였는데, RSS가 등장하면서 RSS 피드 목록을 교환하는 용도로 주목을 받게 됐습니다.

이렇게 개념적으로 설명하는 것보다 실제 어떤 용도로 사용되고 있는지를 보시면 그 필요성을 훨씬 잘 이해하시고, 실제 이용하는데에도 도움이 될 것 같습니다.

우선 여러분이 특정 RSS Reader 로 여러 RSS 피드를 구독하고 있었는데, 지금 쓰는 RSS Reader가 별로라고 느끼던 차에 멋진 RSS Reader를 발견했다고 상상해 보시기 바랍니다. 그럼 여러분은 어떻게 하시겠습니까? 바로 새로운 RSS Reader로 바로 옮길 수 있으시겠습니까? 그렇진 않을 겁니다. 왜냐면 기존에 입력해 두었던 RSS 피드 목록들이 있기 때문입니다. 기존 RSS 피드 목록을 일일이 새로운 RSS Reader 로 옮기려는 *노가다*를 생각하고는 옮기는 걸 포기하실 분들이 많을 것입니다. 이 때, OPML이 등장하게 되는 것입니다.

아까 OPML은 RSS 피드 목록을 교환하는 용도로 주목을 받게 되었다고 말씀드렸습니다. 그러니까, 여러분이 특정 RSS Reader 에 입력해 놓은 RSS 피드들을 OPML을 이용해 서로 다른 RSS Reader 끼리 교환할 수 있게 된 것입니다. 현재 대부분의 RSS Reader 들은 OPML 내보내기/가져오기 기능을 지원하고 있습니다. 제가 이전글 2. RSS 활용에서 언급했던 HanRSS 연모도 이런 기능을 제공합니다. 그럼 그림을 통해 HanRSS 연모의 OPML 내보내기/가져오기 기능을 살펴 보겠습니다.

사용자 삽입 이미지

위 그림에서 보시다 시피 HanRSS RSS 피드 목록 아래 부가기능쪽에 보시면 OPML 가져오기 | 내보내기가 있는 걸 확인하실 수 있습니다. 내보내기를 누르면 아래 그림과 같은 창이 열리면서 OPML로 된 RSS 피드 목록을 다운받을 수 있습니다.

사용자 삽입 이미지

아래 그림은 연모에서 OPML 가져오기 | 내보내기 메뉴를 보인 것입니다.

사용자 삽입 이미지

이렇게 OPML 내보내기, 가져오기 기능을 이용하면 쉽게 RSS Reader를 옮겨 탈 수 있습니다.

OPML은 이 용도 외에도 다른 목적으로 사용되기도 합니다. 예를 들어, 신문사 같은 경우 기사가 몇 가지 카테고리로 나뉘어 있는 경우가 많이 있습니다. 그래서 보통은 전체기사 목록을 RSS 피드로 제공해 주기도 하지만 카테고리별로 RSS 피드를 따로 따로 제공해 주는 경우가 많습니다. 그렇게 하지 않으면 전체 기사 목록 RSS 피드만 받으면 받는 쪽에서 원하는 영역의 기사들을 선택해서 보기가 힘들어지기 때문입니다. 예를 들어 ZDNet Korea 같은 경우 News, IT 비즈니스, 빌더, 리뷰, Web TV, 칼럼, 스팟뉴스, 포스트 와 같은 영역으로 기사들이 나누어져 있습니다. 이 영역별로 따로따로 RSS 피드를 제공하는데, 이 여러 영역의 RSS 피드를 사용자가 일일이 입력하려면 귀찮을 것입니다. 그래서 여러 영역의 RSS 피드를 제공하는 싸이트 같은 경우는 대부분 OPML 파일을 같이 제공합니다. 아래는 ZDNet Korea 에서 OPML 을 제공하는 그림입니다.

사용자 삽입 이미지

위 그림에서 빨갛게 표시한 부분에서 주소복사버튼을 누르면 OPML 파일의 주소가 클립보드에 복사됩니다. 그런 후, 그림과 같이 왼쪽 리스트박스에서 "OPML주소"를 선택하시고, Ctrl+V를 눌러서 주소창으로 OPML주소를 복사해 넣은 후 "가져오기" 버튼을 누르면 HanRSS에서 ZDNet Korea의 모든 RSS 피드를 한꺼번에 가져올 수 있습니다.

사용자 삽입 이미지
다음은 제 RSS 피드 목록 중 일부를 OPML로 내보낸 파일 예제입니다. 아래에 보듯이 OPML 파일은 그 형식이 참 간단합니다. 별도로 자세히 설명드릴 필요는 없을 것 같고, <outline> 아래에 계속해서 <outline> 요소들이 재귀적으로 올 수 있다는 것만 언급하는 것으로 설명을 대신하겠습니다.

<?xml version="1.0" encoding="utf-8" ?>
<opml version="1.0">
<head>
<title>한RSS - 내 RSS</title>
<dateCreated>Sun, 28 Jan 2007 10:40:43 GMT</dateCreated>
<ownerName></ownerName>
</head>
<body>
<outline title="내 RSS">
  <outline title="유명한 블로거">
    <outline title="Blog of JWC" htmlUrl="http://blog.ofjwc.com/" type="rss" xmlUrl="http://feeds.feedburner.com/JWC" />
    <outline title="Channy&#39;s Blog" htmlUrl="http://channy.creation.net/blog" type="rss" xmlUrl="http://feeds.feedburner.com/channy" />
    <outline title="HyunLOG" htmlUrl="http://www.hyunlog.com/blog/" type="rss" xmlUrl="http://www.hyunlog.com/blog/rss" />
    <outline title="Joel on Software" htmlUrl="http://www.joelonsoftware.com" type="rss" xmlUrl="http://www.joelonsoftware.com/rss.xml" />
    <outline title="likejazz.COM" htmlUrl="http://www.likejazz.com" type="rss" xmlUrl="http://www.likejazz.com/rss.xml" />
    <outline title="pod♥irus" htmlUrl="http://web.mac.com/eugeneduck/iWeb/375AD148-F450-4E59-9096-BA36939C4943/Home/Home.html" type="rss" xmlUrl="http://feeds.feedburner.com/podvirus" />
    <outline title="김중태문화원 블로그" htmlUrl="http://www.dal.co.kr/blog/" type="rss" xmlUrl="http://www.dal.co.kr/blog/index.xml" />
    <outline title="디지털 비즈니스 이야기 By oojoo" htmlUrl="http://oojoo.tistory.com/" type="rss" xmlUrl="http://oojoo.tistory.com/rss" />
    <outline title="류한석의 피플웨어 (peopleware.co.kr)" htmlUrl="http://bobbyryu.blogspot.com/index.html" type="rss" xmlUrl="http://feeds.feedburner.com/bobbyryu" />
    <outline title="서명덕기자의 人터넷세상" htmlUrl="http://itviewpoint.com/tt/index.php" type="rss" xmlUrl="http://itviewpoint.com/tt/index.xml" />
    <outline title="선택이라는 놈의 달콤 쌉싸름함" htmlUrl="http://dons.tistory.com/" type="rss" xmlUrl="http://dons.tistory.com/rss" />
    <outline title="태우&#39;s log - web 2.0 and beyond" htmlUrl="http://twlog.net/wp" type="rss" xmlUrl="http://feeds.feedburner.com/twlog" />
    <outline title="함정호의 경제에지(Edge)" htmlUrl="http://blog.daum.net/hahm5150" type="rss" xmlUrl="http://blog.daum.net/xml/rss/hahm5150" />
  </outline>
</outline>
</body>
</opml>

다음에는 Yahoo에 의해 RSS 확장으로 제안된 MediaRSS에 대해 알아보도록 하겠습니다.