Types de contenu
Identificateur :
org.eclipse.core.runtime.contentTypes
Depuis :
3.0
Description :
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.
-
Un type de contenu correspond à un format de fichier et les
convention de dénomination le concernant. Les types de contenu
peuvent être définis totalement ou être hérités d'autres existants,
puis spécialisés.
-
Une association de fichiers étend un type de contenu existant
en lui associant de nouveaux noms de fichiers et/ou extensions.
Marques de configuration :
<!ELEMENT extension (content-type* , file-association*)>
<!ATTLIST extension
point CDATA #REQUIRED
id CDATA #IMPLIED
name CDATA #IMPLIED>
- point - identificateur qualifié complet du point
d'extension cible.
- id - identificateur facultatif de l'instance d'extension.
- name - nom facultatif de l'instance d'extension.
<!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>
- id - identificateur pour ce type de contenu (jeton d'ID
unique pour des types de contenu dans l'espace de nom d'extension). Le jeton ne peut contenir de point (.) ou
d'espace.
- base-type - identificateur qualifié complet de ce type de
base de contenu. Ce type de contenu hérite des associations de
fichiers, du descripteur de contenu et du jeu de caractères par
défaut du type de base, sauf en cas de redéfinition.
- name - nom de ce type de contenu.
- file-extensions - liste d'extensions de fichiers séparées
pars de virgules et à associer à ce type de contenu.
- file-names - liste de noms de fichiers séparés par des
virgules et à associer à ce type de contenu.
- priority - priorité de ce type de contenu. Les
priorités servent à résoudre des conflits (lorsque deux types de
contenu sont associés au même nom ou à la même extension de
fichier).
- default-charset - jeu de caractères par défaut pour ce
type de contenu ou chaîne vide si celui-ci ne doit pas posséder de
jeu de caractères même si le parent en a un.
<!ELEMENT describer (parameter*)>
<!ATTLIST describer
class CDATA #REQUIRED>
- class - nom qualifié complet d'une classe implémentant
org.eclipse.core.runtime.content.IContentDescriber ou
org.eclipse.core.runtime.content.ITextContentDescriber,
ou bien chaîne vide si ce type de contenu ne doit pas posséder de
descripteur même si le parent en a un.
<!ELEMENT file-association EMPTY>
<!ATTLIST file-association
content-type CDATA #REQUIRED
file-names CDATA #IMPLIED
file-extensions CDATA #IMPLIED>
- content-type - identificateur qualifié complet pour le
type de contenu auquel cette association de fichiers contribue.
- file-names - liste de noms de fichiers séparés par des
virgules et à associer au type de contenu cible.
- file-extensions - liste d'extensions de fichiers séparées
par des virgules et à associer au type de contenu cible.
<!ELEMENT
parameter EMPTY>
<!ATTLIST parameter
name CDATA #REQUIRED
value CDATA #REQUIRED>
- name - nom de ce paramètre mis à la disposition des instances de la classe d'application spécifiée.
- value - valeur de ce paramètre mis à la disposition des
instances de la classe d'application spécifiée.
Exemples :
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>
Informations d'API :
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.
Implémentation fournie :
Le
plug-in org.eclipse.core.runtime fournit les types de contenu
suivants :
- org.eclipse.core.runtime.text
- org.eclipse.core.runtime.xml
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 :
- org.eclipse.core.runtime.content.XMLRootElementContentDescriber
- org.eclipse.core.runtime.content.BinarySignatureDescriber
Copyright (c) 2004 IBM Corporation and others.
All rights reserved. Ce programme et les produits qui l'accompagnent sont
fournis sous licence v1.0 associée à cette distribution et disponibles à
l'adresse suivante :
http://www.eclipse.org/legal/cpl-v10.html