Kiterjesztési pont séma

A kiterjesztések a bedolgozók által használt mechanizmusok új szolgáltatás felvételére a platformba. A kiterjesztések létrehozása nem lehet önkényes. Egy kiterjesztési pont által meghatározott világos specifikáció alapján kerül sor a deklarálásukra.

Minden kiterjesztésnek meg kell felelnie annak a kiterjesztési pontnak a specifikációjának, amelyet az bővít.  Minden kiterjesztési pont attribútumokat és várt értékeket határoz meg, amelyeket a kiterjesztésnek deklarálnia kell. Ezek az információk a platform bedolgozó-nyilvántartásában találhatók. A kiterjesztési pontok szállítói ezeket az értékeket kérdezik le a nyilvántartásból, ezért fontos, hogy a bedolgozó megadja ezeket a várt adatokat.

A legkezdetlegesebb formájában a kiterjesztési pont deklarációja nagyon egyszerű. A kiterjesztési pont azonosítóját és nevét határozza meg. A kiterjesztési pont által várt minden más információ az adott kiterjesztési pontra jellemző, és a dokumentációjuk máshol található.  (A platform kiterjesztési pontjainak meghatározásairól a Platformkiterjesztési pontok kézikönyve című kiadványban olvashat.)

A referencia dokumentáció hasznos, de nem tesz lehetővé programozható segítséget egy kiterjesztés specifikációjának ellenőrzésére. Erre a célra a PDE bevezeti a kiterjesztési pont sémát, amely a kiterjesztési pontokat automatikus feldolgozásra megfelelő formátumban írja le.

A kiterjesztési pont séma a W3C specifikáció által meghatározott érvényes XML séma. A teljes XML sémaspecifikáció azonban igen összetett, és erre az adott célra többnyire szükségtelen. Éppen ezért, a PDE csak az XML séma szolgáltatásainak egy részhalmazát használja. Minden kiterjesztési pont séma érvényes XML séma, de a PDE nem használja az összes rendelkezésre álló szolgáltatást.

A kiterjesztési pont sémák előnyei

Sok előnye van, ha a kiterjesztési pontot a PDE kiterjesztési pont XML sémájával írja le:

  1. A kiterjesztési pont szintaxisa lehetővé teszi az elemek, attribútumok és típusok formális kifejezését. Ezeket az információkat eszközök is felhasználhatják a kiterjesztések ellenőrzésére vagy segítségnyújtásra a kiterjesztés létrehozása során.
  2. Az XML séma lehetővé teszi a Java forráskód Javadoc dokumentációjához hasonló dokumentációs megjegyzéseket. Ez a mechanizmus érvényes elemek és attribútumok rövid szövegeit köti az elemek és attribútumok deklarációjához. Sokkal könnyebb a dokumentáció szinkronizálása, mivel egy attribútum eltávolításával az attribútum dokumentációjának eltávolítására is sor kerül. Nincs szükség a referenciadokumentum frissítésére.
  3. Referenciadokumentáció állítható elő. A PDE egy eszközt biztosít, amely követi a kiterjesztési pontok sémáinak módosításait, és menet közben frissíti a referenciadokumentációt.
  4. További metaadatokat is megadhat a kiterjesztési pontról, amelyeket a sémát feldolgozó eszközök használhatnak. A PDE ennek a mechanizmusnak a segítségével vesz fel további információkat elemekről és attribútumokról.Például, ha egy attribútum megjelölése "Java", a PDE a Java platform szolgáltatásaival együttműködve segítséget nyújthat, miközben beállítja ennek az attribútumnak az értékét.

A PDE XML sématámogatás korlátozásai

A PDE az XML séma kis részhalmazát használja. A teljes XML séma szolgáltatáskészletének használata ebben az adott esetben felesleges lenne.A részhalmaz lehetővé teszi a DTD-k majdnem 1->1 leképezését sémákra, de a DTD korlátozásai nélkül.A PDE kiterjesztési pont sémák főbb korlátozásai a következők:

  1. Csak globális elemdeklarációk megengedettek.
  2. Csak helyi attribútumdeklarációk megengedettek. Globális attribútumok nem deklarálhatók.
  3. A következő kompozítorok támogatottak: all, sequence, choice és group.
  4. Nincs globális típustámogatás. A típusokat deklarálni és azonnal használni kell.
  5. Az attribútumok csak string és boolean típusúak lehetnek.
  6. Ha egy attribútum string típusú, csak az enumeration megszorítás támogatott.

Ha ezeket a korlátozásokat használva ír egy XML sémát, láthatja, hogy a kapott fájl rendkívül hasonló az ugyanezt a szintaxist meghatározó DTD fájlhoz. A séma előnye a megjegyzésekben (dokumentáció és a metaadatok) rejlik. További előnye, hogy az XML séma maga is XML, amely megkönnyíti a feldolgozását és olvasását.

A fenti lista csak referencia célját szolgálja. Valószínű, hogy az XML sémát a PDE sémaszerkesztővel fogja létrehozni, amely gondoskodik a megfelelő fájl létrehozásáról.