Użytkownicy mogą definiować znaczniki i tworzyć zapytania o znaczniki wskazanego typu. Typy znaczników są definiowane w hierarchii obsługującej wielokrotne dziedziczenie. W definicjach typów znaczników określona jest liczba atrybutów, które muszą lub mogą występować w znaczniku danego typu, a także informacje o tym, czy znaczniki tego typu powinny być utrwalane.
Punkt rozszerzenia znaczników pozwala ich twórcom na rejestrowanie typów znaczników pod symboliczną nazwą, która jest następnie używana w obszarze roboczym do tworzenia i odpytywania znaczników. Nazwa symboliczna to identyfikator rozszerzenia znacznika. Podczas definiowania rozszerzenia znacznika zalecane jest podawanie czytelnej dla człowieka wartości atrybutu name, która będzie identyfikowała znacznik i będzie mogła być wyświetlana użytkownikom.
<!ELEMENT extension (super* , persistent? , attribute*)>
<!ATTLIST extension
point CDATA #REQUIRED
id CDATA #IMPLIED
name CDATA #IMPLIED>
<!ELEMENT super EMPTY>
<!ATTLIST super
type CDATA #REQUIRED>
<!ELEMENT persistent EMPTY>
<!ATTLIST persistent
value (true | false) >
<!ELEMENT attribute EMPTY>
<!ATTLIST attribute
name CDATA #REQUIRED>
<extension id=
"com.xyz.coolMarker"
point=
"org.eclipse.core.resources.markers"
name=
"Cool Marker"
>
<persistent value=
"true"
/>
<super type=
"org.eclipse.core.resources.problemmarker"
/>
<super type=
"org.eclipse.core.resources.textmarker"
/>
<attribute name=
"owner"
/>
</extension>
Copyright (c) 2002, 2005 IBM Corporation i inne podmioty.
Wszelkie prawa zastrzeżone. Program ten oraz towarzyszące mu materiały są udostępniane na warunkach licencji EPL (Eclipse Public License), wersja 1.0, dołączonej do nich i dostępnej pod adresem http://www.eclipse.org/legal/epl-v10.html.