Tipi di contenuto
Identificativo:
org.eclipse.core.runtime.contentTypes
Da:
3.0
Descrizione:
Il punto di estensione dei tipi di contenuto consente ai plugin di contribuire al catalogo dei tipi di contenuto della piattaforma. Non esistono altre forme di contributi: tipi di contenuto e associazioni di file.
-
un tipo di contenuto rappresenta un formato file e le relative convenzioni di denominazione. I tipi di contenuto possono essere definiti da zero o possono essere ereditati dai tipi esistenti, specializzando tali tipi
-
un'associazione di file estende un tipo di contenuto esistente associando i nuovi nomi file e/o le relative estensioni
Tag di configurazione:
<!ELEMENT extension (content-type* , file-association*)>
<!ATTLIST extension
point CDATA #REQUIRED
id CDATA #IMPLIED
name CDATA #IMPLIED>
- point - identificativo completo del punto di estensione di
destinazione
- id - identificativo dell'istanza dell'estensione
- name - nome dell'istanza dell'estensione facoltativo
<!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 - l'identificativo per questo tipo di contenuto (token id semplice, univoco per i tipi di contenuto all'interno dello spazio nomi delle estensioni). Non può contenere punti (.) o spazi
- base-type - l'identificativo completo di questo tipo di contenuto di base. Questo tipo di contenuto eredita le associazioni file del tipo base, il descrittore del contenuto e l'insieme di caratteri predefinito, a meno che non siano stati ridefiniti
- name - il nome di questo tipo di contenuto
- file-extensions - un elenco separato da virgole di estensioni file da associare a questo tipo di contenuto
- file-names - un elenco separato da virgole di nomi file da associare a questo tipo di contenuto
- priority - la priorità per questo tipo di contenuto. Le priorità vengono utilizzate per risolvere i conflitti (quando due tipi di contenuto sono associati allo stesso nome file/estensione)
- default-charset - l'insieme di caratteri predefinito per questo tipo di contenuto o una stringa vuota, se questo tipo di contenuto non deve presentare un insieme di caratteri predefinito, anche se il tipo principale presenta questo insieme
<!ELEMENT describer (parameter*)>
<!ATTLIST describer
class CDATA #REQUIRED>
- class - il nome completo di una classe che implementa org.eclipse.core.runtime.content.IContentDescriber o org.eclipse.core.runtime.content.ITextContentDescriber, o una stringa vuota, se questo tipo di contenuto non deve presentare un descrittore, anche se il tipo principale presenta un descrittore
<!ELEMENT file-association EMPTY>
<!ATTLIST file-association
content-type CDATA #REQUIRED
file-names CDATA #IMPLIED
file-extensions CDATA #IMPLIED>
- content-type - l'identificativo completo per il tipo di contenuto a cui questa associazione file contribuisce
- file-names - un elenco separato da virgole di nomi file da associare al tipo di contenuto di destinazione
- file-extensions - un elenco separato da virgole di estensioni file da associare al tipo di contenuto di destinazione
<!ELEMENT parameter EMPTY>
<!ATTLIST parameter
name CDATA #REQUIRED
value CDATA #REQUIRED>
- name - il nome del parametro messo a disposizione di istanze della classe specificata di applicazione
- value - il valore del parametro messo a disposizione di istanze della
classe specificata di applicazione
Esempi:
Di seguito è riportato un esempio di una dichiarazione di tipo di contenuto XML, utilizzando XMLRootElementContentDescriber
(un descrittore incorporato):
<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>
Di seguito è riportato un esempio di un tipo di contenuto semplice basato su un testo che presenta una specifica estensione file:
<extension point=
"org.eclipse.core.runtime.contentTypes"
>
<content-type id=
"MyText"
base-type=
"org.eclipse.core.runtime.text"
file-extensions=
"mytxt"
/>
</extension>
In un caso come quello riportato nell'esempio, quando si tenta di associare i nuovi nomi file/estensioni ad un tipo di contenuto esistente, fornire un'associazione file è in genere la cosa migliore da fare:
<extension point=
"org.eclipse.core.runtime.contentTypes"
>
<file-association
content-type=
"org.eclipse.core.runtime.text"
file-extensions=
"mytxt"
/>
</extension>
Informazione API:
Il valore dell'attributo class nell'elemento descrittore deve rappresentare un implementatore di org.eclipse.core.runtime.content.IContentDescriber o org.eclipse.core.runtime.content.ITextContentDescriber.
Implementazione fornita:
Il plugin org.eclipse.core.runtime fornisce i seguenti tipi di contenuto:
- org.eclipse.core.runtime.text
- org.eclipse.core.runtime.xml
Altri plugin della piattaforma forniscono altri tipi di contenuto.
Inoltre, il plugin org.eclipse.core.runtime fornisce implementazioni pronte da utilizzare dei descrittori del contenuto:
- org.eclipse.core.runtime.content.XMLRootElementContentDescriber
- org.eclipse.core.runtime.content.BinarySignatureDescriber
Copyright (c) 2004 IBM Corporation e altri.
Tutti i diritti riservati. Questo programma e il materiale di accompagnamento
sono disponibili secondo i termini della Common Public License v1.0 che sono
distribuiti con il prodotto, e disponibili all'indirizzo
http://www.eclipse.org/legal/cpl-v10.html