Tipos de contenido
Identificador:
org.eclipse.core.runtime.contentTypes
A partir del release:
3.0
Descripción:
El punto de extensión de tipos de contenido permite a los conectores efectuar contribuciones al catálogo de tipos de contenido de la plataforma. Existen dos formas de contribuciones: tipos de contenido y
asociaciones de archivo.
-
Un tipo de contenido representa un formato de archivo y sus convenios de denominación. Los tipos de contenido pueden definirse desde cero o heredarse de tipos existentes, especializándolos.
-
Una asociación de archivo amplía un tipo de contenido existente asociándole nuevos nombres de archivo y/o extensiones.
Código de configuración:
<!ELEMENT extension (content-type* , file-association*)>
<!ATTLIST extension
point CDATA #REQUIRED
id CDATA #IMPLIED
name CDATA #IMPLIED>
- point: identificador totalmente calificado del punto de extensión destino
- id: identificador opcional de la instancia de extensión
- name: nombre opcional de la instancia de extensión
<!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: identificador de este tipo de contenido (símbolo de ID simple, exclusivo de los tipos de contenido dentro del espacio de nombres de extensión).
El símbolo no puede contener puntos (.) ni espacios en blanco
- base-type: identificador totalmente calificado del tipo base de este tipo de contenido. Este tipo de contenido heredará las asociaciones de archivo, descriptor de contenido y juego de caracteres por omisión de su tipo base, a menos que se redefinan
- name: nombre de este tipo de contenido legible por los usuarios
- file-extensions: lista separada por comas de las extensiones de archivo que deben asociarse con este tipo de contenido
- file-names: lista separada por comas de los nombres de archivo que deben asociarse con este tipo de contenido
- priority: prioridad de este tipo de contenido. Las prioridades se utilizan para resolver conflictos (cuando dos tipos de contenido se asocian al mismo nombre o extensión de archivo)
- default-charset: juego de caracteres por omisión de este tipo de contenido, o serie vacía si este tipo de contenido no debe tener juego de caracteres por omisión aunque el padre tenga uno
<!ELEMENT describer (parameter*)>
<!ATTLIST describer
class CDATA #REQUIRED>
- class: nombre totalmente calificado de una clase que implementa org.eclipse.core.runtime.content.IContentDescriber o org.eclipse.core.runtime.content.ITextContentDescriber, o una serie vacía si este tipo de contenido no debe tener un descriptor aunque el padre tenga uno
<!ELEMENT file-association EMPTY>
<!ATTLIST file-association
content-type CDATA #REQUIRED
file-names CDATA #IMPLIED
file-extensions CDATA #IMPLIED>
- content-type: identificador totalmente calificado del tipo de contenido al que esta asociación de archivo realiza contribuciones
- file-names: lista separada por comas de los nombres de archivo que deben asociarse con el tipo de contenido destino
- file-extensions: lista separada por comas de las extensiones de archivo que deben asociarse con el tipo de contenido destino
<!ELEMENT parameter EMPTY>
<!ATTLIST parameter
name CDATA #REQUIRED
value CDATA #REQUIRED>
- name: nombre de este parámetro, disponible para las instancias de la
clase de aplicación especificada.
- value: valor de este parámetro, disponible para las instancias de la
clase de aplicación especificada.
Ejemplos:
A continuación figura un ejemplo de
una declaración de tipo de contenido basado en XML mediante
el descriptor XMLRootElementContentDescriber
(un descriptor 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"
>
<param name=
"element"
value=
"abc"
/>
</describer>
</content-type>
</extension>
A continuación figura un ejemplo de un tipo de contenido simple basado en texto que tiene una extensión de archivo específica:
<extension point=
"org.eclipse.core.runtime.contentTypes"
>
<content-type id=
"MyText"
base-type=
"org.eclipse.core.runtime.text"
file-extensions=
"mytxt"
/>
</extension>
En un caso como el del ejemplo anterior, cuando intentamos sólo asociar nuevos nombres/extensiones de archivo a un tipo de contenido existente, añadir una asociación de archivo es generalmente lo mejor que puede hacerse:
<extension point=
"org.eclipse.core.runtime.contentTypes"
>
<file-association
content-type=
"org.eclipse.core.runtime.text"
file-extensions=
"mytxt"
/>
</extension>
Información sobre las API:
El valor del atributo
class del elemento describer debe representar un implementador de org.eclipse.core.runtime.content.IContentDescriber o org.eclipse.core.runtime.content.ITextContentDescriber.
Implementación suministrada:
El conector org.eclipse.core.runtime suministra los siguientes tipos de contenido:
- org.eclipse.core.runtime.text
- org.eclipse.core.runtime.xml
Otros conectores de la plataforma suministran otros tipos de contenido.
Asimismo, el conector org.eclipse.core.runtime suministra implementaciones de descriptores de contenido preparados para utilizar:
- org.eclipse.core.runtime.content.XMLRootElementContentDescriber
- org.eclipse.core.runtime.content.BinarySignatureDescriber
Copyright (c) 2004 IBM Corporation y otros.
Reservados todos los derechos. Este programa y sus materiales adjuntos están disponibles
bajo los términos de la licencia pública común (Common Public License) v1.0 que acompaña a
esta distribución, y está disponible en
http://www.eclipse.org/legal/cpl-v10.html