Eclipse platform bedolgozóleírás

3.2 változat - Legutóbbi felülvizsgálat: 2006. május 9.

A leírófájl alább található kódmeghatározásai különféle elnevezési jelsorokat és azonosítókat használnak. A félreértések elkerülése érdekében néhány [az alábbi szövegben hivatkozott] termékszabály ezekkel kapcsolatban. Általánosságban minden azonosítóban különbözőnek számítanak a kis- és a nagybetűk.

SimpleToken := karaktersorozat ('a-z','A-Z','0-9','_')
ComposedToken := SimpleToken | (SimpleToken '.' ComposedToken)
QualifiedId := ComposedToken '.' SimpleToken
ExtensionId := SimpleToken | QualifiedId
ExtensionPointId := SimpleToken | QualifiedId
ExtensionPointReference := SimpleToken | QualifiedId

A fejezet további része leírja a plugin.xml fájl szerkezetét DTD töredékek sorozataként. Teljes egészében a plugin.dtd fájl tartalmazza a DTD meghatározást.

<?xml encoding="US-ASCII"?>
<?eclipse version="3.2"?>
<!ELEMENT plugin (extension-point*, extension*)>

A <plugin> elem határozza meg a leírófájl törzsét. Tartalmazhatja bármilyen új, a bedolgozóval bevezetett kiterjesztési pont deklarációját, valamint a (más bedolgozók által megadott kiterjesztési pontokká beállított, vagy ebben a bedolgozóban bevezetett) funkcionális kiterjesztések beállításait.

Az elem* XML DTD felépítési szabály az elem nulla vagy egy; az elem? nulla vagy egy; az elem+ (alább látható) pedig az elem egy vagy több előfordulását jelenti. A fenti <plugin> definícióra épülve ez például azt jelenti, hogy egy kiterjesztési pont deklarációval vagy kiterjesztési beállításokkal nem rendelkező bedolgozó érvényes (például: közös könyvtárak, amelyektől más bedolgozók függenek). Ugyanígy egy csak kiterjesztési beállításokat tartalmazó (és saját kiterjesztési pontokkal nem rendelkező) bedolgozó is érvényes (például: más bedolgozók által biztosított osztályok más bedolgozók által deklarált kiterjesztési pontokká konfigurálása).

Az Eclipse architektúrája a beállítható kiterjesztési pontokon alapul. A platform maga előre meghatároz egy kiterjesztési pont készletet, amely lefedi a platform és az asztali rendszer kiterjesztésének feladatait (például menüműveletek hozzáadása, beágyazott szerkesztő biztosítása). Az előre meghatározott kiterjesztési pontok mellett minden rendelkezésre álló bedolgozó további kiegészítő kiterjesztési pontokat is deklarálhat. Egy kiterjesztési pont deklarálásával a bedolgozó alapvetően meghirdeti a lehetőséget a bedolgozó szolgáltatásainak beállítására külsőleg biztosított bővítményekkel. A Page Builder bedolgozó deklarálhat például egy kiterjesztési pontot új Design Time Controls (DTC) elemek felvételére összeállítási palettájába. Ez azt jelenti, hogy a Page Builder leírt egy architektúrát, hogy mit is jelent DTC-nek lenni, és megvalósította a kódot, amelyik kikeresi a kiterjesztési pontokká konfigurált DTC kiterjesztéseket.

<!ELEMENT extension-point EMPTY>  
<!ATTLIST extension-point 
 name                CDATA #REQUIRED 
 id                  CDATA #REQUIRED    
 schema              CDATA #IMPLIED 
>

Az <extension-point> elem attribútumai a következők:

Az aktuális kiterjesztések (előre meghatározott, vagy ebben a bedolgozóban újonnan deklarált) kiterjesztési pontokba vannak konfigurálva az <extension> részben. A konfigurációs információk szabályosan formázott XML-ként vannak megadva, <extension> és </extension> címkék között vannak elhelyezve. A platform nem adja meg a konfigurációs leírónyelv aktuális formáját (mást, mint hogy szabályosan formázott XML-nek kell lennie). A leírónyelvet a kiterjesztési pontot deklaráló bedolgozó szállítója határozta meg. A platform ténylegesen nem értelmezi a konfigurációs leírónyelvet. Egyszerűen átadja a konfigurációs információkat a bedolgozónak a kiterjesztési pont feldolgozási folyamatának részeként (akkor, amikor a kiterjesztési pont logika lekérdezi az összes beállított kiterjesztést).

<!ELEMENT extension ANY> 
<!ATTLIST extension 
 point               CDATA #REQUIRED 
 id                  CDATA #IMPLIED 
 name                CDATA #IMPLIED 
>

Az <extension> elem attribútumai a következők:

Fontos: Az <extension> elem tartalma az ANY szabállyal van deklarálva. Ez azt jelenti, hogy bármely szabályosan formázott XML megadható a kiterjesztési konfigurációs részben az <extension> és </extension> címkék között).

Töredékek

A töredékek a bedolgozó hatókörének növelését szolgálják. Példa lehet adatok -- például üzenetek vagy más nyelvű címkék -- befoglalására.

<?xml encoding="US-ASCII"?> 
<?eclipse version="3.2"?>
<!ELEMENT fragment (extension-point*, extension*)>

A töredékek <extension-point> és <extension> összetevői logikusan hozzáadásra kerülnek a hosztbedolgozóhoz.

Megjegyzés az ExtensionId és ExtensionPointId elemekhez

A rendszer különleges feldolgozással bővült a pontot ('.') tartalmazó, 3.2 változatnál korábbi ExtensionId és ExtensionPointId visszamenőleges kompatibilitásának támogatásához. Az <?eclipse version?> címkében megadott verziószám függvényében:

A szabály csak a pontot ('.') tartalmazó ExtensionId és ExtensionPointId elemekre vonatkozik.


A bedolgozó leírófájl korábbi változatai a következő helyen találhatók: