# Extension XML Reference

An extension.xml file contains the descriptors for WebLogic Workshop extensions. You include the extension.xml file in the META-INF folder of your extension JAR file. When then JAR file is copied to the extensions folder of a WebLogic Workshop installation (<WORKSHOP_HOME>/extensions), the IDE examines the extension.xml on startup, identifies the extensions the JAR contains, and loads them.

The root element for the XML in this file is <extension-definition>. The <extension-definition> element may have one or more <extension-xml> elements as child elements, each describing a different extension. You specify the particular type of extension described by setting the value of the <extension-xml> element's id attribute, as described in the <extension-xml> element section of this topic.

The following simple example describes an extension that adds three panels for setting properties: one for the Project Properties dialog, one for the Application (workspace) Properties dialog, and one to the IDE Properties dialog.

    <extension-definition>
        <extension-xml id="urn:com-bea-ide:settings">
            <project-preferences>
                <panel label="%strings.workshop.debugger.extension.debuggerTab%" class="workshop.debugger.ui.DebuggerPreferencesPanel"/>
            </project-preferences>
            <workspace-preferences>
                <panel label="%strings.workshop.debugger.extension.debugSourcepath%" class="workshop.debugger.ui.DebugSourcepathPreferences" priority="40"/>
            </workspace-preferences>
            <ide-preferences>
                <panel label="%strings.workshop.debugger.extension.debuggerViews%" class="workshop.debugger.ui.ExpressionViewPreferences"/>
            </ide-preferences>
        </extension-xml>
    </extension-definition>

## <extension-definition> Element

The root of an extension.xml file. Each <extension-xml> child element should describe a different extension type.

### Hierarchy

Parents: None.

Children: <extension-xml>.

## <extension-xml> Element

The root element for a WebLogic Workshop extension descriptor. Set the id attribute to designate the type of extension described. Because the descriptor elements for each extension type follows a different schema, a given id attribute value will correspond to a specific XML shape within the <extension-xml> element.

### Syntax

    <extension-xml id="urnForExtensionType">
        <!-- Extension-specific XML. -->
    </extension-xml>

### Attributes

Attribute | Description
--- | ---
id | Required string. The URN for the specific kind of extension that this <extension-xml> element describes. Possible values are given in the Remarks section.

### Hierarchy

Parents: <extension-definition>.

Children: <file-extension>, <create-template>, <project-attributes>.

### Remarks

The <extension-xml> element may contain XML for any of the following extension types. Note that only one extension type may be defined within a given <extension-xml> element. However, multiple <extension-xml> elements may occur as children of the <extension-definition> element, which is the root element of an extension.xml file.

The following table lists the extension types that an extension.xml file may describe. Use the extension type links to see reference information about the XML shape for that type.

Extension Type | Extension Description | URN
--- | --- | ---
Actions | Defines menus, popups, and toolbars, along with their associated behavior. | urn:com-bea-ide:actions
Debugger Expression | Defines support for new views of variable data while debugging. | urn:com-bea-ide:debugExpressionViews
Document | Defines support for a document type to the IDE. | urn:com-bea-ide:document
File Encoding | Defines support for a file type. | urn:com-bea-ide:encoding
Frame | Defines a frame view — a dockable window in the IDE. | urn:com-bea-ide:frame
Help | Defines paths to search for help topics when context-sensitive help is requested. | urn:com-bea-ide:help
Preferences | Defines a new properties panel. | urn:com-bea-ide:settings
Project | Defines a new project type. | urn:com-bea-ide:project

### Related Topics

None.