Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
	<head>
	<meta name="copyright" content="Copyright (c) IBM Corporation and others 2007, 2011. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
		<title>Schema Definition Page</title>
		<link rel="STYLESHEET" href="../../../../book.css" type="text/css">
		<link rel="STYLESHEET" href="../../../tweak.css" type="text/css">
		<script language="JavaScript" type="text/javascript" src="PLUGINS_ROOT/org.eclipse.help/livehelp.js"></script>
	</head>
	<body>
		<h2>Schema Definition Page</h2>

		<h3>About This Page</h3>

		<p>
			This form page allows you to edit the structure and 
			properties of schema objects that constitute the edited schema's
			grammar.
		</p>
		
		<p>
			The structure of schema objects are edited in 
			the <strong>Extension Point Elements</strong> section.  
			This section occupies the upper left-hand portion of the editor area. 
		</p>
		<p>
			The properties of schema objects are edited in the 
			<strong>&lt;schema-object&gt; Details</strong> sections.
			These sections are activated in the upper right-hand portion of the editor area depending
			on the type of schema element selected in the <strong>Extension Point Elements</strong> section. 
		</p>
		
		<h3>Page Sections</h3>
		
		<p>
			This page is comprised of the following sections:
		</p>		
		
		<ul>
			<li>
				<a href="#extension-point">Extension Point Elements Section</a>
			</li>
			<li>
				<a href="#description">Description Section</a>
			</li>
			<li>
				<a href="#element">Element Details Section</a>
			</li>	
			<li>
				<a href="#compositor">Compositor Details Section</a>
			</li>		
			<li>
				<a href="#reference">Element Reference Details Section</a>
			</li>		
			<li>
				<a href="#attribute">Attribute Details Section</a>
			</li>							
		</ul>

		<a name="extension-point"></a>
		<h3>Extension Point Elements Section</h3>

		<p>
			This section allows you to do the following:
		</p>

		<ul>
			<li>
				Visualize and edit the structure of schema objects that 
				constitute the edited schema's grammar.
			</li>
			<li>
				Activate the corresponding <strong>&lt;schema-object&gt; Details</strong> section 
				used to edit the properties of a selected schema object.
			</li>
		</ul>

		<p>
			This section is directly accessible through the <strong>Schema Definition</strong> form page.
		</p>

		<h3>Extension Point Elements Section Fields</h3>

		<p>
			Use the extension point element viewer field to do the following:
		</p>

		<ul>
			<li>
				Visualize and edit the structure of the 
				elements, attributes and compositors that 
				constitute the edited schema's grammar.
			</li>
			<li>
				Activate the corresponding <strong>&lt;schema-object&gt; Details</strong> section 
				used to edit the properties of a selected element, attribute or 
				compositor.
			</li>
		</ul>

		<p>
			This viewer contains the following nodes:
		</p>

		<p>
			Elements:
		</p>

		<ul>
			<li>
				<img src="PLUGINS_ROOT/org.eclipse.pde.ui/icons/obj16/gel_sc_obj.gif" alt="Element Object">
				- Select the <em>Element</em> node, to activate the <strong>Element Details</strong> section. 
			</li>														
			<li>
				<img src="PLUGINS_ROOT/org.eclipse.pde.ui/icons/obj16/elref_sc_obj.gif" alt="Element Reference Object">
				- Select the <em>Element Reference</em> node, to activate the <strong>Element Reference Details</strong> section. 
			</li>			
		</ul>

		<p>
			Compositors:
		</p>

		<ul>
			<li>
				<img src="PLUGINS_ROOT/org.eclipse.pde.ui/icons/obj16/seq_sc_obj.gif" alt="Sequence Object">
				- Select the <strong>Sequence</strong> <em>Compositor</em> node, 
				to activate the <strong>Compositor Details</strong> section. 
			</li>													
			<li>
				<img src="PLUGINS_ROOT/org.eclipse.pde.ui/icons/obj16/choice_sc_obj.gif" alt="Choice Object">
				- Select the <strong>Choice</strong> <em>Compositor</em> node, 
				to activate the <strong>Compositor Details</strong> section. 
			</li>		
		</ul>

		<p>
			Attributes:
		</p>

		<ul>
			<li>
				<img src="PLUGINS_ROOT/org.eclipse.pde.ui/icons/obj16/att_req_obj.gif" alt="Required Atribute Object">
				- Select the <em>Required Attribute</em> node, to activate the <strong>Attribute Details</strong> section. 
			</li>		
			<li>
				<img src="PLUGINS_ROOT/org.eclipse.pde.ui/icons/obj16/att_impl_obj.gif" alt="Optional Atribute Object">
				- Select the <em>Optional Attribute</em> node, to activate the <strong>Attribute Details</strong> section. 
			</li>		
			<li>
				<img src="PLUGINS_ROOT/org.eclipse.pde.ui/icons/obj16/att_class_obj.gif" alt="Attribute Class Object">
				- Select the <em>Class Attribute</em> node, to activate the <strong>Attribute Details</strong> section. 
			</li>
			<li>
				<img src="PLUGINS_ROOT/org.eclipse.pde.ui/icons/obj16/att_file_obj.gif" alt="Attribute Resource Object">
				- Select the <em>Resource Attribute</em> node, to activate the <strong>Attribute Details</strong> section. 
			</li>
		</ul>

		<p>
			Example: The <strong>extension</strong> <em>element</em> specifies that a sequence 
			of one or more <strong>shortcut</strong> <em>elements</em> are allowed as its legal children.
			An <em>element reference</em> is used to represent the <strong>shortcut</strong> <em>element</em>.
			A <strong>Sequence</strong> <em>compositor</em> is used to represent a sequence of <em>elements</em>.
		</p>

		<p>
			<img src="../../../images/schema_editor/section_extension-point-elements_2.png" alt="Extension Point Elements Section 2">
		</p>

		<p>
			Example:  The <strong>shortcut</strong> <em>element</em> specifies that either a
			<strong>description</strong> or <strong>category</strong> element is allowed as its legal
			child.
			<em>Element references</em> are used to represent the <strong>description</strong> 
			and <strong>category</strong> <em>elements</em>.
			A <strong>Choice</strong> <em>compositor</em> is used to represent a choice of <em>elements</em>.
			
		</p>

		<p>
			<img src="../../../images/schema_editor/section_extension-point-elements_1.png" alt="Extension Point Elements Section 1">
		</p>

		<h3>Extension Point Elements Section Actions</h3>
		
		<p>
			Click the <strong>Add Element</strong> button to add a new global element declaration 
			to the extension point schema grammar. 
			This action is available when any node is selected. 
			Note:  Element declaration order is not important
		</p>

		<p>
			Click the <strong>Add Attribute</strong> button to add a new local attribute
			declaration to a selected element in the extension point schema grammar.
			This action is available for all selected <em>element</em> nodes 
			except for the <strong>extension</strong> <em>element</em> node.
			The <strong>extension</strong> <em>element</em> node always has 
			the same attributes:  <strong>id</strong>, <strong>name</strong>, <strong>point</strong>.
			Note:  Attribute declaration order is not important.
		</p>

		<p>
			To delete a schema object from the extension point schema grammar, 
			right-click on a selected node and select <strong>Delete</strong>.
			This action is available for all selected nodes except for 
			the <strong>extension</strong> <em>element</em> node.
			For non-shared schemas, the <strong>extension</strong> 
			<em>element</em> node is the special root element used 
			to define the entry point to the edited schema's grammar.
			Any extension 
			defined in the <strong>Plug-in Manifest Editor</strong> must use an
			<strong>extension</strong> parent element to specify its XML 
			related mark-up.
		</p>

		<p>
			To specify that an element's children is composed of a sequence or choice of other elements 
			in the extension point schema grammar, do the following:
		</p>

		<ol>
			<li>
				Select and right-click the <em>element</em> node you wish to designate
				as the parent element.
			</li>
			<li>
				Select <strong>New &gt; Compositor &gt; Sequence</strong> to define a sequence of elements.
				Select <strong>New &gt; Compositor &gt; Choice</strong> to define a choice of elements.
			</li>
			<li>
				Select and right-click the new <em>compositor</em> node.
			</li>
			<li>
				Select the element from the <strong>New &gt; Reference</strong>
				sub-menu that you wish to designate as a child of the parent element.
				The <strong>Reference</strong> sub-menu is populated with all
				the elements declared globally in the extension point schema grammar.
			</li>
			<li>
				Repeat steps (3) and (4) to specify additional child elements.
				If a <strong>Sequence</strong> compositor was specified, this amounts to 
				specifying additional elements in the sequence.
				If a <strong>Choice</strong> compositor was specified, this amounts to 
				specifying additional element choices.
			</li>
		</ol>

		<p>
			Note:  To specify that an element is the child of another element, an intermediate 
			<strong>Sequence</strong> or <strong>Choice</strong> compositor must always be used
			by the parent element.  The <em>compositor</em> nodes are connector nodes; whereas,
			the <em>element reference</em> nodes are leaf nodes.  Therefore, 
			<em>compositor</em> nodes should always specify at least one child <em>element reference</em> 
			node.
		</p>

		<p>
			Note:  <strong>Sequence</strong> and <strong>Choice</strong> compositors 
			may be nested any number of times to create more complex grammars.
		</p>

		<p>
			Note:  A grammar must not contain self-referent cycles.
			The most basic form of a prohibited cycle occurs when <em>Element A</em> requires 
			<em>Element B</em> as a child and <em>Element B</em> requires <em>Element A</em> as a child.
		</p>

		<p>
			To specify that an element has no children and allows text to be
			specified within its start and end XML tags (character content), 
			simply leave the element's structure as is by 
			not adding attributes, compositors and element references to it (element content).
			Note:  An element cannot specify mixed content
			(both character content and element content).
		</p>

		<a name="description"></a>
		<h3>Description Section</h3>

		<p>
			This section allows you to provide a brief description for any element, 
			attribute or compositor within the edited schema's grammar.
		</p>

		<p>
			This section is directly accessible through the <strong>Schema Definition</strong> form page.
		</p>
		
		<p>
			<img src="../../../images/schema_editor/section_description.png" alt="Description Section">
		</p>


		<h3>Description Section Fields</h3>
		
		<p>
			Edit the description text field to provide a brief description for 
			the current <em>element</em>, <em>attribute</em> or <em>compositor</em> 
			node selected in the <strong>Extension Point Elements</strong> section.
			Valid HTML mark-up may be used within this field as needed.
		</p>

		<p>
			Note:  Updating an element reference description also updates the description 
			of the global element declaration it refers to and vice versa.
		</p>

		<a name="element"></a>
		<h3>Element Details Section</h3>

		<p>
			This section allows you to edit the properties of an element.
			There are two kinds of elements: extension element, non-extension element. 
			An extension element is the special root element declaration used 
			to define the entry point to the edited schema's grammar.
			A non-extension element is a global element declaration used as a basic
			structural building block within the edited schema's grammar.
		</p>

		<p>
			This section is activated by selecting either a <strong>extension</strong> 
			<em>element</em> node or non-extension <em>element</em> node in the 
			<strong>Extension Point Elements</strong> section.
		</p>
		
		<p>
			The <strong>Element Details</strong> section for an <strong>extension</strong> 
			element.
		</p>
		
		<p>
			<img src="../../../images/schema_editor/section_element-details_1.png" alt="Element Details Section 1">
		</p>		

		<p>
			The <strong>Element Details</strong> section for a non-extension element.
		</p>
		
		<p>
			<img src="../../../images/schema_editor/section_element-details_2.png" alt="Element Details Section 2">
		</p>

		<h3>Element Details Section Fields</h3>
		
		<p>
			Edit the <strong>Name</strong> field to specify the element name.
		</p>
		
		<p>
			Click either the <strong>true</strong> button or <strong>false</strong> button
			within the <strong>Internal</strong> field to indicate whether the element
			is internal or not.  The <strong>Plug-in Manifest Editor</strong> will flag
			any extension XML mark-up that is internal with a warning (by default).
			This field is analogous to <em>x-internal</em> attribute on exported packages.
		</p>

		<p>
			Click either the <strong>true</strong> button or <strong>false</strong> button
			within the <strong>Deprecated</strong> field to indicate whether the element
			is deprecated or not.  The <strong>Plug-in Manifest Editor</strong> will flag
			any extension XML mark-up that is deprecated with a warning (by default).
			This field is analogous to Java's <em>Javadoc</em> <em>@deprecated</em> tag.
		</p>

		<p>
			If an extension element is marked as deprecated, edit the 
			<strong>Replacement</strong> field to specify the non-deprecated
			extension point the user should use in its place to achieve
			the same functionality.
		</p>

		<p>
			Select one of the element's defined attributes from the 
			<strong>Label Property</strong> field to specify the attribute value to
			use as the element's label in the <strong>Plug-in Manifest Editor</strong>.
			For instance, if a value is selected, the element's node label in the 
			<strong>All Extensions</strong> section of the 
			<strong>Extensions</strong> page in the <strong>Plug-in Manifest Editor</strong> will
			be as follows:  <em>selected-attribute-value</em> (<em>element-name</em>).
			Otherwise, if no value is selected, the element's node label will be as follows: 
			(<em>element-name</em>).
		</p>

		<p>
			Select one of the element's defined resource type attributes 
			from the <strong>Icon</strong> field to specify the 
			icon resource to use to represent the element's node in the 
			<strong>Plug-in Manifest Editor</strong>.  
			In order for the element's node icon to show up correctly in the 
			<strong>All Extensions</strong> section of the 
			<strong>Extensions</strong> page in the 
			<strong>Plug-in Manifest Editor</strong>, the following conditions
			must be met:
		</p>
		
		<ul>
			<li>
				The element must define a resource type attribute.
			</li>
			<li>
				That attribute must be selected as the value of this field.
			</li>			
			<li>
				The contributed XML mark-up supplying the attribute value 
				must point to a valid icon resource file.
			</li>
		</ul>

		<p>
			Click either the <strong>true</strong> button or <strong>false</strong> button
			within the <strong>Translatable</strong> field to indicate whether the element's
			character content is translatable or not.  This field is only applicable for
			elements that have no specified children (element content) or attributes and 
			allow text to be specified within its start and end XML tags (character content).
			If an element's character content is marked as translatable, then PDE tools 
			can be used on contributed extension XML mark-up to externalize the content 
			into a properties file for multi-language support.
		</p>

		<p>
			Use the read-only <strong>DTD approximation</strong> field to view 
			an approximate one-to-one mapping of the element schema grammar to the equivalent 
			element DTD grammar.  A DTD (Document Type Definition) is
			an easier to read, less-powerful alternative to XML Schema for 
			specifying an XML document's formal grammar.
			The following notation is used to specify the DTD approximation:
		</p>

		<ul>
			<li>
				<em>element-name</em> - Represents an element in the defined grammar.
			</li>
			<li>
				<strong>EMPTY</strong> - Indicates that no element content or character 
				content is allowed (only attribute declarations).
			</li>
			<li>
				<strong>#PCDATA</strong> - Indicates that only character content is 
				allowed (Parsed Character Data).
			</li>		
					
			<li>
				<strong>()</strong> - Used to group an element's defined sequence and choice compositors.
			</li>	
			<li>
				<strong>|</strong> - Used to delimit element choices.  Represents a logical <em>or</em> disjunction.
			</li>	
			<li>
				<strong>,</strong> - Used to delimit element sequences.  Represents a logical <em>and</em> conjunction.
			</li>
			<li>
				<strong>+</strong> - A qualifier used to indicate one or more instances are allowed.
			</li>	
			<li>
				<strong>*</strong> - A qualifier used to indicate zero or more instances are allowed.
			</li>																
		</ul>

		<a name="compositor"></a>
		<h3>Compositor Details Section</h3>

		<p>
			This section allows you to edit the properties of a compositor.
			There are two types of compositors: sequence compositor, choice compositor. 
			A sequence compositor allows you specify that an element's children is composed of a 
			sequence of other elements in the edited schema's grammar.
			A choice compositor allows you specify a that an element's children is composed of a 
			choice of other elements in the edited schema's grammar.			
		</p>

		<p>
			This section is activated by selecting either a <strong>Sequence</strong> or
			<strong>Choice</strong> node in the <strong>Extension Point Elements</strong> section.
		</p>
		
		<p>
			<img src="../../../images/schema_editor/section_compositor-details.png" alt="Compositor Details Section">
		</p>

		<h3>Compositor Details Section Fields</h3>
		
		<p>
			Edit the <strong>Min Occurrences</strong> field to specify the minimum number
			of occurrences this compositor of other elements and / or compositors is allowed 
			to appear in the contributed extension XML mark-up.  This field's value is used
			by PDE to validate multiplicity constraints within the 
			<strong>Plug-in Manifest Editor</strong>.
			If <em>Element A</em> requires exactly one <em>Element B</em> or <em>Element C</em> as its child and it uses
			a <strong>Choice</strong> compositor specifying 2 minimum occurrences, then any 
			2 instances of <em>Element B</em> in combination with <em>Element C</em> must be defined in the contributed
			extension XML mark-up in order to be valid.
		</p>

		<p>
			Edit the <strong>Max Occurrences</strong> field to specify the maximum number
			of occurrences this compositor of other elements and / or compositors is allowed 
			to appear in the contributed extension XML mark-up.  This field's value is used
			by PDE to validate multiplicity constraints within the 
			<strong>Plug-in Manifest Editor</strong>.
			If <em>Element A</em> requires exactly one <em>Element B</em> or <em>Element C</em> as its child and it uses
			a <strong>Choice</strong> compositor specifying 2 maximum occurrences, then no more than 
			2 instances of <em>Element B</em> in combination with <em>Element C</em> can be defined in the contributed
			extension XML mark-up to remain valid.
		</p>

		<p>
			Check the <strong>Unbounded</strong> field to specify that 
			there is no constraint on the maximum number of allowed occurrences this 
			compositor may appear within the contributed extension XML mark-up.
		</p>
		
		<p>
			Select a value from the <strong>Type</strong> field to specify whether this compositor is a 
			<strong>sequence</strong> or <strong>choice</strong>. 
		</p>

		<p>
			Use the read-only <strong>DTD approximation</strong> field to view 
			an approximate one-to-one mapping of the compositor schema grammar to the equivalent 
			compositor DTD grammar.  The notation used to specify the DTD approximation
			is described under the <strong>Element Details Section Fields</strong> heading in 
			this document.
		</p>

		<a name="reference"></a>
		<h3>Element Reference Details Section</h3>

		<p>
			This section allows you to edit the properties of an element reference.
			An element reference is a reference to a global element declaration within
			the edited schema's grammar.  Element references are used by compositors 
			as atomic building blocks to define the grammar for global element declarations.
		</p>

		<p>
			This section is activated by selecting an <em>element reference</em>
			node in the <strong>Extension Point Elements</strong> section.
		</p>
		
		<p>
			<img src="../../../images/schema_editor/section_element-reference-details.png" alt="Element Reference Details Section">
		</p>

		<h3>Element Reference Details Section Fields</h3>
		
		<p>
			Edit the <strong>Min Occurrences</strong> field to specify the minimum number
			of occurrences this element is allowed 
			to appear in the contributed extension XML mark-up.  This field's value is used
			by PDE to validate multiplicity constraints within the 
			<strong>Plug-in Manifest Editor</strong>.
			If <em>Element A</em> specifies 2 minimum occurrences, then 
			2 instances of <em>Element A</em> must be defined in the contributed
			extension XML mark-up in order to be valid.
		</p>

		<p>
			Edit the <strong>Max Occurrences</strong> field to specify the maximum number
			of occurrences this element is allowed 
			to appear in the contributed extension XML mark-up.  This field's value is used
			by PDE to validate multiplicity constraints within the 
			<strong>Plug-in Manifest Editor</strong>.
			If <em>Element A</em> specifies 2 maximum occurrences, then no more than 
			2 instances of <em>Element A</em> can be defined in the contributed
			extension XML mark-up to remain valid.
		</p>

		<p>
			Check the <strong>Unbounded</strong> field to specify that 
			there is no constraint on the maximum number of allowed occurrences this 
			element may appear within the contributed extension XML mark-up.
		</p>

		<p>
			Use the read-only <strong>DTD approximation</strong> field to view 
			an approximate one-to-one mapping of the element schema grammar to the equivalent 
			element DTD grammar.  The notation used to specify the DTD approximation
			is described under the <strong>Element Details Section Fields</strong> heading in 
			this document.
		</p>

		<h3>Element Reference Details Section Actions</h3>
		
		<p>
			Click the <em>element-name</em> hyperlink within the <strong>Reference</strong>
			field to edit the properties of the global element declaration this local element
			reference refers to.  When this action is complete, the referenced 
			<em>element</em> node is selected in the 
			<strong>Extension Point Elements</strong> section and the corresponding 
			<strong>Element Details</strong> section is activated.
		</p>

		<a name="attribute"></a>
		<h3>Attribute Details Section</h3>

		<p>
			This section allows you to edit the properties of an attribute.
			Attributes are used to provide additional information about elements.
		</p>

		<p>
			This section is activated by selecting either a <em>required attribute</em>,
			<em>optional attribute</em>, <em>class attribute</em> or 
			<em>resource attribute</em> node 
			in the <strong>Extension Point Elements</strong> section.
		</p>
		
		<p>
			The <strong>Attribute Details</strong> section for a required attribute of 
			type <strong>string</strong> that specifies an enumeration restriction.
		</p>
		
		<p>
			<img src="../../../images/schema_editor/section_attribute-details_1.png" alt="Attribute Details Section 1">
		</p>

		<p>
			The <strong>Attribute Details</strong> section for an optional attribute of 
			type <strong>boolean</strong> that specifies a default value.
		</p>
		
		<p>
			<img src="../../../images/schema_editor/section_attribute-details_2.png" alt="Attribute Details Section 2">
		</p>

		<p>
			The <strong>Attribute Details</strong> section for a class attribute 
			that indicates that the class represented by the attribute value 
			must extend the specified class and / or implement the specified interface.		</p>
		
		<p>
			<img src="../../../images/schema_editor/section_attribute-details_3.png" alt="Attribute Details Section 3">
		</p>

		<p>
			The <strong>Attribute Details</strong> section for a resource attribute.
		</p>
		
		<p>
			<img src="../../../images/schema_editor/section_attribute-details_4.png" alt="Attribute Details Section 4">
		</p>

	 	<h3>Using the Schema Indentifier Attribute</h3>

		<p>Extension point authors can define attributes that reference other attributes. This is accomplished by setting your extension point attributes as type identifier and choosing the attribute it references. An example of this would be the org.eclipse.ui.handlers extension point. The commandId attribute references commands defined in the org.eclipse.ui.commands extension point.</p>

		<img src="../../../images/schema_editor/schema_identifier.png" alt="Schema Identifier Usage">

		<p>Extension developers contributing a handler can then select from all valid identifiers for the commandId attribute. Warnings are issued for identifiers that don't exist to prevent the common mistake of a misspelled identifier.</p>

		<h3>Attribute Details Section Fields</h3>
		
		<p>
			Edit the <strong>Name</strong> field to specify the attribute name.
		</p>

		<p>
			Click either the <strong>true</strong> button or <strong>false</strong> button
			within the <strong>Deprecated</strong> field to indicate whether the attribute
			is deprecated or not.  The <strong>Plug-in Manifest Editor</strong> will flag
			any extension XML mark-up that is deprecated with a warning (by default).
			This field is analogous to Java's <em>Javadoc</em> <em>@deprecated</em> tag.
		</p>

		<p>
			Select a value from the <strong>Use</strong> field to indicate whether the 
			attribute must be specified on its defining element within contributed 
			extension XML mark-up.
			The following selections are available:
		</p>

		<ul>
			<li>
				<strong>optional</strong> - The attribute may be optionally specified on its defining element.
			</li>
			<li>
				<strong>required</strong> - The attribute must be specified on its defining element.
			</li>
			<li>
				<strong>default</strong> - The attribute may be optionally specified on its defining element.
				If the attribute is not specified, then its value will assume the defined default value.
			</li>			
		</ul>

		<p>
			Edit the <strong>Default Value</strong> field to specify the default value 
			to use for an attribute when it is not specified on its defining element within contributed 
			extension XML mark-up.  This field is only applicable when 
			the <strong>default</strong> value from the <strong>Use</strong> field is selected.
		</p>

		<p>
			Select a value from the <strong>Type</strong> field to specify the attribute value type.
			The following selections are available:
		</p>

		<ul>
			<li>
				<strong>string</strong> - The attribute value can be any valid string.
			</li>
			<li>
				<strong>boolean</strong> - The attribute value can be either <strong>true</strong>
				or <strong>false</strong> (case insensitive).
			</li>
			<li>
				<strong>java</strong> -  The attribute value can be any fully-qualified class name 
				on the target platform's classpath (e.g. java.lang.String).
			</li>
			<li>
				<strong>resource</strong> - The attribute value can be any project relative path to an
				existing file or folder resource.
			</li>
		</ul>

		<p>
			Click either the <strong>true</strong> button or <strong>false</strong> button
			within the <strong>Translatable</strong> field to indicate whether the attributes's
			value is translatable or not.  This field is only applicable when
			the <strong>string</strong> value from the <strong>Type</strong> field is selected.
			If an attribute's value is marked as translatable, then PDE tools 
			can be used on contributed extension XML mark-up to externalize these values 
			into a properties file for multi-language support.
		</p>

		<p>
			Use the <strong>Restrictions</strong> field to view 
			a list of string values the attribute is restricted to using
			as its own value.  If the field contains no values, then there
			are no restrictions on the attribute value.
			This field is only applicable when
			the <strong>string</strong> value from the <strong>Type</strong> field is selected.			
			Note:  An enumeration restriction on the string base type is used in
			the edited schema's grammar to accomplish this functionality.
		</p>

		<p>
			Edit the <strong>Extends</strong> field to specify a fully-qualified class name 
			on the target platform's classpath (e.g. org.eclipse.ui.part.EditorPart) that must 
			be sub-classed by the class specified as the attribute value.  PDE will validate the 
			class attribute value in the contributed extension XML mark-up to ensure it 
			extends the super-class.
			This field is only applicable when
			the <strong>java</strong> value from the <strong>Type</strong> field is selected.					
		</p>

		<p>
			Edit the <strong>Implements</strong> field to specify a fully-qualified interface name 
			on the target platform's classpath (e.g. org.eclipse.ui.IEditorPart) that must be 
			implemented by the class specified as the attribute value.  PDE will validate the 
			class attribute value in the contributed extension XML mark-up to ensure it 
			implements the interface.
			This field is only applicable when
			the <strong>java</strong> value from the <strong>Type</strong> field is selected.					
		</p>

		<h3>Attribute Details Section Actions</h3>
		
		<p>
			Click the <strong>Add...</strong> button in the <strong>Restrictions</strong>
			field to open the <strong>New Restriction</strong> dialog in order to add a 
			new restriction to the attribute value.  Once the dialog is completed, the 
			new restriction is added to the list of string values the 
			attribute is restricted to using as its own value.
			This action is only available when
			the <strong>string</strong> value from the <strong>Type</strong> field is selected.	
		</p>

		<p>
			Select a string value within the <strong>Restrictions</strong>
			field and click the <strong>Remove</strong> button 
			to remove a restriction from the list of string values the 
			attribute is restricted to using as its own value.
			This action is only available when
			the <strong>string</strong> value from the <strong>Type</strong> field is selected.	
		</p>

		<p>
			If the value specified in the <strong>Extends</strong> field refers to
			a fully-qualified class name on the target platform's classpath, then
			clicking on the <strong>Extends</strong> hyperlink will open that class in
			a new Java source editor.  Otherwise, clicking on the <strong>Extends</strong> 
			hyperlink will open the <strong>New Java Class</strong> wizard allowing you
			to create the new class.
			This action is only available when
			the <strong>java</strong> value from the <strong>Type</strong> field is selected.				
		</p>

		<p>
			If the value specified in the <strong>Implements</strong> field refers to
			a fully-qualified interface name on the target platform's classpath, then
			clicking on the <strong>Implements</strong> hyperlink will open that interface in
			a new Java source editor.  Otherwise, clicking on the <strong>Implements</strong> 
			hyperlink will open the <strong>New Java Class</strong> wizard allowing you
			to create the new interface.
			This action is only available when
			the <strong>java</strong> value from the <strong>Type</strong> field is selected.				
		</p>

		<p>
			Click the <strong>Browse...</strong> button to open the 
			<strong>Select Type</strong> dialog in order to select an existing class on the
			target platform's classpath to use as the value for the 
			<strong>Extends</strong> field.
			This action is only available when
			the <strong>java</strong> value from the <strong>Type</strong> field is selected.				
		</p>

		<p>
			Click the <strong>Browse...</strong> button to open the 
			<strong>Select Type</strong> dialog in order to select an existing interface on the
			target platform's classpath to use as the value for the 
			<strong>Implements</strong> field.
			This action is only available when
			the <strong>java</strong> value from the <strong>Type</strong> field is selected.				
		</p>

		<h3>Relevant Links</h3>

		<ul>
			<li>
				<a href="editor.htm">Extension Point Schema Editor</a>
			</li>		
			<li>
				<a href="../../file_wizards/new_schema.htm">New Extension Point Schema Wizard</a>
			</li>			
			<li>
				<a href="../manifest_editor/editor.htm">Plug-in Manifest Editor</a>
			</li>		
		</ul>

	</body>
</html>
New to GrepCode? Check out our FAQ X