El editor de esquemas de puntos de extensión puede abrirse de dos formas: como subproducto de la creación de un punto de extensión nuevo o abriendo un esquema de punto de extensión existente. Por convenio, los esquemas nuevos tienen el mismo nombre que el id del punto de extensión con la extensión de archivo .exsd. Se colocan en el directorio schema del árbol de directorios del conector.
Cuando en el PDE se crea un punto de extensión nuevo, también se creará el archivo de esquema inicial y el editor de esquemas se abrirá para editarlo. El esquema puede definirse entonces, o puede cerrarse el editor y definirlo más tarde. Crear un esquema de punto de extensión completo permite que el PDE ofrezca ayuda automatizada a los usuarios del punto de extensión.
El editor de esquemas del PDE se basa en los mismos conceptos que el editor de manifiestos de conectores. Tiene dos páginas de formulario y una página de código fuente. Puesto que el esquema XML es prolijo y puede ser difícil de leer en su formato fuente, debe utilizar las páginas de formulario para la mayoría de las tareas de edición. La página de código fuente es útil para leer el código fuente resultante.
Anteriormente hemos creado el punto de extensión "Analizadores de ejemplo" y el esquema inicial. Ahora podemos abrir el esquema yendo a la carpeta schema del proyecto y efectuando una doble pulsación en el archivo parsers.exsd. Esto abrirá el editor de esquemas.
Lo que queremos hacer es:
Cada esquema de punto de extensión se inicia con una declaración del elemento "extension". Añadiremos un elemento de XML nuevo llamado "analizador".
Hasta ahora, el editor de esquemas debería parecerse a este:
Ahora añadiremos un atributo adicional que toma valores de una lista discreta de opciones. Esto significa que necesitaremos crear una restricción de enumeración del tipo serie de caracteres base. Además, estableceremos un valor por omisión para el atributo.
El cuadro de diálogo debería tener este aspecto:
Cuando se cierre el cuadro de diálogo, cambie el atributo "use" a "default" y el atributo "valor" a "siempre". Esto establece el valor por omisión. Observe que la línea de estado muestra un mensaje de error mientras se escribe el valor, puesto que restringe los valores válidos a las tres opciones de enumeración. Después de escribir el valor, el mensaje de error debería desaparecer porque "siempre" es un valor válido.
Ahora que ya hemos definido todos los elementos y atributos, necesitamos definir una gramática. Nuestro objetivo es definir que el elemento "extensión" pueda tener como hijos a cualquier número de elementos "analizador".
Después de definir la gramática, la aproximación de DTD bajo la sección de gramática muestra a qué se parecería la gramática del elemento seleccionado en la DTD. Esta información se da para ayudar a los desarrolladores que siguen sintiéndose más cómodos con las DTD que con los esquemas XML.
Ahora que se han definido elementos, atributos y una gramática válidos, necesitamos proporcionar alguna información sobre el punto de extensión. Hay dos tipos de fragmentos de documentación de esquema:
El primer tipo de fragmento se proporciona en la página Definición del manifiesto de esquema. A medida que se seleccionan elementos y atributos, pueden irse añadiendo textos cortos acerca de ellos en la sección "Descripción". El formato previsto es HTML sin procesar (como con Javadoc) y el texto se copiará tal cual en el documento de consulta final.
Ahora tenemos que proporcionar una descripción corta del propio punto de extensión. Para ello, pasaremos a la página Documentación:
El siguiente es un ejemplo de utilización del punto de extensión: <p> <pre> <extension point="com.example.xyz.parsers"> <parser id="com.example.xyz.parser1" name="Analizador de ejemplo 1" class="com.example.xyz.SampleParser1"> </parser> </extension> </pre> </p>
Pulse Aplicar.
Nota: deben tenerse en cuenta consideraciones especiales a la hora de proporcionar ejemplos. Por lo general, el PDE tratará el texto proporcionado como HTML sin procesar y no respetará los caracteres de nueva línea o los espacios en blanco formados por más de un carácter (es decir, espacios en blanco que pueden omitirse). Esto es lo que se espera en lo que se refiere al texto normal, pero es extraordinariamente molesto cuando se proporcionan ejemplos, en los que los tabuladores y la alineación vertical es significativa para que el ejemplo tenga buen aspecto. El PDE tiene una solución de compromiso para esta situación: si detecta el código HTML <pre>, conservará el contenido tal cual (conservando todos los caracteres sin realizar modificación ninguna) hasta encontrarse con el código de cierre </pre>. Esta es la razón por la que podemos proporcionar el ejemplo anterior y confiar en que el documento de consulta final tendrá buena apariencia.
Quizás ya haya observado que, a medida que escribe la documentación, cada vez más elementos de la vista Esquema del editor adoptan la imagen de un "lápiz". Este pequeño indicador indica que el elemento en cuestión tiene texto asociado (una forma rápida de comprobar si a la documentación le falta algo en algún lugar del documento).
Una vez terminada la documentación, podemos echar una ojeada a la documentación de consulta, parsers.html, que se encuentra en la carpeta "doc". Está creado por un constructor del PDE registrado para reaccionar ante cualquier cambio en los archivos del esquema de punto de extensión. El documento resultante de este ejemplo se parece a este.