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? , property*)>

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

describer       CDATA #IMPLIED

alias-for       CDATA #IMPLIED>


<!ELEMENT describer (parameter*)>

<!ATTLIST describer

class  CDATA #REQUIRED

plugin CDATA #IMPLIED>

Se o atributo describer for utilizado no elemento content-type, esse elemento será ignorado.



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


<!ELEMENT property EMPTY>

<!ATTLIST property

name    CDATA #REQUIRED

default CDATA #IMPLIED>

Declara uma propriedade relacionada a esse tipo de conteúdo, opcionalmente, designando um valor padrão. Consulte org.eclipse.core.runtime.content.IContentDescription para obter informações adicionais sobre propriedades.



A seguir, está um exemplo de uma declaração do tipo de conteúdo com base em XML, utilizando o org.eclipse.core.runtime.content.XMLRootElementContentDescriber, um descritor interno:

   

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

>

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

Quando há a necessidade de associar novos nomes/extensões de arquivo a um tipo de conteúdo existente (em oposição à definição de um novo tipo de conteúdo), um plug-in pode contribuir com uma associação de arquivo conforme visto a seguir. Isso tem o efeito de aumentar a definição do tipo de conteúdo do texto para incluir arquivos com nomes que seguem o padrão "*.mytxt".

   

<extension point=

"org.eclipse.core.runtime.contentTypes"

>

<file-association content-type=

"org.eclipse.core.runtime.text"

file-extensions=

"mytxt"

/>

</extension>

Aqui está um exemplo de um tipo de conteúdo que define propriedades:
   

<extension point=

"org.eclipse.core.runtime.contentTypes"

>

<content-type id=

"MyContentType"

file-extensions=

"dat"

>

<property name=

"file-format"

value=

"1"

/>

</content-type>

</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. org.eclipse.core.runtime.content.IContentDescription objetos retornados pela API org.eclipse.core.runtime.content

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: