OPML
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
OPML은 개요 및 목록을 교환하기 위한 XML 기반 파일 형식이다. OPML 문서는 루트 요소, 메타데이터를 포함하는 head 요소, 개요 내용을 포함하는 body 요소, 개요의 한 줄을 나타내는 outline 요소로 구성된다. OPML은 RFC 822 날짜 형식 사용, 확장 상태 저장 문제, type 속성의 임의성, MIME 유형의 모호성 등의 비판을 받는다. 유효성 검사 도구와 XML 스키마 문서가 존재하며, OML, XOXO, XBEL 등과 같은 대안 명세가 제안되었다.
더 읽어볼만한 페이지
- XML 기반 표준 - XAML
XAML은 마이크로소프트에서 개발한 XML 기반의 마크업 언어로, 사용자 인터페이스, 데이터 바인딩, 이벤트 처리 등을 정의하며 WPF, Silverlight, WF, WinRT API 앱, Xamarin.Forms 등에서 UI 개발에 널리 사용된다. - XML 기반 표준 - 아톰 (표준)
Atom은 웹 사이트 업데이트 정보와 콘텐츠 배포를 위한 XML 기반 문서 형식으로, Atom 배포 형식과 Atom 출판 프로토콜로 구성되어 있으며, RSS를 대체하기 위해 고안되었고 국제화 지원 및 모듈성에서 차이를 보인다.
| OPML - [IT 관련 정보]에 관한 문서 |
|---|
2. XML 형식
OPML 문서의 XML 요소는 다음과 같다.
; `<opml version="1.0">`
: 루트 요소이다. 버전 속성과 하나의 `head` 및 하나의 `body` 요소를 포함해야 한다.
; `<head>`
: 메타데이터를 포함한다. `title`, `dateCreated`, `dateModified`, `ownerName`, `ownerEmail`, `expansionState`, `vertScrollState`, `windowTop`, `windowLeft`, `windowBottom`, `windowRight` 등의 선택적 요소를 가질 수 있다. `dateCreated` 및 `dateModified`는 RFC 822에 지정된 날짜-시간 형식을 따른다.
; `<body>`
: 개요의 내용을 포함하며, 최소 하나의 `outline` 요소를 가져야 한다.
; `<outline>`
: 개요의 한 줄을 나타내며, `text`, `type` 등의 속성을 가질 수 있고, 하위 `outline` 요소를 포함할 수 있다.
2. 1. <head>
OPML 문서의 <head> 요소는 메타데이터를 포함하며, 다음과 같은 선택적 하위 요소를 가질 수 있다.- `title`: 문서 제목
- `dateCreated`: 문서 생성일
- `dateModified`: 문서 수정일
- `ownerName`: 문서 소유자 이름
- `ownerEmail`: 문서 소유자 이메일 주소
- `expansionState`: 표시 시 확장해야 하는 줄 번호 (쉼표로 구분)
- `vertScrollState`: 수직 스크롤 상태
- `windowTop`, `windowLeft`, `windowBottom`, `windowRight`: 표시 창 위치 및 크기
`dateCreated` 및 `dateModified` 요소의 값은 RFC 822에 지정된 날짜-시간 형식을 따른다. OPML 프로세서는 모든 `head` 하위 요소를 무시할 수 있다. 또한, 개요가 다른 개요 내에서 열리는 경우 프로세서는 창 관련 요소를 무시해야 한다.
2. 2. <body>
``는 개요의 내용을 포함하며, 최소 하나의 `outline` 요소를 가져야 한다.`<outline>`은 개요의 한 줄을 나타낸다. 임의의 수의 속성을 포함할 수 있다. 일반적인 속성에는 `text` 및 `type`이 있다. outline 요소는 임의의 수의 `outline` 하위 요소를 포함할 수 있다.
2. 3. <outline>
OPML 문서의 XML 요소는 다음과 같다.; `<opml version="1.0">`
: 루트 요소이다. 버전 속성과 하나의 'head' 및 하나의 'body' 요소를 포함해야 한다.
; `<head>`
: 메타데이터를 포함한다. `title`, `dateCreated`, `dateModified`, `ownerName`, `ownerEmail`, `expansionState`, `vertScrollState`, `windowTop`, `windowLeft`, `windowBottom`, `windowRight` 중 하나를 포함할 수 있다. 각 요소는 간단한 텍스트 요소이다. `dateCreated` 및 `dateModified` 내용은 RFC 822에 지정된 날짜-시간 형식을 따른다. `expansionState`는 표시 시 확장해야 하는 줄 번호의 쉼표로 구분된 목록을 포함한다. `windowXXX` 요소는 표시 창의 위치와 크기를 정의한다. OPML 프로세서는 모든 'head' 하위 요소를 무시할 수 있다. 개요가 다른 개요 내에서 열리면 프로세서는 창 요소를 무시해야 한다.
; `<body>`
: 개요의 내용을 포함한다. 최소 하나의 'outline' 요소를 가져야 한다.
; `<outline>`
: 개요의 한 줄을 나타낸다. 임의의 수의 속성을 포함할 수 있다. 일반적인 속성에는 'text' 및 'type'이 포함된다. outline 요소는 임의의 수의 'outline' 하위 요소를 포함할 수 있다.
3. 비판
RFC 822 날짜 형식은 구식으로 간주되며, 연도를 두 자리 숫자로 표현할 수 있다는 문제점이 있다. (RFC 822는 RFC 2822 및 RFC 5322로 대체되었다.) 일반적으로 날짜 및 시간 형식은 RFC 3339에 따라 표시되어야 한다.[4]
"expansionState" 속성에는 다음과 같은 문제점이 있다.[4]
- 축소된 노드의 자식 노드의 확장 상태를 저장할 수 없다.
- 아웃라인 요소가 확장, 축소, 추가, 삭제 또는 이동되면, 그 아래의 모든 요소의 확장 상태를 다시 계산해야 한다.
"type" 속성의 임의적인 특성과 "outline" 요소에 임의의 속성을 허용하는 것으로 인해 OPML 문서의 상호 운용성은 콘텐츠 제작자의 문서화되지 않은 규칙에 거의 전적으로 의존한다.[4]
MIME 유형이 명확하지 않다. text/xml은 일반적으로 문서에 XML 콘텐츠가 있음을 식별하는 반면, text/x-opml은 +xml 접미사가 없기 때문에 문서가 XML임을 명시하지 않는다.[4]
4. 유효성 검사
데이브 와이너는 Userland의 설립자이자 CEO로서, OPML 유효성 검사를 위한 [https://web.archive.org/web/20051024010033/http://www.opml.org/guidelinesForValidation OPML 유효성 검사 지침]에 대한 의견을 요청했으며, 베타 [https://web.archive.org/web/20051102000206/http://validator.opml.org/ OPML 유효성 검사기]를 출시했다.
DLESE의 케이티 진저는 OPML 2.0의 유효성 검사를 위한 [https://web.archive.org/web/20070910025930/http://www.dlese.org/Metadata/opml/2.0/index.htm XML 스키마 문서]를 발표했다. 또한 [http://static.userland.com/gems/radiodiscuss/opmlDtd.txt OPML 1.0에 사용할 수 있는 DTD]도 있다.
5. 대안 명세
OML, XOXO, XBEL 등과 같은 대안 명세가 제안되었다.
- OML – 아웃라인 마크업 언어
- XOXO – 확장 가능한 열린 XHTML 아웃라인
- XBEL – XML 북마크 교환 언어
참조
[1]
웹사이트
OPML 2.0 Specification
http://dev.opml.org/[...]
2014-03-18
[2]
웹사이트
How to Open, Edit, and Convert OPML Files
https://www.lifewire[...]
Lifewire
2023-07-05
[3]
웹사이트
How to Subscribe to News Feeds and Blogs {{!}} Thunderbird Help
https://support.mozi[...]
2019-06-11
[4]
웹사이트
RFC 5322
https://www.rfc-edit[...]
2023-09-21
[5]
웹사이트
用語検索
https://japan.zdnet.[...]
2022-05-20
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com