Types de contenu

org.eclipse.core.runtime.contentTypes

3.0

Le point d'extension des types de contenu permet aux plug-ins de contribuer au catalogue de types de contenu de la plateforme. Il existe deux formes de contributions : types de contenu et associations de fichiers.

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


L'exemple ci-dessous illustre la déclaration d'un type de contenu basé XML avec XMLRootElementContentDescriber (descripteur intégré) :

   

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

L'exemple qui suit illustre un type de contenu basé texte et avec une extension spécifique :

   

<extension point=

"org.eclipse.core.runtime.contentTypes"

>

<content-type id=

"MyText"

base-type=

"org.eclipse.core.runtime.text"

file-extensions=

"mytxt"

/>

</extension>

Dans un cas comme celui ci-dessus visant à associer de nouveaux noms/extensions de fichiers à un type de contenu existant, le mieux est de contribuer une association de fichiers :

   

<extension point=

"org.eclipse.core.runtime.contentTypes"

>

<file-association content-type=

"org.eclipse.core.runtime.text"

file-extensions=

"mytxt"

/>

</extension>

La valeur de l'attribut class dans l'élément de descripteur doit correspondre à une implémentation de org.eclipse.core.runtime.content.IContentDescriber ou de org.eclipse.core.runtime.content.ITextContentDescriber.

Le plug-in org.eclipse.core.runtime fournit les types de contenu suivants :

D'autres plug-ins sur la plateforme contribuent d'autres types de contenu.

Par ailleurs, le plug-in org.eclipse.core.runtime fournit des implémentations prêtes à l'emploi de descripteurs de contenu :