Funktionsmanifest för Eclipse-plattformen
Version 3.0 - Senast uppdaterad 22 juni 2004
Funktionsmanifestformatet definieras av följande dtd:
<?xml encoding="ISO-8859-1"?>
<!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
>
Element- och attributdefinitionerna är de följande:
- <feature> - definierar funktionen
- id - funktions-ID som krävs (t.ex. com.xyz.myfeature)
- version - komponentversion som krävs (t.ex. 1.0.3)
- label - valfri visningsbar etikett (namn). Bör översättas.
- provider-name - valfri visningsetikett som identifierar den organisation som tillhandahåller komponenten. Bör översättas.
- image - valfri bild som kan användas till att visa information om funktionen.
Anges relativt feature.xml.
- os - valfri operativsystemsspecifikation. En kommaavgränsad lista med
operativsystem-ID:n som definieras av Eclipse (information om
org.eclipse.core.runtime.Platform) finns i Javadoc).
Anger att den här funktionen endast bör installeras i något av de angivna operativsystemen. Om det här attributet inte anges kan funktionen installeras i alla system (bärbar implementering). Installations- och uppdateringsfunktionerna använder den här informationen som ett tips (användaren kan välja att installera funktionen oavsett inställningen).
- arch - valfri datorarkitekturspecifikation. En kommaavgränsad lista med
arkitektur-ID:n som definieras av Eclipse (information om
org.eclipse.core.runtime.Platform) finns i Javadoc).
Anger att den här funktionen endast bör installeras i något av de angivna systemen. Om det här attributet inte anges kan funktionen installeras i alla system (bärbar implementering). Installations- och uppdateringsfunktionerna använder den här informationen som ett tips (användaren kan välja att installera funktionen oavsett inställningen).
- ws - valfri fönstersystemspecifikation. En kommaavgränsad lista med
fönstersystem-ID:n som definieras av Eclipse (information om
org.eclipse.core.runtime.Platform) finns i Javadoc).
Anger att den här funktionen endast bör installeras i något av de angivna fönstersystemen. Om det här attributet inte anges kan funktionen installeras i alla system (bärbar implementering). Installations- och uppdateringsfunktionerna använder den här informationen som ett tips (användaren kan välja att installera funktionen oavsett inställningen).
- nl - valfri språkmiljöspecifikation. En kommaavgränsad lista med språkmiljö-ID:n definierade av Java. Anger att den här funktionen endast bör installeras i ett system med en kompatibel språkmiljö (där Java-regler för språkmiljömatchning används). Om det här attributet inte anges kan funktionen installeras i alla system (språkneutral implementering). Installations- och uppdateringsfunktionerna använder den här informationen som ett tips (användaren kan välja att installera funktionen oavsett inställningen).
- colocation-affinity - valfri referens till ett annat funktions-ID som används till att välja
standardplats för installation för den här funktionen. När
funktionen installeras som en ny funktion (inga andra versioner av den
är installerade) görs ett försök att installera funktionen på samma
installationsplats som den refererade funktionen.
- primary - valfri indikation som anger om funktionen kan användas som en primär funktion. Standardvärdet är false (inte en primär funktion).
- application - valfritt ID för Eclipse-tillämpningen som ska användas vid start när
den deklarerande funktionen är den primära funktionen. Tillämpnings-ID:t måste representera en giltig tillämpning som är registrerad i utökningspunkten org.eclipse.core.runtime.applications. Standardvärdet är org.eclipse.ui.ide.workbench.
- plugin - valfritt ID som representerar ID:t för det insticksprogram
som anges i funktionen och används för varumärkesinformation för funktionen
(bilder, översättningar, välkomstskärmar för primärfunktionen osv.). Om det inte anges antas att tillskrivningsinsticksprogrammet har samma ID som funktionen.
- exclusive - valfri flagga som, om "true" anges, anger att funktionen inte kan installeras i en grupp med andra funktioner.
- <install-handler>
- library - valfritt .jar-bibliotek som innehåller installationshanteringsklasserna.
Om det anges måste den refererade .jar-filen ingå i funktionsarkivet.
Det anges som en sökväg i funktionsarkivet, relativt feature.xml. Om det inte anges används själva funktionsarkivet till att läsa in installationshanteringsklasserna. Det här attributet tolkas endast om class-attributet också anges.
- handler - valfritt ID för installationshanteraren. Värdet tolkas beroende på värdet för library-attributet. Om library anges tolkas värdet som ett fullständigt namm för en klass som ingår i det angivna biblioteket (library). Om library inte anges tolkas värdet som ett utöknings-ID för en utökning som registrerats i utökningspunkten org.eclipse.update.installHandlers. I båda fallen måste resultatklassen implementera IInstallHandler-gränssnittet. Klassen läses in dynamiskt och anropas vid specifika tidpunkter under funktionsbearbetningen. När hanteraren anges som en klass kan den användas för API-klasserna från insticksprogrammet org.eclipse.update.core och de Eclipse-insticksprogram som krävs för det insticksprogrammet. I annat fall, när hanteraren anges som en utökning, har den åtkomst till alla klasser som det insticksprogram som definierar utökningen.
- <description> - en kort komponentbeskrivning som vanlig text. Bör översättas.
- url - valfri URL-adress för den fullständiga beskrivningen i HTML-format. URL-adressen kan anges som
absolut eller relativ. Om den anges vara relativ antas den vara relativ till (och
paketerad i) funktionsarkivet. Observera att för NL-hantering bör URL-värdet
avgränsas så att olika URL-adresser kan anges för olika språk.
- <copyright> - funktionscopyright som vanlig text. Bör översättas.
- url - valfri URL-adress för den fullständiga beskrivningen i HTML-format. URL-adressen kan anges som
absolut eller relativ. Om den anges vara relativ antas den vara relativ till (och
paketerad i) funktionsarkivet. Observera att för NL-hantering bör URL-värdet
avgränsas så att olika URL-adresser kan anges för olika språk.
- <license> - funktionslicens med alternativ för att acceptera/inte acceptera med vanlig text. Bör översättas. Den visas i en standarddialogruta med åtgärderna [Accept] (accepterar) och [Reject] (accepterar inte) under hämtnings- eller installationsprocessen. Observera att en licens måste anges för varje funktion som ska väljas för installation eller uppdatering med hjälp av Eclipse-uppdateringshanteraren. När nästlade funktioner används måste det finnas en definierad licenstext endast för den överordnade nästlingsfunktionen (dvs. den funktion som valdes för installation eller uppdatering). Licenstext krävs även om det valfria url-attributet anges.
- url - valfri URL-adress för den fullständiga beskrivningen i HTML-format. URL-adressen kan anges som
absolut eller relativ. Om den anges vara relativ antas den vara relativ till (och
paketerad i) funktionsarkivet. Observera att för NL-hantering bör URL-värdet
avgränsas så att olika URL-adresser kan anges för olika språk. Observera att "innehållet" i URL-adressen inte är vad som visas som licens under installationen. Licensen är det faktiska värdet för <license>-elementet (t.ex. <license>licensalternativtext</license>)
- <url> - valfri URL-adress till webbplatser som innehåller funktionsuppdateringar eller nya funktioner
- <update> - URL-adress du kan besöka för att hämta uppdateringar till den här funktionen
- url - faktisk URL-adress
- label - visningsbar etikett (namn) för den refererade webbplatsen
- <discovery> - URL-adress du kan besöka för att hämta nya funktioner. I allmänhet kan en leverantör använda det här elementet till att referera till sina egna webbplatser eller partnerwebbplatser som tillhandahåller tilläggsfunktioner. Eclipse använder det här elementet helt enkelt som ett sätt att distribuera nya webbplats-URL-adresser till klienter. Webbplatser som tillhör rotfunktioner (längst upp i hierarkin) visas vanligen i "Platser att besöka" i uppdateringshanteraren.
- url - faktisk URL-adress
- label - visningsbar etikett (namn) för den refererade webbplatsen
- type (ny i 2.1) - som standard antas Discovery-webbplatser vara uppdateringswebbplatser ("update"). Genom att ange "web" som värde för det här attributet kan du ange att
URL-adressen ska behandlas som en vanlig webbhyperlänk som kan visas direkt i en lämplig webbläsare.
- <includes> - valfri referens till en nästlad funktion som anses vara en del av funktionen. Nästlade funktioner måste finnas på samma uppdateringswebbplats som den här funktionen.
- id - funktions-ID som krävs. Om funktionen är en rättning (mer information finns i avsnittet
<requires> nedan) måste det vara ID:t för en annan rättning.
- version - nästlad funktionsversion som krävs
- optional - det går att inkludera en funktion som valfri när det här attributet är "true". Användare kan välja att inte installera valfria funktioner eller avaktivera dem om de är
installerade och installera dem senare. Om en valfri funktion saknas betraktas det inte som ett fel.
- name - om valfri funktion saknas kan inte Eclipse återge namnet på rätt sätt. Attributet kan användas som en platshållare så att Eclipse kan återge namnet på den valfria funktionen när den inte är installerad.
- search-location - en funktion som ingår kan uppdateras med rättningar. Som standard är sökplatsen "root"
vilket innebär att den URL-adress som anges i "update"-elementet i "url"-elementet för den överordnade funktionen kan komma ifråga. Om en det finns ett
"update"-element definierat för funktionen ignoreras det som standard.
Om den överordnade funktionen anger att den underordnade funktionen ska uppdateras från sin egen plats kan "both" eller "self" anges för attributet.
- os - valfri operativsystemsspecifikation. En kommaavgränsad lista med
operativsystem-ID:n som definieras av Eclipse (information om
org.eclipse.core.runtime.Platform) finns i Javadoc).
Anger att den här posten endast bör installeras i något av de angivna operativsystemen. Om det här attributet inte anges kan posten installeras i alla system (bärbar implementering). Installations- och uppdateringsfunktionerna använder den här informationen som ett tips (användaren kan välja att installera funktionen oavsett inställningen).
- arch - valfri datorarkitekturspecifikation. En kommaavgränsad lista med
arkitektur-ID:n som definieras av Eclipse (information om
org.eclipse.core.runtime.Platform) finns i Javadoc).
Anger att den här funktionen endast bör installeras i något av de angivna systemen. Om det här attributet inte anges kan funktionen installeras i alla system (bärbar implementering). Installations- och uppdateringsfunktionerna använder den här informationen som ett tips (användaren kan välja att installera funktionen oavsett inställningen).
- ws - valfri fönstersystemspecifikation. En kommaavgränsad lista med
fönstersystem-ID:n som definieras av Eclipse (information om
org.eclipse.core.runtime.Platform) finns i Javadoc).
Anger att den här posten endast bör installeras i något av de angivna fönstersystemen.
Om det här attributet inte anges kan posten installeras i alla system (bärbar implementering). Installations- och uppdateringsfunktionerna använder den här informationen som ett tips (användaren kan välja att installera funktionen oavsett inställningen).
- nl - valfri språkmiljöspecifikation. En kommaavgränsad lista med språkmiljö-ID:n definierade av Java. Anger att den här posten endast bör installeras i ett system med en kompatibel språkmiljö (där Java-regler för språkmiljömatchning används). Om det här attributet inte anges kan posten installeras i alla system (språkneutral implementering). Installations- och uppdateringsfunktionerna använder den här informationen som ett tips (användaren kan välja att installera funktionen oavsett inställningen).
- <requires> - valfri information om funktionsberoenden. Uttrycks i
termer av beroenden för insticksprogram. Om den anges används den av installations- och uppdateringsfunktionerna vid installation
- <import> - beroendepost. Specifikation och bearbetning är en delmängd av <import>-specifikationen i plugin.xml
- plugin - ID för beroende insticksprogram om insticksprogrammet används till att uttrycka beroendet
- feature (ny i 2.1) - ID för beroende funktion om funktionen används till att uttrycka beroendet Antingen insticksprograms- eller funktionsattributet måste anges, men inte båda. Om "patch" är "true" måste funktionsattributet användas.
- version - valfri versionsspecifikation för insticksprogram. Om "patch" är
"true" måste version anges.
- match - valfri matchningsregel. Giltiga värden och giltig bearbetning:
- om versionsattributet inte anges ignoreras matchningsattributet (om det har angetts).
- perfect - beroende insticksprogramsversion måste motsvara den angivna
versionen exakt. Om "patch" är "true" antas att "perfect"
gäller och det går inte att ange andra värden.
- equivalent - beroende insticksprogramsversion måste vara minst den angivna
versionen eller på högre tjänstnivå (versionsnivåerna för överordnad och underordnad måste vara desamma som den angivna versionen).
- compatible - beroende insticksprogramsversion måste vara minst den angivna
versionen eller på högre tjänstnivå eller underordnad nivå (versionsnivån för överordnad måste vara densamma som den angivna versionen).
- greaterOrEqual - beroende insticksprogramsversion måste vara minst den angivna
versionen eller på högre tjänstnivå eller under- eller överordnad nivå.
- patch - om värdet är "true" deklarerar den här begränsningen att den omslutande funktionen ska vara en rättning för den refererade funktionen. Vissa regler måste följas när det här
attributet anges:
- funktionsattributet måste användas som ID för den funktion som rättningen används för
- versionsattributet måste anges
- matchningsattributet bör inte anges och värdet "perfect" antas.
- om andra funktioner ingår (<include>) måste de också vara rättningar
En rättning är en specialfunktion som har nyare versioner av insticksprogram för den funktion den rättar. Den ersätter inte funktionen. En rättning kan även ha andra rättningar.
- <plugin> - identifierar refererade insticksprogram
- id - insticksprograms-ID som krävs (från plugin.xml)
- version - insticksprogramsversion som krävs (från plugin.xml)
- fragment - valfri specifikation som anger om den här posten är ett insticksprogramsfragment. Standard är "false"
- os - valfri operativsystemsspecifikation. En kommaavgränsad lista med
operativsystem-ID:n som definieras av Eclipse (information om
org.eclipse.core.runtime.Platform) finns i Javadoc).
Anger att den här posten endast bör installeras i något av de angivna operativsystemen. Om det här attributet inte anges kan posten installeras i alla system (bärbar implementering). Installations- och uppdateringsfunktionerna använder den här informationen som ett tips (användaren kan välja att installera funktionen oavsett inställningen).
- arch - valfri datorarkitekturspecifikation. En kommaavgränsad lista med
arkitektur-ID:n som definieras av Eclipse (information om
org.eclipse.core.runtime.Platform) finns i Javadoc).
Anger att den här funktionen endast bör installeras i något av de angivna systemen. Om det här attributet inte anges kan funktionen installeras i alla system (bärbar implementering). Installations- och uppdateringsfunktionerna använder den här informationen som ett tips (användaren kan välja att installera funktionen oavsett inställningen).
- ws - valfri fönstersystemspecifikation. En kommaavgränsad lista med
fönstersystem-ID:n som definieras av Eclipse (information om
org.eclipse.core.runtime.Platform) finns i Javadoc).
Anger att den här posten endast bör installeras i något av de angivna fönstersystemen.
Om det här attributet inte anges kan posten installeras i alla system (bärbar implementering). Installations- och uppdateringsfunktionerna använder den här informationen som ett tips (användaren kan välja att installera funktionen oavsett inställningen).
- nl - valfri språkmiljöspecifikation. En kommaavgränsad lista med språkmiljö-ID:n definierade av Java. Anger att den här posten endast bör installeras i ett system med en kompatibel språkmiljö (där Java-regler för språkmiljömatchning används). Om det här attributet inte anges kan posten installeras i alla system (språkneutral implementering). Installations- och uppdateringsfunktionerna använder den här informationen som ett tips (användaren kan välja att installera funktionen oavsett inställningen).
- download-size - valfritt tips som tillhandahålls av funktionspaketeraren och anger hämtningsstorleken i kB för det refererade insticksprogramsarkivet. Om den inte anges är hämtningsstorleken okänd (Implementeringskommentar: implementeringen måste gör åtskillnad mellan okänd och en storlek på 0)
- install-size - valfritt tips som tillhandahålls av funktionspaketeraren och anger installationsstorleken i kB för det refererade insticksprogramsarkivet. Om den inte anges är installationsstorleken okänd (Implementeringskommentar: implementeringen måste gör åtskillnad mellan okänd och en storlek på 0)
- unpack (ny i 3.0) - valfri specifikation som tillhandahålls av funktionspaketeraren och anger att det går att köra insticksprogrammet från en jar-fil och att innehåll i jar-filen för insticksprogrammet inte bör packas upp i en katalog. Standard är "true".
(Implementeringskommentar: delinsticksprogram som levereras i en funktion där org.eclipse.update.core.DeltaInstallHandler är angiven som installationshanterare bör inte ha värdet "false" för uppackning)
- <data> - identifierar data som inte är insticksprogramsdata men en del av funktionen
- id - obligatoriskt data-ID i form av en relativ sökväg.
- os - valfri operativsystemsspecifikation. En kommaavgränsad lista med
operativsystem-ID:n som definieras av Eclipse (information om
org.eclipse.core.runtime.Platform) finns i Javadoc).
Anger att den här posten endast bör installeras i något av de angivna operativsystemen.
Om det här attributet inte anges kan posten installeras i alla system (bärbar implementering). Installations- och uppdateringsfunktionerna använder den här informationen som ett tips (användaren kan välja att installera funktionen oavsett inställningen).
- arch - valfri datorarkitekturspecifikation. En kommaavgränsad lista med
arkitektur-ID:n som definieras av Eclipse (information om
org.eclipse.core.runtime.Platform) finns i Javadoc).
Anger att den här funktionen endast bör installeras i något av de angivna systemen. Om det här attributet inte anges kan funktionen installeras i alla system (bärbar implementering). Installations- och uppdateringsfunktionerna använder den här informationen som ett tips (användaren kan välja att installera funktionen oavsett inställningen).
- ws - valfri fönstersystemspecifikation. En kommaavgränsad lista med
fönstersystem-ID:n som definieras av Eclipse (information om
org.eclipse.core.runtime.Platform) finns i Javadoc).
Anger att posten endast bör installeras i något av de angivna fönstersystemen. Om det här attributet inte anges kan posten installeras i alla system (bärbar implementering). Installations- och uppdateringsfunktionerna använder den här informationen som ett tips (användaren kan välja att installera funktionen oavsett inställningen).
- nl - valfri språkmiljöspecifikation. En kommaavgränsad lista med språkmiljö-ID:n definierade av Java. Anger att den här posten endast bör installeras i ett system med en kompatibel språkmiljö (där Java-regler för språkmiljömatchning används). Om det här attributet inte anges kan posten installeras i alla system (språkneutral implementering). Installations- och uppdateringsfunktionerna använder den här informationen som ett tips (användaren kan välja att installera funktionen oavsett inställningen).
- download-size - valfritt tips som tillhandahålls av funktionspaketeraren och anger hämtningsstorleken i kB för det refererade dataarkivet. Om den inte anges är hämtningsstorleken okänd (Implementeringskommentar: implementeringen måste gör åtskillnad mellan okänd och en storlek på 0)
- install-size - valfritt tips som tillhandahålls av funktionspaketeraren och anger installationsstorleken i kB för det refererade dataarkivet. Om den inte anges är installationsstorleken okänd (Implementeringskommentar: implementeringen måste gör åtskillnad mellan okänd och en storlek på 0)
Vid interaktion med uppdateringswebbplatsen avbildar funktionsimplementeringen <plugin>-
och <data>-elementen till sökvägs-ID:n som används av webbplatsen till att bestämma vilka filer som ska hämtas och installeras. Standardfunktionsimplementeringen som tillhandahålls av Eclipse skapar sökvägs-ID:n på följande sätt:
-
<plugin>-elementet resulterar i en sökvägspost i formatet "plugins/<pluginId>_<pluginVersion>.jar"
(till exempel "plugins/org.eclipse.core.boot_2.0.0.jar")
-
<data>-elementet resulterar i en sökvägspost i formatet "features/<featureId>_<featureVersion>/<dataId>"
(till exempel "features/com.xyz.tools_1.0.3/examples.zip")
Observera att feature.xml -manifestetdokumenten i allmänhet bör ange UTF-8-kodning. Exempel:
<?xml version="1.0" encoding="UTF-8"?>
Översättningsbar text i feature.xml kan delas upp i
feature<_locale>.properties-filer med hjälp av Java-konventioner för egenskapssamlingspaket.
Observera att de översatta strängarna används vid installation (dvs. använd inte Runtime-mekanismen för insticksprogramsfragment).