atom

16
Atom choong

Upload: choonghyun-yang

Post on 08-Jul-2015

211 views

Category:

Documents


5 download

DESCRIPTION

Atom 발표 자료

TRANSCRIPT

Page 1: Atom

Atom

choong

Page 2: Atom

Atom?

RSS ≒ Atom

Page 3: Atom

Atom이란 무엇인가?

• Atom Syndication Format (xml 포맷)

• RSS는 주로 블로그의 정보를 전달.

• Atom은 블로그뿐 아니라 검색엔진이나 사진관리 피드의 정보를 전달.

Page 4: Atom

Atom의 리소스 모델

멤버 리소스 컬렉션 리소스

엔트리 리소스 미디어 리소스

미디어 링크 엔트리

엔트리로 표현하는 멤버 엔트리 이외로 표현하는 멤버

멤버를 복수 포함

피드로 표현

텍스트이외의 데이터, 멀티미디어 파일Text, html, xhtml, 그 밖의 텍스트와 xml

엔트리 리소스중, 미디어 리소스에 대한 링크를 가진것<content>요소의 src속성으로 외부 리소스를 참조한다.

Page 5: Atom

엔트리

• Atom의 최소 단위.

• 메타 데이터

• <id>, <title>, <author>, <updated> 필수요소<entry xmlns=http://www.w3.org/2005/Atom>

<id>tag:example.com,2010-08-24:entry:1234</id>

<title>테스트 일기<t/itle>

<updated>2010-08-24T13:11:54Z<updated>

<link href=“http://examlpe.com/1234 />

<content>테스트 입니다.</content>

</entry>

Page 6: Atom

메타 데이터

• ID (<id>• tag:{DNS명 또는 메일주소},{일자}:{임의의 문자열}

• 타이틀과 개요 (<title>, <summary>)• Type 속성으로 text, html, xhtml라는 값을 가짐. (default:text)

• 저자와 공헌자 (<author>, <contributor>)• <name>,<uri>,<email> 요소를 가짐

• 공개일시와 갱신일시 (<updated>, <published>)• 일시 포맷은 ISO 8061형식.

• 링크• rel 속성으로 링크 관계를 표현

• 엔트리의 내용• <content> 자식요소를 가짐, plain text, html, xhtml

• 바이너리 데이터를 content 요소에 넣을 경우 Base64 인코딩.

Page 7: Atom

피드

• 엔트리의 집합

• 메타데이터

• 엔트리와 동일 하게 <id>, <title>, <author>, <updated> 필수요소.

• <subtitle>요소에는 타이틀에서 다 설명하지 못한 설명기술.

• <generator>요소는 피드를 생성한 프로그램의 정보.

• <icon> favicon을 지정 (uri로 표현).

• <logo> 요소는 피드를 상징하는 이미지를 지정.

Page 8: Atom

Atom의 확장

• 확장요소는 ‘os’(OpenSearch)라는 접두어를 사용.

• OpenSearch는 검색결과의 표준 포맷.

• Atom 이름공간 이외의 확장요소는 외부마크업.

• OpenSearch를 구현 하지 않은 프로그램은 Atom형식이외의 스펙은 무시(mustignore).

Page 9: Atom

Atom Threading Extenstions

• Contents에 대한 답변등을 표현. (thread 형식).

• RFC 4685에 정의 (Atom의 표준 요소만으로 표현 불가).

• 이름공간

• http://purl.org/syndication/thread/1.0

Page 10: Atom

<thr:in-reply-to>

• 엔트리에 대한 답글, 대응관계를 표현.

• 하나의 엔트리에 대한 여러 개 요소 등장가능. (복수의엔트리 답글)

• 속성• ref : 참조하는 엔트리의 ID. 필수

• href : 엔트리의 표현을 얻기위한 URI. 임의

• type : href 속성에서 참조하는 리소스의 미디어 타입. 임의

• source ref 속성에서 참조하는 엔트리를 포함하는 피드의 URI.임의

Page 11: Atom

replies

• 부모 엔트리 쪽에서 자식 엔트리 참조.

• 속성 (링크관계에 대한 속성)• href : 엔트리에 대한 답글이 있는 리소스의 URI. 필수

• type : href에서 참조하는 리소스의 미디어 타입. 생략 시default는 application/atom+xml.

• thr:count : href로 참조하는 리소스의 총 답글수(양수). 임의

• thr:update : 엔트리에 대한 답글이 마지막으로 갱신된 시각

• <thr:total> 요소• 엔트리에 대한 답글의 총수.

Page 12: Atom

Atom License Extension

• 라이선스 정보를 표현.

• rel-license는 이름공간이 없음.

• 복수의 라이선스 제공.

• 라이선스를 지정하지 않는 것을 명시하고싶은 경우 unspecifed 링크를 지정.

• <rights>

• 피드와 엔트리의 권리정보를 기술하는 요소.

Page 13: Atom

Feed Paging and Archiving

• feed를 분할.

• 이름공간

• http://purl.org/syndication/history/1.0

• 피드의 종류

• 완전 피드(Complete Feed)

• 페이지화 피드(Paged Feed)

• 아카이브된 피드(Archived Feed)

Page 14: Atom

피드의 종류

• 완전 피드(Complete Feed)• 모든 엔트리를 하나의 문서에 포함하고 있는 피드.

• 피드가 여러 개로 분할되지 않는다는 것을 보여주는 것이 목적.

• <fh:complete>

• 페이지화 피드(Paged Feed)• 엔트리를 복수의 일시적인 문서로 분할하고 있는 피드.

• 방대한 건수의 엔트리를 가지는 피드를 몇 개의 페이지로 분할.

• 페이지사이의 링크관계 : first, last, previous, next, current

• 아카이브된 피드(Archived Feed)• 엔트리를 복수의 일시적인 문서로 분할하고 있는 피드.

• 피드에 포함되는 엔트리의 내용이 비교적 고정되어있다.

• 피드마다 포함되는 엔트리의 개수가 고르지 않다.

Page 15: Atom

OpenSearch

• 검색결과를 표현.

• Amazon의 자회사인 A9 중심이 되어 책정된 스펙.

• 파트• Description Document : 검색엔진이 제공하는 검색기능을 프로그램이 이해할 수 있는 형식으로 기술하는 xml형식.

• URL Template Syntax : 검색결과 리소스를 표현하는 URL의 검색 쿼리 부분을 파라미터화 하는 스펙.

• Query Element : URL Template Syntax에서 사용하는 검색 파라미터를 기술하는 xml 요소.

• Response Element : 검색결과를 Atom과 RSS 2.0드으이 피드형식 으로 표현하기 위한 확장 요소.

Page 16: Atom

Resonse Element

• 요소

• 이름공간 : http://a9.com/-/opensearch/1.1/

• <os:totalResults> : 검색결과 총 수를 표현.

• <os:startIndex> : 피드에 들어 있는 검색결과의 최초엔트리의 인덱스를 보여준다.

• <os:itemPerPage> : 한 피드에 들어가는 최대 검색결과 엔트리 수를 나타낸다.

• <os:Query> : 검색쿼리를 나타낸다.