최근 수정 시각 : 2025-07-19 05:23:09

OPML





1. 개요2. 역사3. 구조와 특징4. 주요 용도5. 사용처6. 장점과 단점
6.1. 장점6.2. 단점
7. 기타 사양8. 여담

1. 개요

OPML은 “Outline Processor Markup Language”의 약자로, XML을 기반으로 한 아웃라인(계층 구조) 데이터를 표현하기 위해 만들어진 마크업 언어다. 주로 RSS 피드의 리스트를 저장하거나 공유하는 데 사용되며, 다양한 팟캐스트 앱, RSS 리더, 워크플로 도구 등에서 지원된다. 확장자는 .opml이다.

2. 역사

OPML은 원래 2000년대 초반, Dave Winer가 개발한 RSS 애그리게이터 및 블로그 편집기인 Radio UserLand에서 아웃라인 데이터의 저장 및 공유를 목적으로 처음 설계되었다. 이후 OPML의 활용도가 높아지며 다른 애플리케이션들에서도 사용되기 시작했고, 팟캐스트RSS 리더가 대중화되면서 주요한 포맷으로 자리잡았다.

OPML은 특정한 표준 기관에 의해 공식적으로 규정된 포맷은 아니며, 사실상 산업 표준(de facto standard)으로 자리잡았다. 2003년 Dave Winer는 OPML 1.0 사양을 공개했고, 이후 2006년에는 OPML 2.0 초안이 공개되었지만, 이후 업데이트는 중단된 상태다.

3. 구조와 특징

OPML은 XML 기반의 포맷으로, 기본 구조는 <opml> 루트 엘리먼트 아래에 <head><body> 섹션으로 나뉜다.
  • <head>: 문서의 메타데이터 (제목, 작성일 등)를 포함한다.
  • <body>: 실제 아웃라인 항목들이 계층적으로 정리되어 있다. 각 항목은 <outline> 태그로 표현된다.

예시:
<opml version="1.0">
  <head>
    <title>내 RSS 구독 목록</title>
  </head>
  <body>
    <outline text="뉴스" title="뉴스">
      <outline text="한겨레" type="rss" xmlUrl="https://www.hani.co.kr/rss/" htmlUrl="https://www.hani.co.kr/"/>
      <outline text="경향신문" type="rss" xmlUrl="https://www.khan.co.kr/rss/" htmlUrl="https://www.khan.co.kr/"/>
    </outline>
    <outline text="기술 블로그">
      <outline text="오픈AI 블로그" type="rss" xmlUrl="https://openai.com/blog/rss/" htmlUrl="https://openai.com/blog"/>
    </outline>
  </body>
</opml>


이처럼 <outline> 태그를 중첩하여 계층적인 구조를 구성할 수 있는 것이 OPML의 핵심적인 특징이다.

4. 주요 용도

  • RSS 피드 구독 공유: 사용자가 자신이 구독하는 RSS 피드 목록을 OPML로 내보내 다른 사용자나 기기로 가져올 수 있다.
  • 팟캐스트 앱 설정 전송: 여러 팟캐스트 앱은 OPML을 통해 사용자가 구독한 팟캐스트 리스트를 백업하거나 전송할 수 있게 한다.
  • 워크플로 및 트리 구조 데이터 관리: 트리 구조를 필요로 하는 워크플로 도구나 마인드맵 앱에서 내부적으로 OPML을 사용하거나 내보내기/불러오기 기능을 제공한다.

5. 사용처

  • Feedly, Inoreader, NetNewsWire 등의 RSS 리더
  • Apple Podcasts, Pocket Casts 등의 팟캐스트 앱
  • WorkFlowy, OmniOutliner 같은 아웃라이너 도구
  • DEVONthink, Logseq, Obsidian 등의 지식관리 도구와 연동

6. 장점과 단점

6.1. 장점

  • XML 기반으로 범용성이 높음
  • 계층 구조 표현에 적합
  • 다양한 앱에서 널리 채택됨
  • 사람이 직접 읽고 수정할 수 있는 구조

6.2. 단점

  • 엄격한 표준 부재로 인한 구현 차이
  • 대형 데이터에는 비효율적일 수 있음
  • 특수한 메타데이터 표현에는 제약이 있음

7. 기타 사양

  • OPML 1.0: 가장 널리 사용되는 기본 사양. 구조가 단순하고 구현이 쉬움
  • OPML 2.0: 일부 확장 기능이 추가된 비공식 버전. 실제 채택은 적은 편

8. 여담

  • OPML은 “파일 공유”라는 단어와 자주 연관되지만, 실제로는 RSS나 팟캐스트처럼 “구독형 콘텐츠의 리스트”를 공유하는 데 더 적합한 포맷이다.
  • Logseq와 Obsidian 같은 최신 노트 앱들도 OPML을 지원하거나 일부 플러그인 형태로 불러오기를 지원하는 추세다.