Eclipse 플랫폼 기능 Manifest

버전 3.0 - 최종 개정: 2004년 6월 22일

기능 Manifest 형식은 다음의 dtd로 정의됩니다.

<?xml encoding="UTF-8"?>

<!ELEMENT feature (install-handler? | description? | copyright? | license? | url? | includes* | requires? | plugin* | data*)>
<!ATTLIST feature
    id            CDATA #REQUIRED
    version       CDATA #REQUIRED
    label         CDATA #IMPLIED
    provider-name CDATA #IMPLIED
    image         CDATA #IMPLIED
    os            CDATA #IMPLIED
    arch          CDATA #IMPLIED
    ws            CDATA #IMPLIED
    nl            CDATA #IMPLIED
    colocation-affinity
                  CDATA #IMPLIED
    primary       (true | false) "false"
    exclusive     (true | false) "false"
    plugin        CDATA #IMPLIED

    application   CDATA #IMPLIED
>

<!ELEMENT install-handler EMPTY>
<!ATTLIST install-handler
    library       CDATA #IMPLIED
    handler       CDATA #IMPLIED
>

<!ELEMENT description (#PCDATA)>
<!ATTLIST description
    url           CDATA #IMPLIED
>

<!ELEMENT copyright (#PCDATA)>
<!ATTLIST copyright
    url           CDATA #IMPLIED
>

<!ELEMENT license (#PCDATA)>
<!ATTLIST license
    url           CDATA #IMPLIED
>

<!ELEMENT url (update?, discovery*)>

<!ELEMENT update EMPTY>
<!ATTLIST update
    url           CDATA #REQUIRED
    label         CDATA #IMPLIED
>

<!ELEMENT discovery EMPTY>
<!ATTLIST discovery
    type          (web | update) "update"

    url           CDATA #REQUIRED
    label         CDATA #IMPLIED
>

<!ELEMENT includes EMPTY>
<!ATTLIST includes
    id                CDATA #REQUIRED
    version           CDATA #REQUIRED
    name              CDATA #IMPLIED
   optional          (true | false) "false"
    search-location   (root | self | both) "root"

    os                CDATA #IMPLIED
    arch              CDATA #IMPLIED
    ws                CDATA #IMPLIED
    nl                CDATA #IMPLIED
>

<!ELEMENT requires (import+)>

<!ELEMENT import EMPTY>
<!ATTLIST import
    plugin        CDATA #IMPLIED
    feature       CDATA #IMPLIED

    version       CDATA #IMPLIED
    match         (perfect | equivalent | compatible | greaterOrEqual) "compatible"
    patch         (true | false) "false"

>

<!ELEMENT plugin EMPTY>
<!ATTLIST plugin
    id            CDATA #REQUIRED
    version       CDATA #REQUIRED
    fragment      (true | false) "false"
    os            CDATA #IMPLIED
    arch          CDATA #IMPLIED
    ws            CDATA #IMPLIED
    nl            CDATA #IMPLIED
    download-size CDATA #IMPLIED
    install-size  CDATA #IMPLIED
    unpack        (true | false) "true"
>

<!ELEMENT data EMPTY>
<!ATTLIST data
    id            CDATA #REQUIRED
    os            CDATA #IMPLIED
    arch          CDATA #IMPLIED
    ws            CDATA #IMPLIED
    nl            CDATA #IMPLIED
    download-size CDATA #IMPLIED
    install-size  CDATA #IMPLIED
>

요소 및 속성 정의는 다음과 같습니다.

갱신 사이트와 상호작용할 때 이 기능 구현으로 <plugin><data> 요소가 이 사이트에서 사용된 경로 ID에 맵핑되어 다운로드 및 설치할 실제 파일을 판별합니다. Eclipse에서 제공한 기본 기능 구현은 다음과 같이 경로 ID를 구성합니다.

일반적으로 feature.xml  Manifest 문서는 UTF-8 인코딩을 지정해야 합니다. 예를 들면 다음과 같습니다.

<?xml version="1.0" encoding="UTF-8"?>

feature.xml에 포함된 변환 가능 텍스트는 Java 특성 번들 규칙을 사용하는 feature<_locale>.properties 파일로 분리될 수 있습니다. 변환된 문자열이 설치 시 사용된다는 점에 유의하십시오. 즉, 플러그인 단편 런타임 메커니즘을 사용하지 마십시오.