Tipos de Conteúdo

org.eclipse.core.runtime.contentTypes

3.0

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.

<!ELEMENT extension (content-type* , file-association*)>

<!ATTLIST extension

point CDATA #REQUIRED

id    CDATA #IMPLIED

name  CDATA #IMPLIED>


<!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>


<!ELEMENT describer (parameter*)>

<!ATTLIST describer

class CDATA #REQUIRED>


<!ELEMENT file-association EMPTY>

<!ATTLIST file-association

content-type    CDATA #REQUIRED

file-names      CDATA #IMPLIED

file-extensions CDATA #IMPLIED>


<!ELEMENT parameter EMPTY>

<!ATTLIST parameter

name  CDATA #REQUIRED

value CDATA #REQUIRED>


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>

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.

O plug-in org.eclipse.core.runtime fornece os tipos de conteúdo a seguir:

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: