Users can define and query for markers of a given type. Marker types are defined in a hierarchy that supports multiple-inheritance. Marker type definitions also specify a number attributes which must or may be present on a marker of that type as well as whether or not markers of that type should be persisted.
The markers extension-point allows marker writers to register their marker types under a symbolic name that is then used from within the workspace to create and query markers. The symbolic name is the id of the marker extension. When defining a marker extension, users are encouraged to include a human-readable value for the "name" attribute which indentifies their marker and potentially may be presented to users.
<!ELEMENT extension (super* , persistent? , attribute*)>
<!ATTLIST extension
point CDATA #REQUIRED
id CDATA #REQUIRED
name CDATA #IMPLIED>
<!ELEMENT super EMPTY>
<!ATTLIST super
type IDREF #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, 2008 IBM Corporation and others.
This program and the accompanying materials are made
available under the terms of the Eclipse Public License 2.0 which
accompanies
this distribution, and is available at
https://www.eclipse.org/legal/epl-v20.html/
SPDX-License-Identifier: EPL-2.0