Tipos de Conteúdo

org.eclipse.core.runtime.contentTypes

3.0

O ponto de extensão de tipos de conteúdo permitem a plug-ins contribuir para o catálogo de tipos de conteúdo da plataforma. Existem duas formas de contribuir: tipos de conteúdos e associações de ficheiros.

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

Caso o atributo describer for utilizado no elemento content-type, este elemento é 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 a propriedade relacionada com este tipo de conteúdo, atribuindo opcionalmente um valor predefinido.Consulte org.eclipse.core.runtime.content.IContentDescription para obter mais informações relativas a propriedades.



De seguida é apresentado um exemplo de uma declaração de tipo de conteúdo baseado em XML, utilizando org.eclipse.core.runtime.content.XMLRootElementContentDescriber, um descritor incorporado:

   

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

Este é um exemplo de um tipo de conteúdo simples baseado em texto, que possui uma extensão de ficheiro 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á necessidade de associar novos nomes/extensões de ficheiros a um tipo de conteúdo existente (por oposição a definir um novo tipo de conteúdo), um plug-in pode contribuir com uma associação de ficheiro, como é apresentado de seguida. Isto melhora a definição do tipo de conteúdo de texto, para incluir ficheiros com nomes a seguir ao padrão "*.mytxt".

   

<extension point=

"org.eclipse.core.runtime.contentTypes"

>

<file-association content-type=

"org.eclipse.core.runtime.text"

file-extensions=

"mytxt"

/>

</extension>

De seguida é apresentado 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 class no elemento describer tem de representar um implementador org.eclipse.core.runtime.content.IContentDescriber ou org.eclipse.core.runtime.content.ITextContentDescriber. Objectos org.eclipse.core.runtime.content.IContentDescription devolvidos pela API org.eclipse.core.runtime.content

O plug-in org.eclipse.core.runtime faculta os seguintes tipos de conteúdo:

Outros plug-ins da plataforma contribuem com outros tipos de conteúdo.

Além disso, o plug-in org.eclipse.core.runtime faculta implementações prontas a utilizar de descritores de conteúdo: