Erweiterungen sind der Hauptmechanismus, mit dem ein Plug-in neue Funktionen zur Plattform hinzufügen kann. Erweiterungen können nicht willkürlich erstellt werden. Sie werden mit einer genauen Spezifikation deklariert, die durch einen Erweiterungspunkt definiert ist.
Jede Erweiterung muss die Spezifikation des Erweiterungspunkts beachten, den sie erweitert Jeder Erweiterungspunkt definiert Attribute und erwartete Werte, die durch eine Erweiterung deklariert werden müssen. Verwaltet werden diese Informationen in der Plug-in-Registrierung der Plattform. Erweiterungspunkt-Provider fragen diese Werte aus der Registrierung ab. Daher muss unbedingt gewährleistet werden, dass ein Plug-in die erwarteten Informationen angibt.
In der minimalen Form ist die Deklaration eines Erweiterungspunkts sehr einfach. Sie definiert lediglich eine ID und einen Namen für den Erweiterungspunkt. Alle weiteren Informationen, die von dem Erweiterungspunkt erwartet werden, sind spezifisch für diesen Erweiterungspunkt und werden an anderer Stelle dokumentiert. (Zu den Definitionen für Plattform-Erweiterungspunkte siehe >Referenz für Plattform-Erweiterungspunkte.)
Die Referenzinformationen sind zwar hilfreich, aktivieren jedoch keine programmgestützte Hilfe, mit der die Spezifikation einer Erweiterung ausgewertet werden kann. Aus diesem Grund führt PDE ein Erweiterungspunktschema ein, das Erweiterungspunkte in einem zur automatisierten Verarbeitung geeigneten Format beschreibt.
Das Erweiterungspunktschema ist ein gültiges XML-Schema gemäß der Definition in der W3C-Spezifikation. Die vollständige XML-Schemaspezifikation ist jedoch sehr komplex und für diese spezielle Verwendung gar nicht erforderlich. Daher verwendet PDE nur eine Untergruppe der XML-Schemafunktionen. Jedes Erweiterungspunktschema ist ein gültiges XML-Schema, aber PDE setzt nicht alle verfügbaren Funktionen ein.
Die Beschreibung eines Erweiterungspunktes mit einem XML-Erweiterungspunktschema in PDE bietet zahlreiche Vorteile:
PDE verwendet eine kleine Untergruppe des XML-Schemas. Die Verwendung aller XML-Schemafunktionen würde im speziellen Fall von PDE eine übermäßige und nicht gerechtfertigte Systembelastung verursachen. Die Untergruppe lässt quasi eine Eins-zu-eins-Zuordnung von DTDs zu Schemata zu, jedoch ohne DTD-Einschränkungen. Für das Erweiterungspunktschema von PDE gelten die folgenden Haupteinschränkungen:
Wenn Sie unter Verwendung dieser Rahmenbedingungen ein XML-Schema schreiben, werden Sie feststellen, dass die resultierende Datei einer äquivalenten DTD, die dieselbe Grammatik definiert, verblüffend ähnlich ist. Der Vorteil von Schemata sind die Anmerkungen (sowohl Dokumentation als auch Metadaten). Ein weiterer Pluspunkt ist die Tatsache, dass das XML-Schema selbst in XML geschrieben wird, was seine Verarbeitung und Lesevorgänge vereinfacht.
Die oben stehende Liste ist nur für Referenzzwecke gedacht. In den meisten Fällen verwenden Sie zur Definition eines XML-Schemas wahrscheinlich den PDE-Schemaeditor. Dieser Editor sorgt dafür, dass die korrekte Datei generiert wird.