Δήλωση λειτουργίας της πλατφόρμας Eclipse
Εκδοχή 3.0 - Τελευταία αναθεώρηση στις 22 Ιουνίου 2004
Η μορφή της δήλωσης λειτουργίας ορίζεται από το ακόλουθο dtd:
<?xml encoding="ISO-8859-7"?>
<!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
>
Οι ορισμοί γνωρισμάτων και στοιχείων είναι οι εξής:
- <feature> -ορίζει τη λειτουργία
- id - η απαιτούμενη ταυτότητα της λειτουργίας (π.χ. com.xyz.myfeature)
- version - η απαιτούμενη εκδοχή του στοιχείου (π.χ. 1.0.3)
- label - προαιρετική εμφανιζόμενη ετικέτα (όνομα). Προοριζόμενη για μετάφραση.
- provider-name - προαιρετική εμφανιζόμενη ετικέτα που προσδιορίζει τον οργανισμό που παρέχει αυτό το στοιχείο. Προοριζόμενη για μετάφραση.
- image - προαιρετική εικόνα που χρησιμοποιείται όταν εμφανίζονται πληροφορίες για τη λειτουργία. Καθορίζεται ως σχετική με το feature.xml.
- os - προαιρετική προδιαγραφή του λειτουργικού συστήματος. Λίστα προσδιοριστικών λειτουργικού συστήματος διαχωρισμένων με κόμμα, που ορίζεται από το Eclipse (δείτε το Javadoc για org.eclipse.core.runtime.Platform).
Δηλώνει ότι αυτή η λειτουργία πρέπει να εγκαθίσταται μόνο σε ένα από τα καθορισμένα λειτουργικά συστήματα. Αν αυτό το γνώρισμα δεν καθορίζεται, η λειτουργία μπορεί να εγκατασταθεί σε όλα τα συστήματα (φορητή υλοποίηση). Αυτές οι πληροφορίες χρησιμοποιούνται ως υπόδειξη από την υποστήριξη εγκατάστασης και ενημέρωσης (ο χρήστης μπορεί να εγκαταστήσει υποχρεωτικά τη λειτουργία ανεξάρτητα από αυτή τη ρύθμιση).
- arch - προαιρετική προδιαγραφή της αρχιτεκτονικής υπολογιστή. Λίστα προσδιοριστικών αρχιτεκτονικής διαχωρισμένων με κόμμα, που ορίζεται από το Eclipse (δείτε το Javadoc για org.eclipse.core.runtime.Platform).
Δηλώνει ότι αυτή η λειτουργία πρέπει να εγκαθίσταται μόνο σε ένα από τα καθορισμένα συστήματα. Αν αυτό το γνώρισμα δεν καθορίζεται, η λειτουργία μπορεί να εγκατασταθεί σε όλα τα συστήματα (φορητή υλοποίηση). Αυτές οι πληροφορίες χρησιμοποιούνται ως υπόδειξη από την υποστήριξη εγκατάστασης και ενημέρωσης (ο χρήστης μπορεί να εγκαταστήσει υποχρεωτικά τη λειτουργία ανεξάρτητα από αυτή τη ρύθμιση).
- ws - προαιρετική προδιαγραφή του συστήματος παραθύρων. Λίστα προσδιοριστικών συστήματος παραθύρων διαχωρισμένων με κόμμα, που ορίζεται από το Eclipse (δείτε το Javadoc για org.eclipse.core.runtime.Platform).
Δηλώνει ότι αυτή η λειτουργία πρέπει να εγκατασταθεί μόνο σε ένα από τα καθορισμένα παραθυρικά συστήματα. Αν αυτό το γνώρισμα δεν καθορίζεται, η λειτουργία μπορεί να εγκατασταθεί σε όλα τα συστήματα (φορητή υλοποίηση). Αυτές οι πληροφορίες χρησιμοποιούνται ως υπόδειξη από την υποστήριξη εγκατάστασης και ενημέρωσης (ο χρήστης μπορεί να εγκαταστήσει υποχρεωτικά τη λειτουργία ανεξάρτητα από αυτή τη ρύθμιση).
- nl - προαιρετική προδιαγραφή τοπικών ρυθμίσεων. Λίστα προσδιοριστικών τοπικών ρυθμίσεων διαχωρισμένων με κόμμα, που ορίζεται από τη Java. Δηλώνει ότι αυτή η λειτουργία μπορεί να εγκατασταθεί μόνο σε συστήματα που εκτελούνται με συμβατές τοπικές ρυθμίσεις (με χρήση των κανόνων συμφωνίας τοπικών ρυθμίσεων Java). Αν αυτό το γνώρισμα δεν καθορίζεται, η λειτουργία μπορεί να εγκατασταθεί σε όλα τα συστήματα (υλοποίηση ουδέτερης γλώσσας). Αυτές οι πληροφορίες χρησιμοποιούνται ως υπόδειξη από την υποστήριξη εγκατάστασης και ενημέρωσης (ο χρήστης μπορεί να εγκαταστήσει υποχρεωτικά τη λειτουργία ανεξάρτητα από αυτή τη ρύθμιση).
- colocation-affinity - προαιρετική παραπομπή σε άλλη ταυτότητα λειτουργίας που χρησιμοποιείται για την επιλογή της προεπιλεγμένης θέσης εγκατάστασης για αυτή τη λειτουργία. Όταν η συγκεκριμένη λειτουργία εγκαθίσταται ως νέα λειτουργία (δηλαδή δεν έχουν εγκατασταθεί άλλες εκδοχές της), επιχειρείται η εγκατάσταση της λειτουργίας στην ίδια θέση εγκατάστασης με τη λειτουργία στην οποία γίνεται παραπομπή.
- primary - προαιρετική ένδειξη που καθορίζει αν η λειτουργία μπορεί να χρησιμοποιηθεί ως κύρια λειτουργία. Η προεπιλογή είναι false (όχι κύρια λειτουργία).
- application - προαιρετική ταυτότητα της εφαρμογής του Eclipse που πρέπει να χρησιμοποιηθεί κατά την εκκίνηση όταν η δηλούσα λειτουργία είναι η κύρια λειτουργία. Η ταυτότητα της εφαρμογής πρέπει να αντιπροσωπεύει μια έγκυρη εφαρμογή καταχωρημένη στο σημείο επέκτασης org.eclipse.core.runtime.applications. Η προεπιλογή είναι org.eclipse.ui.ide.workbench.
- plugin - προαιρετική ταυτότητα που αντιπροσωπεύει την ταυτότητα της πρόσθετης λειτουργίας που αναφέρεται στη λειτουργία, η οποία χρησιμοποιείται για τη μεταφορά πληροφοριών εμπορικής επωνυμίας για τη λειτουργία (εικόνες, μεταφράσεις, οθόνες εκκίνησης σε περίπτωση που πρόκειται για κύρια λειτουργία κτλ.). Αν δεν καθοριστεί, θα θεωρηθεί ότι η πρόσθετη λειτουργία αναφοράς έχει την ίδια ταυτότητα με τη λειτουργία.
- exclusive - προαιρετικός ενδείκτης που αν έχει τιμή "true", δηλώνει ότι η λειτουργία δεν είναι δυνατόν να εγκατασταθεί σε μια ομάδα με άλλες λειτουργίες.
- <install-handler>
- library - προαιρετική βιβλιοθήκη αρχείων .jar που περιέχει τις κλάσεις ρουτινών χειρισμού εγκατάστασης.
Αν καθοριστεί, το .jar στο οποίο γίνεται παραπομπή πρέπει να περιέχεται στο αρχείο αποθήκευσης λειτουργίας.
Καθορίζεται ως διαδρομή εντός του αρχείου αποθήκευσης της λειτουργίας σχετικό με την εγγραφή feature.xml. Αν δεν καθορίζεται, για τη φόρτωση των κλάσεων ρουτινών χειρισμού χρησιμοποιείται το ίδιο το αρχείο αποθήκευσης της λειτουργίας. Το γνώρισμα αυτό ερμηνεύεται μόνο αν καθορίζεται και το γνώρισμα class.
- handler - προαιρετική ταυτότητα της ρουτίνας χειρισμού εγκατάστασης. Η τιμή ερμηνεύεται ανάλογα με την τιμή του γνωρίσματος library. Αν καθοριστεί το γνώρισμα library, η τιμή ερμηνεύεται ως πλήρες όνομα της κλάσης που περιέχεται στο καθορισμένο library. Αν δεν καθορίζεται το γνώρισμα library, η τιμή ερμηνεύεται ως ταυτότητα μιας επέκτασης που έχει καταχωρηθεί στο σημείο επέκτασης org.eclipse.update.installHandlers. Σε κάθε περίπτωση, η προκύπτουσα κλάση πρέπει να υλοποιεί τη διεπαφή IInstallHandler. Η κλάση φορτώνεται δυναμικά και καλείται σε συγκεκριμένα σημεία κατά την επεξεργασία της λειτουργίας. Όταν η ρουτίνα χειρισμού καθορίζεται ως κλάση, έχει ορατότητα στις κλάσεις API από την πρόσθετη λειτουργία org.eclipse.update.core και τις πρόσθετες λειτουργίες του Eclipse που απαιτούνται από τη συγκεκριμένη πρόσθετη λειτουργία. Διαφορετικά, όταν καθορίζεται ως επέκταση, έχει πρόσβαση σε όλες τις κλάσεις ως η πρόσθετη λειτουργία που ορίζει την επέκταση.
- <description> - σύντομη περιγραφή στοιχείου ως απλό κείμενο. Προορίζεται για μετάφραση.
- url - προαιρετικό URL για την πλήρη περιγραφή σε μορφή HTML. Το URL μπορεί να οριστεί ως απόλυτο ή ως σχετικό. Αν οριστεί ως σχετικό, θεωρείται σχετικό (και συσκευασμένο εντός) του αρχείου αποθήκευσης της λειτουργίας. Σημειώστε ότι για το χειρισμό NL η τιμή URL πρέπει να διαχωριστεί ώστε να επιτρέπει τον καθορισμό εναλλακτικών URL για κάθε εθνική γλώσσα.
- <copyright> - το copyright της λειτουργίας ως απλό κείμενο. Προορίζεται για μετάφραση.
- url - προαιρετικό URL για την πλήρη περιγραφή σε μορφή HTML. Το URL μπορεί να οριστεί ως απόλυτο ή ως σχετικό. Αν οριστεί ως σχετικό, θεωρείται σχετικό (και συσκευασμένο εντός) του αρχείου αποθήκευσης της λειτουργίας. Σημειώστε ότι για το χειρισμό NL η τιμή URL πρέπει να διαχωριστεί ώστε να επιτρέπει τον καθορισμό εναλλακτικών URL για κάθε εθνική γλώσσα.
- <license> - άδεια χρήσης πολλαπλών σελίδων ως απλό κείμενο. Προορίζεται για μετάφραση. Εμφανίζεται σε τυπικό πλαίσιο διαλόγου με ενέργειες αποδοχής και απόρριψης κατά τη διαδικασία μεταφόρτωσης/εγκατάστασης. Πρέπει να σημειωθεί ότι η άδεια χρήσης πολλαπλών σελίδων πρέπει να καθοριστεί για οποιαδήποτε λειτουργία επιλεγεί για εγκατάσταση ή ενημέρωση με τη διαχείριση ενημερωμένων εκδόσεων του Eclipse. Όταν χρησιμοποιούνται ένθετες λειτουργίες, πρέπει να οριστεί κείμενο άδειας χρήσης πολλαπλών σελίδων μόνο για το γονικό στοιχείο (δηλαδή για τη λειτουργία που έχει επιλεγεί για εγκατάσταση ή ενημέρωση). Το κείμενο άδειας χρήσης απαιτείται, ακόμα και αν έχει καθοριστεί το προαιρετικό γνώρισμα url.
- url - προαιρετικό URL για την πλήρη περιγραφή σε μορφή HTML. Το URL μπορεί να οριστεί ως απόλυτο ή ως σχετικό. Αν οριστεί ως σχετικό, θεωρείται σχετικό (και συσκευασμένο εντός) του αρχείου αποθήκευσης της λειτουργίας. Σημειώστε ότι για το χειρισμό NL η τιμή URL πρέπει να διαχωριστεί ώστε να επιτρέπει τον καθορισμό εναλλακτικών URL για κάθε εθνική γλώσσα. Το "περιεχόμενο" αυτού του URL δεν είναι αυτό που παρουσιάζεται ως η άδεια χρήσης πολλαπλών σελίδων κατά την επεξεργασία των δεδομένων εγκατάστασης. Η
άδεια χρήσης πολλαπλών σελίδων είναι η πραγματική τιμή του στοιχείου
<license> (π.χ. <license>click
through text</license>)
- <url> - προαιρετικό URL που καθορίζει έναν ή περισσότερους δικτυακούς τόπους με ενημερωμένες εκδόσεις λειτουργιών ή νέες λειτουργίες.
- <update> - URL για ενημερωμένες εκδόσεις αυτής της λειτουργίας
- url - πραγματικό URL
- label - εμφανιζόμενη ετικέτα (όνομα) για το δικτυακό τόπο στον οποίο γίνεται παραπομπή
- <discovery> - URL για νέες λειτουργίες. Γενικά, ένας παροχέας μπορεί να χρησιμοποιήσει αυτό το στοιχείο για να παραπέμψει σε δικούς του δικτυακούς τόπους ή δικτυακούς τόπους συνεργατών που προσφέρουν συμπληρωματικές λειτουργίες. Το Eclipse χρησιμοποιεί αυτό το στοιχείο απλώς σαν έναν τρόπο κατανομής νέων URL δικτυακών τόπων στους πελάτες. Οι δικτυακοί τόποι που ανήκουν στις κεντρικές λειτουργίες (στην κορυφή της ιεραρχίας) συνήθως εμφανίζονται στην περιοχή "Δικτυακοί τόποι για επίσκεψη" στη διαχείριση ενημερωμένων εκδόσεων.
- url - πραγματικό URL
- label - εμφανιζόμενη ετικέτα (όνομα) για το δικτυακό τόπο στον οποίο γίνεται παραπομπή
- type (νέα λειτουργία της έκδοσης 2.1) - από προεπιλογή, οι δικτυακοί τόποι εντοπισμού θεωρούνται δικτυακοί τόποι ενημέρωσης ("update"). Ορίζοντας τιμή "web" σε αυτό το γνώρισμα, είναι πιθανό να δηλώσετε στο Eclipse ότι το URL πρέπει να αντιμετωπιστεί σαν κανονική υπερ-διασύνδεση διαδικτύου που μπορεί να εμφανιστεί άμεσα με ένα κατάλληλο πρόγραμμα πλοήγησης.
- <includes> - προαιρετική παραπομπή σε μια ένθετη λειτουργία που θεωρείται μέρος αυτής της λειτουργίας. Οι ένθετες λειτουργίες πρέπει να βρίσκονται στον ίδιο δικτυακό τόπο ενημέρωσης με αυτή τη λειτουργία
- id - απαιτούμενη ταυτότητα ένθετης λειτουργίας. Αν η λειτουργία είναι πακέτο επιδιόρθωσης κώδικα (δείτε την ενότητα <requires> παρακάτω), αυτό πρέπει να είναι η ταυτότητα ενός άλλου πακέτου επιδιόρθωσης κώδικα.
- version -απαιτούμενη εκδοχή ένθετης λειτουργίας
- optional - μια λειτουργία είναι δυνατόν να συμπεριληφθεί ως προαιρετική, όταν η τιμή αυτού του γνωρίσματος είναι "true". Επιτρέπεται στους χρήστες να μην εγκαταστήσουν προαιρετικές λειτουργίες, να τις απενεργοποιήσουν εφόσον έχουν εγκατασταθεί και να τις εγκαταστήσουν αργότερα. Μια προαιρετική λειτουργία που λείπει δεν αντιμετωπίζεται ως σφάλμα.
- name - αν μια προαιρετική λειτουργία λείπει, το Eclipse δεν μπορεί να αποδώσει σωστά το όνομά της. Αυτό το γνώρισμα μπορεί να χρησιμοποιηθεί ως "σύμβολο κράτησης θέσης" για να μπορεί το Eclipse να αποδώσει το όνομα της προαιρετικής λειτουργίας, αν δεν έχει εγκατασταθεί.
- search-location - μια συμπεριλαμβανόμενη λειτουργία μπορεί να ενημερωθεί από πακέτα επιδιόρθωσης κώδικα.
Από προεπιλογή, η θέση αναζήτησης είναι "root", το οποίο σημαίνει ότι θα ληφθεί υπόψη το URL που έχει καθοριστεί στο στοιχείο "update" εντός του στοιχείου "url" του γονικού. Αν για μια συμπεριλαμβανόμενη λειτουργία έχει καθοριστεί το δικό της στοιχείο "update", αυτό θα παραβλεφθεί από προεπιλογή.
Αν η γονική λειτουργία θέλει να επιτρέψει στο θυγατρικό στοιχείο να ενημερωθεί από τη δική της θέση, μπορεί να ορίσει τιμή "both" ή "self" για αυτό το γνώρισμα.
- os - προαιρετική προδιαγραφή του λειτουργικού συστήματος. Λίστα προσδιοριστικών λειτουργικού συστήματος διαχωρισμένων με κόμμα, που ορίζεται από το Eclipse (δείτε το Javadoc για org.eclipse.core.runtime.Platform).
Δηλώνει ότι αυτή η εγγραφή πρέπει να εγκαθίσταται μόνο σε ένα από τα καθορισμένα λειτουργικά συστήματα. Αν αυτό το γνώρισμα δεν καθορίζεται, η εγγραφή μπορεί να εγκατασταθεί σε όλα τα συστήματα (φορητή υλοποίηση). Αυτές οι πληροφορίες χρησιμοποιούνται ως υπόδειξη από την υποστήριξη εγκατάστασης και ενημέρωσης (ο χρήστης μπορεί να εγκαταστήσει υποχρεωτικά την εγγραφή ανεξάρτητα από αυτή τη ρύθμιση).
- arch - προαιρετική προδιαγραφή της αρχιτεκτονικής υπολογιστή. Λίστα προσδιοριστικών αρχιτεκτονικής διαχωρισμένων με κόμμα, που ορίζεται από το Eclipse (δείτε το Javadoc για org.eclipse.core.runtime.Platform).
Δηλώνει ότι αυτή η λειτουργία πρέπει να εγκαθίσταται μόνο σε ένα από τα καθορισμένα συστήματα. Αν αυτό το γνώρισμα δεν καθορίζεται, η λειτουργία μπορεί να εγκατασταθεί σε όλα τα συστήματα (φορητή υλοποίηση). Αυτές οι πληροφορίες χρησιμοποιούνται ως υπόδειξη από την υποστήριξη εγκατάστασης και ενημέρωσης (ο χρήστης μπορεί να εγκαταστήσει υποχρεωτικά τη λειτουργία ανεξάρτητα από αυτή τη ρύθμιση).
- ws - προαιρετική προδιαγραφή του συστήματος παραθύρων. Λίστα προσδιοριστικών συστήματος παραθύρων διαχωρισμένων με κόμμα, που ορίζεται από το Eclipse (δείτε το Javadoc για org.eclipse.core.runtime.Platform).
Δηλώνει ότι αυτή η εγγραφή πρέπει να εγκατασταθεί μόνο σε ένα από τα καθορισμένα παραθυρικά συστήματα.
Αν αυτό το γνώρισμα δεν καθορίζεται, η εγγραφή μπορεί να εγκατασταθεί σε όλα τα συστήματα (φορητή υλοποίηση). Αυτές οι πληροφορίες χρησιμοποιούνται ως υπόδειξη από την υποστήριξη εγκατάστασης και ενημέρωσης (ο χρήστης μπορεί να εγκαταστήσει υποχρεωτικά την εγγραφή ανεξάρτητα από αυτή τη ρύθμιση).
- nl - προαιρετική προδιαγραφή τοπικών ρυθμίσεων. Λίστα προσδιοριστικών τοπικών ρυθμίσεων διαχωρισμένων με κόμμα, που ορίζεται από τη Java. Δηλώνει ότι αυτή η εγγραφή μπορεί να εγκατασταθεί μόνο σε συστήματα που εκτελούνται με συμβατές τοπικές ρυθμίσεις (με χρήση των κανόνων συμφωνίας τοπικών ρυθμίσεων Java). Αν αυτό το γνώρισμα δεν καθορίζεται, η εγγραφή μπορεί να εγκατασταθεί σε όλα τα συστήματα (υλοποίηση ουδέτερης γλώσσας). Αυτές οι πληροφορίες χρησιμοποιούνται ως υπόδειξη από την υποστήριξη εγκατάστασης και ενημέρωσης (ο χρήστης μπορεί να εγκαταστήσει υποχρεωτικά την εγγραφή ανεξάρτητα από αυτή τη ρύθμιση).
- <requires> - προαιρετικές πληροφορίες εξάρτησης για τη λειτουργία. Εκφράζεται με όρους εξαρτήσεων πρόσθετων λειτουργιών. Αν καθοριστεί, επιβάλλεται από την υποστήριξη εγκατάστασης και ενημέρωσης κατά την εγκατάσταση
- <import> - καταχώρηση εξάρτησης. Η προδιαγραφή και η επεξεργασία είναι ένα υποσύνολο των προδιαγραφών <import> στο .xml της πρόσθετης λειτουργίας
- plugin - ταυτότητα της εξαρτώμενης πρόσθετης λειτουργίας, αν η πρόσθετη λειτουργία χρησιμοποιείται για να δηλώσει εξάρτηση
- feature (νέα λειτουργία της έκδοσης 2.1) - ταυτότητα μιας εξαρτημένης λειτουργίας, αν η λειτουργία χρησιμοποιείται για να δηλώσει εξάρτηση. Πρέπει να οριστεί είτε το γνώρισμα "plugin" είτε το γνώρισμα "feature", όχι και τα δύο. Αν το "patch" έχει τιμή "true", πρέπει να χρησιμοποιηθεί το γνώρισμα feature.
- version - προαιρετική προδιαγραφή της εκδοχής της πρόσθετης λειτουργίας. Αν το "patch" έχει τιμή "true", πρέπει να οριστεί η εκδοχή.
- match - προαιρετικός κανόνας συμφωνίας. Οι έγκυρες τιμές και η επεξεργασία έχουν ως εξής:
- Αν δεν καθοριστεί το γνώρισμα "version", το γνώρισμα "match" παραβλέπεται (αν έχει καθοριστεί).
- perfect - η εκδοχή της εξαρτώμενης πρόσθετης λειτουργίας πρέπει να συμφωνεί απόλυτα με την καθορισμένη εκδοχή. Αν το γνώρισμα "patch" έχει τιμή "true", λαμβάνεται υπόψη το γνώρισμα "perfect" και δεν μπορούν να οριστούν άλλες τιμές.
- equivalent - η εκδοχή της εξαρτώμενης πρόσθετης λειτουργίας πρέπει τουλάχιστον να ταυτίζεται με την καθορισμένη εκδοχή ή να είναι υψηλότερου επιπέδου συντήρησης (τα επίπεδα κύριας και δευτερεύουσας εκδοχής πρέπει να ταυτίζονται με την καθορισμένη εκδοχή).
- compatible - η εκδοχή της εξαρτώμενης πρόσθετης λειτουργίας πρέπει τουλάχιστον να ταυτίζεται με την καθορισμένη εκδοχή ή να είναι υψηλότερου επιπέδου συντήρησης ή υψηλότερου επιπέδου δευτερεύουσας εκδοχής (το επίπεδο κύριας εκδοχής πρέπει να ταυτίζεται με την καθορισμένη εκδοχή).
- greaterOrEqual - η εκδοχή της εξαρτώμενης πρόσθετης λειτουργίας πρέπει τουλάχιστον να ταυτίζεται με την καθορισμένη εκδοχή ή να είναι υψηλότερου επιπέδου συντήρησης και υψηλότερου επιπέδου δευτερεύουσας ή κύριας εκδοχή.
- patch - αν η τιμή είναι "true", αυτός ο περιορισμός δηλώνει την περικλείουσα λειτουργία ως πακέτο επιδιόρθωσης κώδικα για τη λειτουργία στην οποία γίνεται παραπομπή. Όταν οριστεί αυτό το γνώρισμα, πρέπει να τηρηθούν ορισμένοι κανόνες:
- το γνώρισμα "feature" πρέπει να χρησιμοποιηθεί στην ταυτότητα της λειτουργίας που επιδιορθώνεται
- πρέπει να οριστεί το γνώρισμα "version"
- δεν πρέπει να οριστεί το γνώρισμα "match" και θα ληφθεί υπόψη η τιμή "perfect".
- αν στον ορισμό <include> περιλαμβάνονται άλλες λειτουργίες, πρέπει και εκείνες να είναι πακέτα επιδιόρθωσης κώδικα.
Τα πακέτα επιδιόρθωσης κώδικα είναι ειδικές λειτουργίες που μεταφέρουν πιο πρόσφατες εκδοχές πρόσθετων λειτουργιών για τη λειτουργία που επιδιορθώνουν. Δεν αντικαθιστούν τη λειτουργία. Ένα πακέτο επιδιόρθωσης κώδικα μπορεί επίσης να συμπεριλαμβάνει άλλα πακέτα επιδιόρθωσης κώδικα.
- <plugin> - προσδιορίζει την πρόσθετη λειτουργία στην οποία γίνεται παραπομπή
- id - απαιτούμενη ταυτότητα πρόσθετης λειτουργίας (από το plugin.xml)
- version - απαιτούμενη εκδοχή της πρόσθετης λειτουργίας (από το plugin.xml)
- fragment - προαιρετική προδιαγραφή που δηλώνει αν αυτή η εγγραφή είναι τμήμα πρόσθετης λειτουργίας. Η προεπιλεγμένη τιμή είναι "false"
- os - προαιρετική προδιαγραφή του λειτουργικού συστήματος. Λίστα προσδιοριστικών λειτουργικού συστήματος διαχωρισμένων με κόμμα, που ορίζεται από το Eclipse (δείτε το Javadoc για org.eclipse.core.runtime.Platform).
Δηλώνει ότι αυτή η εγγραφή πρέπει να εγκαθίσταται μόνο σε ένα από τα καθορισμένα λειτουργικά συστήματα. Αν αυτό το γνώρισμα δεν καθορίζεται, η εγγραφή μπορεί να εγκατασταθεί σε όλα τα συστήματα (φορητή υλοποίηση). Αυτές οι πληροφορίες χρησιμοποιούνται ως υπόδειξη από την υποστήριξη εγκατάστασης και ενημέρωσης (ο χρήστης μπορεί να εγκαταστήσει υποχρεωτικά την εγγραφή ανεξάρτητα από αυτή τη ρύθμιση).
- arch - προαιρετική προδιαγραφή της αρχιτεκτονικής υπολογιστή. Λίστα προσδιοριστικών αρχιτεκτονικής διαχωρισμένων με κόμμα, που ορίζεται από το Eclipse (δείτε το Javadoc για org.eclipse.core.runtime.Platform).
Δηλώνει ότι αυτή η λειτουργία πρέπει να εγκαθίσταται μόνο σε ένα από τα καθορισμένα συστήματα. Αν αυτό το γνώρισμα δεν καθορίζεται, η λειτουργία μπορεί να εγκατασταθεί σε όλα τα συστήματα (φορητή υλοποίηση). Αυτές οι πληροφορίες χρησιμοποιούνται ως υπόδειξη από την υποστήριξη εγκατάστασης και ενημέρωσης (ο χρήστης μπορεί να εγκαταστήσει υποχρεωτικά τη λειτουργία ανεξάρτητα από αυτή τη ρύθμιση).
- ws - προαιρετική προδιαγραφή του συστήματος παραθύρων. Λίστα προσδιοριστικών συστήματος παραθύρων διαχωρισμένων με κόμμα, που ορίζεται από το Eclipse (δείτε το Javadoc για org.eclipse.core.runtime.Platform).
Δηλώνει ότι αυτή η εγγραφή πρέπει να εγκατασταθεί μόνο σε ένα από τα καθορισμένα παραθυρικά συστήματα.
Αν αυτό το γνώρισμα δεν καθορίζεται, η εγγραφή μπορεί να εγκατασταθεί σε όλα τα συστήματα (φορητή υλοποίηση). Αυτές οι πληροφορίες χρησιμοποιούνται ως υπόδειξη από την υποστήριξη εγκατάστασης και ενημέρωσης (ο χρήστης μπορεί να εγκαταστήσει υποχρεωτικά την εγγραφή ανεξάρτητα από αυτή τη ρύθμιση).
- nl - προαιρετική προδιαγραφή τοπικών ρυθμίσεων. Λίστα προσδιοριστικών τοπικών ρυθμίσεων διαχωρισμένων με κόμμα, που ορίζεται από τη Java. Δηλώνει ότι αυτή η εγγραφή μπορεί να εγκατασταθεί μόνο σε συστήματα που εκτελούνται με συμβατές τοπικές ρυθμίσεις (με χρήση των κανόνων συμφωνίας τοπικών ρυθμίσεων Java). Αν αυτό το γνώρισμα δεν καθορίζεται, η εγγραφή μπορεί να εγκατασταθεί σε όλα τα συστήματα (υλοποίηση ουδέτερης γλώσσας). Αυτές οι πληροφορίες χρησιμοποιούνται ως υπόδειξη από την υποστήριξη εγκατάστασης και ενημέρωσης (ο χρήστης μπορεί να εγκαταστήσει υποχρεωτικά την εγγραφή ανεξάρτητα από αυτή τη ρύθμιση).
- download-size - προαιρετική υπόδειξη που παρέχεται από τη λειτουργία δημιουργίας πακέτων λειτουργιών και η οποία δηλώνει σε KByte το μέγεθος μεταφόρτωσης του αρχείου αποθήκευσης της πρόσθετης λειτουργίας στο οποίο γίνεται παραπομπή. Αν δεν καθοριστεί, το μέγεθος μεταφόρτωσης δεν είναι γνωστό (σημείωση για την υλοποίηση: η υλοποίηση πρέπει να ξεχωρίζει το άγνωστο από το μηδενικό μέγεθος)
- install-size - προαιρετική υπόδειξη που παρέχεται από τη λειτουργία δημιουργίας πακέτων λειτουργιών και η οποία δηλώνει σε KByte το μέγεθος εγκατάστασης του αρχείου αποθήκευσης της πρόσθετης λειτουργίας στο οποίο γίνεται παραπομπή. Αν δεν καθοριστεί, το μέγεθος εγκατάστασης δεν είναι γνωστό (σημείωση για την υλοποίηση: η υλοποίηση πρέπει να ξεχωρίζει το άγνωστο από το μηδενικό μέγεθος)
- unpack (νέα λειτουργία της έκδοσης 3.0) - προαιρετική προδιαγραφή που παρέχεται από τη λειτουργία δημιουργίας πακέτων λειτουργιών, η οποία δηλώνει ότι η πρόσθετη λειτουργία μπορεί να εκτελεστεί από ένα jar και ότι τα περιεχόμενα του jar της πρόσθετης λειτουργίας δεν πρέπει να αποσυσκευαστούν σε έναν κατάλογο. Η προεπιλογή είναι "true".
(Σημείωση για την υλοποίηση: σε τμηματικές πρόσθετες λειτουργίες που παραδίδονται σε μια λειτουργία που καθορίζει το org.eclipse.update.core.DeltaInstallHandler ως ρουτίνα χειρισμού εγκατάστασης δεν πρέπει να οριστεί τιμή "false" στο γνώρισμα "unpack")
- <data> - προσδιορίζει δεδομένα που δεν αφορούν την πρόσθετη λειτουργία, τα οποία αποτελούν μέρος της λειτουργίας
- id - απαιτούμενο αναγνωριστικό δεδομένων με τη μορφή σχετικής διαδρομής.
- os - προαιρετική προδιαγραφή του λειτουργικού συστήματος. Λίστα προσδιοριστικών λειτουργικού συστήματος διαχωρισμένων με κόμμα, που ορίζεται από το Eclipse (δείτε το Javadoc για org.eclipse.core.runtime.Platform).
Δηλώνει ότι αυτή η εγγραφή πρέπει να εγκατασταθεί μόνο σε ένα από τα καθορισμένα λειτουργικά συστήματα.
Αν αυτό το γνώρισμα δεν καθορίζεται, η εγγραφή μπορεί να εγκατασταθεί σε όλα τα συστήματα (φορητή υλοποίηση). Αυτές οι πληροφορίες χρησιμοποιούνται ως υπόδειξη από την υποστήριξη εγκατάστασης και ενημέρωσης (ο χρήστης μπορεί να εγκαταστήσει υποχρεωτικά την εγγραφή ανεξάρτητα από αυτή τη ρύθμιση).
- arch - προαιρετική προδιαγραφή της αρχιτεκτονικής υπολογιστή. Λίστα προσδιοριστικών αρχιτεκτονικής διαχωρισμένων με κόμμα, που ορίζεται από το Eclipse (δείτε το Javadoc για org.eclipse.core.runtime.Platform).
Δηλώνει ότι αυτή η λειτουργία πρέπει να εγκαθίσταται μόνο σε ένα από τα καθορισμένα συστήματα. Αν αυτό το γνώρισμα δεν καθορίζεται, η λειτουργία μπορεί να εγκατασταθεί σε όλα τα συστήματα (φορητή υλοποίηση). Αυτές οι πληροφορίες χρησιμοποιούνται ως υπόδειξη από την υποστήριξη εγκατάστασης και ενημέρωσης (ο χρήστης μπορεί να εγκαταστήσει υποχρεωτικά τη λειτουργία ανεξάρτητα από αυτή τη ρύθμιση).
- ws - προαιρετική προδιαγραφή του συστήματος παραθύρων. Λίστα προσδιοριστικών συστήματος παραθύρων διαχωρισμένων με κόμμα, που ορίζεται από το Eclipse (δείτε το Javadoc για org.eclipse.core.runtime.Platform).
Δηλώνει ότι αυτή η εγγραφή πρέπει να εγκατασταθεί μόνο σε ένα από τα καθορισμένα παραθυρικά συστήματα. Αν το συγκεκριμένο γνώρισμα δεν καθορίζεται, η εγγραφή μπορεί να εγκατασταθεί σε όλα τα συστήματα (φορητή υλοποίηση). Αυτές οι πληροφορίες χρησιμοποιούνται ως υπόδειξη από την υποστήριξη εγκατάστασης και ενημέρωσης (ο χρήστης μπορεί να εγκαταστήσει υποχρεωτικά την εγγραφή ανεξάρτητα από αυτή τη ρύθμιση).
- nl - προαιρετική προδιαγραφή τοπικών ρυθμίσεων. Λίστα προσδιοριστικών τοπικών ρυθμίσεων διαχωρισμένων με κόμμα, που ορίζεται από τη Java. Δηλώνει ότι αυτή η εγγραφή μπορεί να εγκατασταθεί μόνο σε συστήματα που εκτελούνται με συμβατές τοπικές ρυθμίσεις (με χρήση των κανόνων συμφωνίας τοπικών ρυθμίσεων Java). Αν αυτό το γνώρισμα δεν καθορίζεται, η εγγραφή μπορεί να εγκατασταθεί σε όλα τα συστήματα (υλοποίηση ουδέτερης γλώσσας). Αυτές οι πληροφορίες χρησιμοποιούνται ως υπόδειξη από την υποστήριξη εγκατάστασης και ενημέρωσης (ο χρήστης μπορεί να εγκαταστήσει υποχρεωτικά την εγγραφή ανεξάρτητα από αυτή τη ρύθμιση).
- download-size - προαιρετική υπόδειξη που παρέχεται από τη λειτουργία δημιουργίας πακέτων λειτουργιών και η οποία δηλώνει σε KByte το μέγεθος μεταφόρτωσης του αρχείου αποθήκευσης δεδομένων στο οποίο γίνεται παραπομπή. Αν δεν καθοριστεί, το μέγεθος μεταφόρτωσης δεν είναι γνωστό (σημείωση για την υλοποίηση: η υλοποίηση πρέπει να ξεχωρίζει το άγνωστο από το μηδενικό μέγεθος)
- download-size - προαιρετική υπόδειξη που παρέχεται από τη λειτουργία δημιουργίας πακέτων λειτουργιών και η οποία δηλώνει σε KByte το μέγεθος εγκατάστασης του αρχείου αποθήκευσης δεδομένων στο οποίο γίνεται παραπομπή. Αν δεν καθοριστεί, το μέγεθος εγκατάστασης δεν είναι γνωστό (σημείωση για την υλοποίηση: η υλοποίηση πρέπει να ξεχωρίζει το άγνωστο από το μηδενικό μέγεθος)
Κατά την αλληλεπίδραση με έναν δικτυακό τόπο ενημέρωσης, η υλοποίηση της λειτουργίας
αντιστοιχίζει τα στοιχεία <plugin>
και <data> στις ταυτότητες διαδρομής που χρησιμοποιούνται από το
δικτυακό τόπο για τον προσδιορισμό των πραγματικών αρχείων που πρόκειται να
μεταφορτωθούν και να εγκατασταθούν. Η προεπιλεγμένη υλοποίηση λειτουργιών που παρέχεται από το Eclipse κατασκευάζει τις ταυτότητες διαδρομών ως εξής:
-
Από το στοιχείο <plugin> προκύπτει μια εγγραφή διαδρομής με τη μορφή "plugins/<pluginId>_<pluginVersion>.jar"
(για παράδειγμα, "plugins/org.eclipse.core.boot_2.0.0.jar")
-
Από το στοιχείο <data> προκύπτει μια εγγραφή διαδρομής με τη μορφή "features/<featureId>_<featureVersion>/<dataId>"
(για παράδειγμα, "features/com.xyz.tools_1.0.3/examples.zip")
Σημειώστε ότι γενικά τα έγγραφα δήλωσης feature.xml πρέπει να καθορίζουν κωδικοποίηση UTF-8. Για παράδειγμα:
<?xml version="1.0" encoding="UTF-8"?>
Το μεταφράσιμο κείμενο που περιέχεται στο feature.xml μπορεί να διαχωριστεί σε αρχεία
feature<_locale>.properties χρησιμοποιώντας τις συμβάσεις για τη δέσμη ιδιοτήτων Java.
Σημειώστε ότι οι μεταφρασμένες σειρές χαρακτήρων χρησιμοποιούνται κατά την εγκατάσταση (δεν χρησιμοποιούν το μηχανισμό χρόνου εκτέλεσης του τμήματος της πρόσθετης λειτουργίας).