Esquema de los puntos de extensión

Las extensiones son el mecanismo fundamental que utiliza un conector para añadir características nuevas a la plataforma. Las extensiones no se pueden crear de forma arbitraria. Hay que declararlas mediante una especificación clara definida por un punto de extensión. 

Cada extensión debe estar en conformidad con la especificación del punto de extensión que está ampliando. En cada punto de extensión se definen los atributos y los 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 en el registro y, por ello, es importante asegurarse de que el conector proporciona la información prevista. 

En su forma más rudimentaria, la declaración de un punto de extensión es muy sencilla. Define el ID y el nombre del punto de extensión. Cualquier otro tipo de información prevista es específica del punto de extensión y su documentación se incluye en otro lugar. (En el tema Consulta de puntos de extensión de la plataforma hallará definiciones de los puntos de extensión de la plataforma). 

La documentación de consulta es de utilidad, pero no ofrece ayuda programática para validar la especificación de una extensión. Por ello, el PDE presenta un esquema que describe los puntos de extensión en un formato adecuado para el proceso automatizado.

El esquema de punto de extensión es un esquema XML válido según la definición que da la especificación del W3C. Sin embargo, la especificación completa de esquemas XML es muy compleja y en gran medida innecesaria para este uso particular. Por ese motivo, el PDE solo utiliza un subconjunto de las características de los esquemas XML. Cada esquema de punto de extensión es un esquema XML válido, pero el PDE no utiliza todas las características disponibles. 

Ventajas de los esquemas de puntos de extensión

El hecho de describir un punto de extensión utilizando el correspondiente esquema XML del PDE tiene muchas ventajas:

  1. La gramática de un punto de extensión permite expresar formalmente los elementos, los atributos y los tipos. Esta información se puede utilizar en las herramientas para validar las extensiones o para ofrecer ayuda durante la creación de la extensión.
  2. El esquema XML prevé la anotación de documentación de manera parecida al Javadoc en el fuente Java. Este mecanismo vincula un texto corto de los elementos y atributos válidos con la declaración de estos elementos y atributos. Así resulta 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 hace falta actualizar el documento de consulta. 
  3. Se puede generar documentación de consulta. El PDE proporciona una herramienta que hace un seguimiento de los cambios realizados en los esquemas de los puntos de extensión y actualiza la documentación de consulta sobre la marcha. 
  4. Es posible proporcionar metadatos adicionales sobre el punto de extensión, que se puedan utilizar en las herramientas que procesan el esquema. El PDE utiliza este mecanismo para añadir información adicional sobre los elementos y atributos. Por ejemplo, si un atributo está marcado como "Java", el PDE puede proporcionar ayuda mientras se establece el valor de este atributo, interaccionando con las características de la plataforma Java.

Limitaciones del soporte del esquema XML del PDE

El PDE utiliza un pequeño subconjunto del esquema XML. La utilización de todo el conjunto de características del esquema XML sería desproporcionada en este caso concreto. El subconjunto permite realizar una correlación casi biunívoca entre las DTD y los esquemas, pero sin las limitaciones de las DTD. A continuación se indican las principales limitaciones del esquema de punto de extensión del PDE:

  1. Solo están permitidas las declaraciones de elementos globales.
  2. Solo están permitidas las declaraciones de atributos locales. Los atributos globales no se pueden declarar. 
  3. Los compositores soportados son: all, sequence, choice y group.
  4. No hay soporte para tipos globales. Los tipos que se declaren deben utilizarse inmediatamente. 
  5. Los atributos solo pueden ser de tipo string y boolean.
  6. Si un atributo es de tipo string, solo está soportada la restricción enumeration.

Si escribe un esquema 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 de documentación como de metadatos). Otra ventaja es que el propio esquema XML está escrito en XML, lo que facilita su proceso y su lectura.

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

 
Copyright IBM Corporation y otras empresas 2000, 2003