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

Si l'attribut du descripteur est utilisé dans l'élément du type de contenu, cet élément est ignoré.



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

Déclare une propriété associée à ce type de contenu et attribuant de manière facultative une valeur par défaut. Reportez-vous à org.eclipse.core.runtime.content.IContentDescription pour plus d'informations sur les propriétés.



L'exemple ci-dessous illustre une déclaration d'un type de contenu basé sur XML utilisant org.eclipse.core.runtime.content.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"

>

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

Lorsqu'il est nécessaire d'associer des nouveaux noms de fichiers/extensions à un type de contenu existant (par opposition à la définition d'un nouveau type de contenu), un plug-in peut fournir une association de fichier comme indiqué ci-dessous. Cela a pour effet d'améliorer la définition du type de contenu texte avec des noms suivant le modèle "*.mytxt".

   

<extension point=

"org.eclipse.core.runtime.contentTypes"

>

<file-association content-type=

"org.eclipse.core.runtime.text"

file-extensions=

"mytxt"

/>

</extension>

Voici un exemple de type de contenu qui définit les propriétés :
   

<extension point=

"org.eclipse.core.runtime.contentTypes"

>

<content-type id=

"MyContentType"

file-extensions=

"dat"

>

<property name=

"file-format"

value=

"1"

/>

</content-type>

</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. org.eclipse.core.runtime.content.IContentDescription objets renvoyés par l'API org.eclipse.core.runtime.content

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 :