Типы содержимого

org.eclipse.core.runtime.contentTypes

3.0

Точка расширения типов содержимого позволяет модулям пополнять каталог типов содержимого платформы. Существует два вида дополнений: типы содержимого и ассоциации файлов.

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

Если в элементе content-type присутствует атрибут describer, данный элемент игнорируется.



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

Объявляет свойство, относящееся к данному типу содержимого, позволяет задавать значение свойства по умолчанию. Дополнительная информация о свойствах приведена в org.eclipse.core.runtime.content.IContentDescription.



Ниже приведен пример объявления типа содержимого на основе XML с помощью org.eclipse.core.runtime.content.XMLRootElementContentDescriber (встроенный описатель):

   

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

Ниже приведен пример простого текстового типа содержимого с конкретным расширением файла:

   

<extension point=

"org.eclipse.core.runtime.contentTypes"

>

<content-type id=

"MyText"

base-type=

"org.eclipse.core.runtime.text"

file-extensions=

"mytxt"

/>

</extension>

Если требуется ассоциировать новые имена/расширения файлов с существующим типом содержимого (вместо определения нового), это может сделать модуль. В примере ниже определение текстового типа содержимого дополняется шаблоном "*.mytxt".

   

<extension point=

"org.eclipse.core.runtime.contentTypes"

>

<file-association content-type=

"org.eclipse.core.runtime.text"

file-extensions=

"mytxt"

/>

</extension>

Пример типа содержимого со свойствами:
   

<extension point=

"org.eclipse.core.runtime.contentTypes"

>

<content-type id=

"MyContentType"

file-extensions=

"dat"

>

<property name=

"file-format"

value=

"1"

/>

</content-type>

</extension>

Значение атрибута class в элементе describer должно представлять исполнитель описателя org.eclipse.core.runtime.content.IContentDescriber или org.eclipse.core.runtime.content.ITextContentDescriber. Объекты org.eclipse.core.runtime.content.IContentDescription, возвращаемые API org.eclipse.core.runtime.content

Модуль org.eclipse.core.runtime предоставляет следующие типы содержимого:

Прочие модули платформы пополняют другие типы содержимого.

Кроме того, модуль org.eclipse.core.runtime предоставляет готовые к применению реализации описателей содержимого: