Esquema de punto de extensión

Las extensiones son el mecanismo fundamental que utiliza un conector para añadir funciones nuevas a la plataforma. Las extensiones no pueden crearse arbitrariamente. Se declaran utilizando una especificación clara definida por un punto de extensión.

Cada extensión debe ajustarse a la especificación del punto de extensión que está ampliando. Cada punto de extensión define atributos y valores previstos que debe declarar la extensión. Esta información se mantiene en el registro de conectores de la plataforma. Los proveedores de puntos de extensión consultan estos valores del registro, y por tanto es importante garantizar que el conector proporciona la información prevista.

En su formato más rudimentario, la declaración de un punto de extensión es muy sencilla.  Define el id y el nombre del punto de extensión.  Cualquier otra información prevista por el punto de extensión es específica de ese punto de extensión y se documenta en cualquier otro sitio.  (Consulte el apartado Referencia de los puntos de extensión de la plataforma para conocer las definiciones de los puntos de extensión de la plataforma).

La documentación de consulta es útil, pero no ofrece ayuda desde programa para validar la especificación de una extensión. Esta es la razón por la que el PDE presenta un esquema de puntos de extensión que describe los puntos de extensión en un formato preparado para su proceso automatizado.

Un esquema de punto de extensión es un esquema de XML válido, tal como lo define la especificación del W3C. Sin embargo, la especificación de esquemas de XML completa es muy compleja y en buena parte innecesaria para este uso particular. Es por ello que el PDE solo utiliza un subconjunto de las funciones de los esquemas de XML.  Cada esquema de punto de extensión es un esquema de XML válido, pero el PDE no utiliza todas las funciones disponibles.

Las ventajas de los esquemas de puntos de extensión

Describir un punto de extensión utilizando el esquema de puntos de extensión de XML del PDE tiene muchas ventajas:

  1. La gramática de un punto de extensión permite expresar formalmente elementos, atributos y tipos. Esta información pueden utilizarla las herramientas para validar las extensiones o para ofrecer ayuda durante la creación de la extensión.
  2. El esquema XML proporciona anotaciones de documentación, similares a Javadoc en el código fuente Java. Este mecanismo vincula un texto corto para elementos y atributos válidos con la declaración de estos elementos y atributos. Es mucho más fácil mantener sincronizada la documentación porque si se elimina un atributo también se eliminará la documentación de ese atributo.  No hay necesidad de actualizar el documento de consulta.
  3. Puede generarse documentación de consulta.  El PDE proporciona una herramienta que rastrea los cambios realizados en los esquema de puntos de extensión y actualiza la documentación de consulta dinámicamente.
  4. Pueden proporcionarse más metadatos sobre el punto de extensión para que los utilicen las herramientas que procesan el esquema.  El PDE utiliza este mecanismo para añadir información adicional sobre elementos y atributos. Por ejemplo, si un atributo se marca como "Java", el PDE puede proporcionar ayuda al establecer el valor de este atributo interactuando con las funciones de la plataforma Java.

Limitaciones del soporte al esquema de XML del PDE

El PDE utiliza un pequeño subconjunto del esquema de XML.  Si se utilizara todo el conjunto de funciones del esquema de XML sería desproporcionado en este caso concreto. El subconjunto permite prácticamente una correlación de correspondencia exacta desde las DTD y los esquemas, pero sin las limitaciones de las DTD. A continuación se listan las principales limitaciones del esquema de punto de extensión del PDE:

  1. Solo se permiten declaraciones de elementos globales.
  2. Solo se permiten declaraciones de atributos locales.  No pueden declararse atributos globales.
  3. Se admiten los siguientes compositores: all, sequence, choice y group.
  4. No se admiten los tipos globales.  Los tipos deben declararse y utilizarse inmediatamente.
  5. Los atributos solo pueden ser de tipo string y boolean.
  6. Si un atributo es de tipo string, solo se admitirá la restricción de enumeration.

Si se escribe un esquema de XML utilizando estas restricciones, observará que el archivo resultante se parece muchísimo a una DTD equivalente que definiera la misma gramática. La ventaja de un esquema está en las anotaciones (tanto las de la documentación como de los metadatos). Otra ventaja es que el propio esquema de XML está escrito en XML, lo que facilita su procesado y su lectura.

La lista anterior es solo para consulta. Lo más probable es que defina un esquema de XML utilizando el editor de esquemas del PDE que ya se cuidará de generar el archivo correcto.

Copyright IBM Corporation y otros 2000, 2002