마이크로포맷(Microformats)을 이용하면 문서 자체를 분석하는 방법을 알아야 할 필요없이 페이지의 정보에 대한 요약을 표시할 수 있도록 웹 사이트가 의미 데이터(semantic data)를 브라우저에 제공할 수 있습니다. Firefox 3는 마이크로포맷에 대한 접근을 제공하는 전역 Microformats
개체를 구현합니다. 이 개체와 API를 이용하면 마이크로포맷을 쉽게 찾고 읽을 수 있습니다.
마이크로포맷 API 로드하기
Microformats
개체는 Firefox 3에 추가된 새로운 자바스크립트 로더를 이용하여 생성합니다. API를 사용하려면 먼저 개체를 로드해야 합니다:
Components.utils.import("resource://gre/modules/Microformats.js");
마이크로포맷 API를 로드하고 나면 아래에 나열한 메소드를 이용하여 마이크로포맷을 다룰 수 있습니다. 마이크로포맷을 파싱하는 방법에 대한 정보는 Parsing microformats in JavaScript를 참고하십시오.
미리 정의된 마이크로포맷
Firefox 3는 몇 가지 일반적인 마이크로포맷을 구현한 정의를 제공합니다.
adr
- 주소를 표시합니다.
geo
- 위도와 경도를 이용한 지리적 위치를 표시합니다.
hCard
- 사람에 대한 연락 정보를 표시합니다.
hCalendar
- 달력의 일정 항목을 표시합니다.
tag
- 다른 마이크로포맷에 태그를 추가하는데 사용합니다.
메소드
add()
마이크로포맷 모듈에 새로운 마이크로포맷을 추가합니다.
add(name, definition);
매개변수
- <tt>name</tt>
- 마이크로포맷 모듈에 추가하려는 마이크로포맷의 이름.
- <tt>definition</tt>
- 마이크로포맷을 기술하는 자바스크립트 구조. 자세한 사항은 Describing microformats in JavaScript를 참고.
count()
지정한 조건을 만족하는 문서에 있는 마이크로포맷의 개수를 구합니다.
numMicroformats = Microformats.count(name, rootElement, recurseFrames);
매개변수
- <tt>name</tt>
- 검색하려는 마이크로포맷의 이름
- <tt>rootElement</tt>
- 검색을 시작할 DOM 요소. 전체 문서에서 검색하려면
content.document
를 명시해야 합니다. - <tt>options</tt>
- 선택사항. 아래 플래그를 포함하는 자바스크립트 개체:
- <tt>recurseExternalFrames</tt>
true
이면 자식 프레임을 검색에 포함. 기본 값은true
.- <tt>showHidden</tt>
true
이면 숨겨진 마이크로포맷을 추가하고 그렇지 않으면 생략. 기본 값은false
.- <tt>debug</tt>
- 디버그 모드를 사용하려면
true
로 지정하고 그렇지 않으면false
로 지정. 기본 값은false
.
반환 값
지정한 조건을 만족하는 마이크로포맷 개수를 가리키는 정수 값.
debug()
마이크로포맷 개체를 설명하는 문자열을 반환합니다.
debug()
를 호출할 수 있습니다: 이 메소드 대신 microformatObject.debug()
를 이용할 수도 있습니다.dumpString = debug(microformatObject)
매개변수
- <tt>microformatObject</tt>
- 정보를 표시할 마이크로포맷 개체.
반환 값
지정한 마이크로포맷 개체의 내용을 설명하는 문자열.
get()
지정한 조건에 따라 검색한 마이크로포맷에 해당하는 마이크로포맷 개체의 배열을 반환합니다.
microformatsArray = Microformats.get(name, rootElement, options, targetArray);
매개변수
- <tt>name</tt>
- 검색하려는 마이크로포맷의 이름
- <tt>rootElement</tt>
- 검색을 시작할 DOM 요소. 전체 문서에서 검색하려면
content.document
를 명시해야 합니다. - <tt>options</tt>
- 선택사항. 아래 플래그를 포함하는 자바스크립트 개체:
- <tt>recurseExternalFrames</tt>
true
이면 자식 프레임을 검색에 포함. 기본 값은true
.- <tt>showHidden</tt>
true
이면 숨겨진 마이크로포맷을 추가하고 그렇지 않으면 생략. 기본 값은false
.- <tt>debug</tt>
- 디버그 모드를 사용하려면
true
로 지정하고 그렇지 않으면false
로 지정. 기본 값은false
.
- <tt>targetArray</tt>
- 선택사항. 검색 결과를 추가할 마이크로포맷 개체의 배열.
반환 값
검색 조건을 만족하는 마이크로포맷 개체의 새로운 배열, 혹은 발견한 마이크로포맷 개체를 추가한 <tt>microformats</tt>에서 지정한 배열.
getNamesFromNode()
지정한 마이크로포맷 노드에 해당하는 공백으로 구별되는 마이크로포맷 이름의 목록을 반환합니다.
nameList = Microformats.getNamesFromNode(node);
매개변수
- <tt>node</tt>
- 마이크로포맷 이름 목록을 구할 노드
Return value
지정한 노드가 마이크로포맷인 경우 노드에 해당하는 모든 마이크로포맷의 이름을 공백으로 구별하여 나열하는 문자열. 해당 노드가 마이크로포맷이 아닌 경우에는 아무것도 반환하지 않음.
getParent()
지정한 마이크로포맷이나 마이크로포맷 자식의 부모 노드를 반환합니다.
parentNode = Microformats.getParent(node);
매개변수
- <tt>node</tt>
- 부모 노드를 구할 노드
반환 값
지정한 노드의 부모. 지정한 노드가 마이크로포맷이 아니거나 마이크로포맷의 자식이 아닌 경우에는 아무것도 반환하지 않음.
isMicroformat()
지정한 DOM 노드가 마이크로포맷인지 구별합니다.
flag = Microformats.isMicroformat(node);
매개변수
- <tt>node</tt>
- 마이크로포맷 여부를 확인할 DOM 노드.
반환 값
노드가 마이크로포맷이면 true
, 그렇지 않으면 false
.
true
를 반환하지 않습니다.