Schéma des points d'extension

Les extensions constituent le mécanisme qu'utilise un plug-in pour ajouter de nouvelles fonctions à la plateforme. Les extensions ne peuvent être créées arbitrairement.  Elles sont en effet déclarées à l'aide d'une spécification claire définie par un point d'extension.

Chaque extension doit se conformer à la spécification du point d'extension qu'elle étend.  Chaque point d'extension définit des attributs et des valeurs attendues qui doivent être déclarés par une extension.  Ces informations sont enregistrées dans le registre des plug-in de la plateforme.  Les fournisseurs de points d'extension interrogent ces valeurs dans le registre. Aussi est-il essentiel de s'assurer que le plug-in a fourni les informations attendues.

Dans sa forme la plus simple, la déclaration d'un point d'extension se résume à quelques lignes.  Elle définit l'id et le nom du point d'extension.  Toute autre information attendue par le point d'extension est spécifique à celui-ci et documentée ailleurs.  (Pour en savoir plus sur les définitions de point d'extension de plateforme, voir Référence de points d'extension de plateforme.)

La documentation de référence est pratique, mais ne se révèle d'aucune aide pour la validation de la spécification d'une extension. C'est pourquoi PDE introduit un schéma des points d'extension décrivant les points d'extension dans un format exploitable pour un traitement automatisé.

Le schéma des points d'extension est un schéma XML valide conforme à la spécification du W3C. Cependant, la spécification complète des schémas XML est très complexe et pratiquement sans objet pour cette utilisation particulière. Pour cette raison, PDE n'utilise qu'un sous-ensemble des fonctions du schéma XML.  Chaque schéma de points d'extension est un schéma XML valide, mais PDE n'emploie pas toutes les fonctions disponibles.

Avantages des schémas des points d'extension

La description du point d'extension à l'aide du schéma XML des points d'extension PDE offre les avantages suivants :

  1. La grammaire des points d'extension autorise l'expression formelle des éléments, des attributs et des types. Des outils peuvent utiliser ces informations pour valider des extensions ou offrir une assistance lors de la création de l'extension.
  2. Le schéma XML fournit une fonction d'annotation de documentation similaire à Javadoc pour le code source Java. Ce mécanisme associe le texte court des éléments et des attributs valides à leur déclaration. La documentation est à jour à tout moment car la suppression d'un attribut supprime également la documentation qui lui est associée.  Il est inutile de mettre à jour le document de référence.
  3. La documentation de référence peut être générée.  PDE offre un outil de suivi dynamique des modifications dans les schémas des points d'extension, qui met automatiquement à jour la documentation de référence.
  4. Vous pouvez définir des métadonnées supplémentaires pour le point d'extension, qui seront utilisées par des outils de traitement du schéma.  PDE emploie ce mécanisme pour ajouter des informations relatives à des éléments et attributs. Par exemple, si un attribut est marqué comme étant de type "Java,", PDE peut fournir une assistance lors de la définition de la valeur de celui-ci en interagissant avec la plateforme Java.

Limitations du support du schéma XML de PDE

PDE emploie un petit sous-ensemble du schéma XML.  L'utilisation de l'ensemble des fonctions XML serait en l'occurrence tout bonnement impossible. Le sous-ensemble permet d'établir des relations un à un entre les DTD et les schémas, mais sans les limites des DTD. Voici les principales limitations du schéma des points d'extension PDE :

  1. Seules les déclarations d'éléments globales sont autorisées.
  2. Seules les déclarations d'attributs locaux sont autorisées.  Les attributs globaux ne peuvent être déclarés.
  3. Les compositeurs suivants sont pris en charge : all, sequence, choice et group.
  4. Il n'existe pas de support de type global.  Les types doivent être déclarés et utilisés immédiatement.
  5. Les attributs n'acceptent que les types string et boolean.
  6. Si un attribut est de type string, seule la restriction enumeration est prise en charge.

Si vous écrivez un schéma XML en respectant ces restrictions, vous constaterez que le fichier obtenu ressemble étrangement à une DTD équivalente définissant la même grammaire. L'avantage du schéma réside dans les annotations (documentation et métadonnées). Un autre avantage est que le schéma XML est écrit en XML, ce qui facilité son traitement et sa lecture.

La liste ci-dessus est fournie à titre indicatif. Vous définirez probablement vos schémas xml à l'aide de l'éditeur de schéma PDE qui se chargera de générer le fichier adéquat.