MilePost > libplugin
 
Font size:      

Plugin file format - Optional element reference

Optional element reference

Plugin applications can decide which elements can be allowed beneath a plugin element (except for the fixed set which are always included). The plugin system provides a variety of optional elements, found below. It is expected that most applications will provide all of these elements. Plugin applications may also add their own, new elements.

Check with the plugin application documentation to see which elements it allows.

Element export

<export
    id        = extension point id
    library?  = library id
    symbol    = symbol name>
    <!-- Content: EMPTY -->
</export>
<!-- Contained by: plugin -->

Attribute id

This attribute is variable expanded. Variables are resolved in the context of the plugin.

Attribute library

This attribute is variable expanded. Variables are resolved in the context of the plugin.

Attribute symbol

This attribute is variable expanded. Variables are resolved in the context of the plugin.

Element import

<import
    id        = extension point id
    library?  = library id
    symbol    = symbol name>
    <!-- Content: EMPTY -->
</import>
<!-- Contained by: plugin -->

Attribute id

This attribute is variable expanded. Variables are resolved in the context of the plugin.

Attribute library

This attribute is variable expanded. Variables are resolved in the context of the plugin.

Attribute symbol

This attribute is variable expanded. Variables are resolved in the context of the plugin.

Element extension-point

<extension-point
    id        = extension point id
    schema?   = xsd file name>
    <!-- Content: extend? -->
</extension-point>
<!-- Contained by: plugin -->

Attribute id

This attribute is variable expanded. Variables are resolved in the context of the plugin.

Attribute schema

This attribute is variable expanded. Variables are resolved in the context of the plugin.

Element extend

<extend
    library?  = library id
    symbol    = symbol name>
    <!-- Content: EMPTY -->
</extend>
<!-- Contained by: extension-point -->

Attribute library

This attribute is variable expanded. Variables are resolved in the context of the plugin.

Attribute symbol

This attribute is variable expanded. Variables are resolved in the context of the plugin.

Element extension

<extension
    point     = extension point id
    *         = any attributes allowed>
    <!-- Content: ANY -->
</extension>
<!-- Contained by: plugin -->

Attribute point

This attribute is variable expanded. Variables are resolved in the context of the plugin.

Element event

<event
    id        = extension point id
    signature = signature>
    <!-- Content: call -->
</event>
<!-- Contained by: plugin -->

Attribute id

This attribute is variable expanded. Variables are resolved in the context of the plugin.

Attribute signature

This attribute is variable expanded. Variables are resolved in the context of the plugin.

Element event-handler

<event-handler
    event     = extension point id
    listener  = extension point id
    *         = any attributes allowed>
    <!-- Content: ANY -->
</event-handler>
<!-- Contained by: plugin -->

Attribute event

This attribute is variable expanded. Variables are resolved in the context of the plugin.

Attribute listener

This attribute is variable expanded. Variables are resolved in the context of the plugin.

Element around

<around
    id        = extension point id
    signature = signature>
    <!-- Content: ( call | callback ) -->
</around>
<!-- Contained by: plugin -->

Attribute id

This attribute is variable expanded. Variables are resolved in the context of the plugin.

Attribute signature

This attribute is variable expanded. Variables are resolved in the context of the plugin.

Element join-point

<join-point
    id        = extension point id
    signature = signature>
    <!-- Content: ( call | callback ) -->
</join-point>
<!-- Contained by: plugin -->

Attribute id

This attribute is variable expanded. Variables are resolved in the context of the plugin.

Attribute signature

This attribute is variable expanded. Variables are resolved in the context of the plugin.

Element call

<call
    library?  = library id
    symbol    = symbol name>
    <!-- Content: EMPTY -->
</call>
<!-- Contained by: event, around, join-point -->

Attribute library

This attribute is variable expanded. Variables are resolved in the context of the plugin.

Attribute symbol

This attribute is variable expanded. Variables are resolved in the context of the plugin.

Element callback

<callback
    library?  = library id
    symbol    = symbol name
    import?   = extension point id
    type?     = { "static" | "non-static" | "ffi" } default "static or ffi">
    <!-- Content: EMPTY -->
</callback>
<!-- Contained by: around, join-point -->

Attribute library

This attribute is variable expanded. Variables are resolved in the context of the plugin.

Attribute symbol

This attribute is variable expanded. Variables are resolved in the context of the plugin.

Attribute import

This attribute is variable expanded. Variables are resolved in the context of the plugin.

Attribute type

This attribute is variable expanded. Variables are resolved in the context of the plugin.