Você pode abrir o editor de esquema do ponto de extensão de duas maneiras: como um produto secundário da criação de um novo ponto de extensão ou abrindo um esquema existente de ponto de extensão. Por convenção, os esquemas novos possuem o mesmo nome que o ID do ponto de extensão com uma extensão de arquivo .exsd. Eles são colocados no diretório schema na árvore de diretórios do plug-in.
Quando um novo ponto de extensão é criado no PDE, o arquivo do esquema inicial também será criado e o editor do esquema será aberto para edição. É possível definir o esquema agora ou fechá-lo e fazer isso depois. Fazer um esquema de ponto de extensão completo permite que o PDE ofereça assistência automática aos usuários do ponto de extensão.
O editor de esquema PDE baseia-se nos mesmos conceitos que o editor de manifesto de plug-in. Ele possui duas páginas de formulário e uma página de origem. Como o esquema XML é detalhado e pode ser difícil de ser lido no formulário de origem, você deve utilizar as páginas de formulário para a maior parte da edição. A página de origem é útil para ler o código fonte resultante.
Criamos anteriormente o ponto de extensão "Analisador de Amostra" e o esquema inicial. Podemos agora abrir o esquema indo para a pasta esquema do projeto e dando um clique duplo no arquivo parsers.exsd. Isso abrirá o editor de esquema.
Desejamos fazer o seguinte:
Cada esquema de ponto de extensão inicia com uma declaração do elemento "extension". Nós adicionaremos um novo elemento XML denominado "parser."
Então, o editor do esquema deveria parecer com este:
Agora adicionaremos um outro atributo que obtém valores de uma lista discreta de opções. Isso significa que precisamos criar uma restrição de enumeração do tipo base string. Além disso, definiremos um valor padrão para o atributo.
A caixa de diálogo restrição deveria parecer com esta:
Quando o diálogo for fechado, altere o atributo "use" para "default" e o atributo "value" para "always." Isso estabelece o valor padrão. Observe que a linha de status mostra uma mensagem de erro enquanto você digita o valor, uma vez que restringe os valores válidos para as três opções de enumeração. Assim que terminar de digitar, a mensagem de erro deveria sair porque "always" é um valor válido.
Agora que definimos todos os elementos e atributos, precisamos definir a gramática. Nosso objetivo é definir que o elemento "extension" pode ter qualquer número de elementos "parser" como filhos.
Depois de definir a gramática, a aproximação DTD abaixo da seção gramática mostra que a gramática para o elemento selecionado apareceria no DTD. Essas informações são fornecidas para ajudar os desenvolvedores que ainda estão mais confortáveis com os DTDs que com os esquemas XML.
Agora que definimos elementos válidos, atributos e gramática, precisamos fornecer algumas informações sobre o ponto de extensão. Há dois tipos de fragmentos de documentação de esquema:
O primeiro tipo de fragmento é fornecido na página Definição de manifest do esquema. Conforme seleciona elementos e atributos, é possível incluir texto pequeno sobre eles na seção "Descrição". O formato esperado é em HTML (como com Javadoc) e o texto será copiado como está no documento de referência final.
Agora temos que fornecer uma descrição de texto pequeno do próprio ponto de extensão. Para fazer isso, alternamos para a página de Documentação:
Esse ponto de extensão é usado para analisadores adicionais de plug-in. Os analisadores realmente não funcionam - temos que usá-los somente como exemplos do esquema de ponto de extensão.
O exemplo a seguir é da utilização do ponto de extensão:
<p>
<pre>
<extension point="com.example.xyz.parsers">
<analisador
id="com.example.xyz.parser1"
name="Analisador de Amostra 1"
class="com.example.xyz.SampleParser1">
</parser>
</extension> </pre>
</p>
Pressione Aplicar.
Os plug-ins que desejem estender esse ponto de extensão devem implementar a interface <samp>com.example.xyz.IParser</samp>.
O plug-in XYZ fornece implementação padrão do analisador.
Pressione Aplicar.Nota: deve ser dada consideração especial ao fornecer exemplos. Normalmente, o PDE trataria o texto fornecido como HTML não-processado e não respeitaria linhas novas e espaços em branco maiores que um caractere (isto é, espaço em branco ignorável). Isso é para ser esperado quando relacionado a texto regular, mas é extremamente indesejável ao fornecer exemplos, onde a tabulação e o alinhamento vertical são importantes se o exemplo tiver que ser bom. O PDE tem um compromisso com essa situação: se detectar a marcação HTML <pre>, tomará o conteúdo como está (preservando todos os caracteres sem modificação) até que a marcação de fechamento </pre> seja vista. Isso ocorre porque podemos fornecer um exemplo como acima e estarmos certos que ele parecerá bom no documento de referência final.
Você pode já ter observado que conforme você digita a documentação, mais e mais elementos na visualização Esboço do editor recebe uma sobreposição de elemento de imagem "pen". Esse pequeno indicador informa que o elemento em questão possui algum texto associado a ele - uma forma rápida de verificar se está faltando documentação em algum lugar no documento.
Depois de concluirmos com a documentação, poderemos ver a documentação de referência. Isso pode ser feito de duas maneiras. Todo o tempo durante o trabalho, você pode visualizar o documento de referência selecionando o item Visualizar Documento de Referência no menu pop-up. Alternativamente, você pode configurar as preferências do PDE (Preferências>Desenvolvimento de Plug-in>Compiladores, sob a guia Esquema) para criar automaticamente a documentação de referência em cada alteração do arquivo de esquema. Independente do método para criá-lo, o documento resultante para este exemplo seria semelhante a este.