Tipos de Conteúdo
Identificador:
org.eclipse.core.runtime.contentTypes
Desde:
3.0
Descrição:
O ponto de extensão dos tipos de conteúdo permitem que os plug-ins contribuam com o catálogo de tipo de conteúdo da plataforma. Há duas formas de contribuição: tipos de conteúdo e associação de arquivo.
-
O tipo de conteúdo representa um formato de arquivo e suas convenções de nomenclatura. Os tipos de conteúdo podem ser definidos do zero ou podem herdar de um existente, especializando-os
-
uma associação de arquivo estende um tipo de conteúdo existente associando novos nomes de arquivos e/ou extensões a ele
Marcação de Configuração:
<!ELEMENT extension (content-type* , file-association*)>
<!ATTLIST extension
point CDATA #REQUIRED
id CDATA #IMPLIED
name CDATA #IMPLIED>
- point - um identificador completo do ponto de extensão de destino
- id - um identificador opcional da instância de extensão
- name - um nome opcional da instância de extensão
<!ELEMENT content-type (describer?)>
<!ATTLIST content-type
id CDATA #REQUIRED
base-type CDATA #IMPLIED
name CDATA #REQUIRED
file-extensions CDATA #IMPLIED
file-names CDATA #IMPLIED
priority (low|normal|high) "normal"
default-charset CDATA #IMPLIED>
- id - o identificador para este tipo de conteúdo (token de id simples, exclusivo para tipos de conteúdo dentro do espaço de nome da extensão). Os tokens não podem conter
pontos (.) ou espaços em branco
- base-type - o identificador completo deste tipo base do tipo de conteúdo. O tipo de conteúdo irá herdar suas associações de arquivo do tipo base, seu descritor de conteúdo e seu conjunto de caractere padrão, a menos que sejam redefinidos
- name - o nome que pode ser entendido pelo usuário deste tipo de conteúdo
- file-extensions - uma lista separada por vírgula de extensões do arquivo a serem associadas com o tipo de conteúdo
- file-names - uma lista separada por vírgula de nomes do arquivo a serem associados com o tipo de conteúdo
- priority - a prioridade para este tipo de conteúdo. As prioridades são utilizadas para solucionar conflitos (quando dois tipos de conteúdo são associados ao mesmo nome/extensão de arquivo)
- default-charset - o conjunto de caractere padrão para este tipo de conteúdo, ou uma cadeia vazia, se este tipo de conteúdo não deveria ter um caractere padrão mesmo que o pai tenha um
<!ELEMENT describer (parameter*)>
<!ATTLIST describer
class CDATA #REQUIRED>
- class - o nome completo da classe que implementa org.eclipse.core.runtime.content.IContentDescriber ou org.eclipse.core.runtime.content.ITextContentDescriber, ou uma cadeia vazia, se este tipo de conteúdo não deveria ter um descritor mesmo que o pai tenha um
<!ELEMENT file-association EMPTY>
<!ATTLIST file-association
content-type CDATA #REQUIRED
file-names CDATA #IMPLIED
file-extensions CDATA #IMPLIED>
- content-type - o identificador completo para o tipo de conteúdo para o qual a associação de arquivo contribui
- file-names - uma lista separada por vírgula dos nomes de arquivo a serem associados ao tipo de conteúdo de destino
- file-extensions - uma lista separada por vírgula das extensões de arquivo a serem associadas ao tipo de conteúdo de destino
<!ELEMENT parameter EMPTY>
<!ATTLIST parameter
name CDATA #REQUIRED
value CDATA #REQUIRED>
- name - o nome deste parâmetro disponibilizado para as ocorrências da classe de aplicativos especificada.
- value - o valor deste parâmetro disponibilizado para instâncias da classe de aplicativo especificada
Exemplos:
A seguir, um exemplo de uma declaração do tipo de conteúdo com base em XML utilizando o XMLRootElementContentDescriber
(um descritor de construção):
<extension point=
"org.eclipse.core.runtime.contentTypes"
>
<content-type id=
"ABC"
base-type=
"org.eclipse.core.runtime.xml"
file-extensions=
"a,b,c"
>
<describer class=
"org.eclipse.core.runtime.content.XMLRootElementContentDescriber"
>
<param name=
"element"
value=
"abc"
/>
</describer>
</content-type>
</extension>
Aqui está um exemplo de um tipo de conteúdo com base em texto simples que possui uma extensão de arquivo específica:
<extension point=
"org.eclipse.core.runtime.contentTypes"
>
<content-type id=
"MyText"
base-type=
"org.eclipse.core.runtime.text"
file-extensions=
"mytxt"
/>
</extension>
No caso do exemplo anterior, quando estamos apenas tentando associar novos nomes/extensões de arquivo a um tipo de conteúdo existente, contribuir uma associação de arquivo é, geralmente, o melhor a fazer:
<extension point=
"org.eclipse.core.runtime.contentTypes"
>
<file-association
content-type=
"org.eclipse.core.runtime.text"
file-extensions=
"mytxt"
/>
</extension>
Informações sobre API:
O valor do atributo de classe no elemento do descritor deve representar um implementador de org.eclipse.core.runtime.content.IContentDescriber ou org.eclipse.core.runtime.content.ITextContentDescriber.
Implementação Fornecida:
O plug-in org.eclipse.core.runtime fornece os tipos de conteúdo a seguir:
- org.eclipse.core.runtime.text
- org.eclipse.core.runtime.xml
Outros plug-ins na plataforma contribuem outros tipos de conteúdo.
Também, o plug-in org.eclipse.core.runtime fornece implementações prontas para serem utilizadas dos descritores de conteúdo:
- org.eclipse.core.runtime.content.XMLRootElementContentDescriber
- org.eclipse.core.runtime.content.BinarySignatureDescriber
Copyright (c) 2004 IBM Corporation e outros.
Todos os direitos reservados.
Este programa e os materiais que o acompanham são disponibilizados sob os termos da Common Public License v1.0 que acompanha esta distribuição e estão disponíveis no endereço http://www.eclipse.org/legal/cpl-v10.html