XML schema that covers the various XML formats of the TIBCO General Interface(TM) Asynchronous Modular
Platform (AMP).
The top-level element of the plugin.xml plug-in descriptor file.
The top-level element of the plugin.xml plug-in descriptor file; also the nested element of the plugins.xml
plug-in registration file. If the latter, this element may either be simply a pointer to the plugin.xml
file or it may be the entire exploded contents of the plugin.xml file. If this is a pointer then only the id
(required) and path attributes are allowed. If it is the entire contents then either the class attribute or
at least one child element are required.
The required unique identifier of the plug-in. This value must be unique across all plug-ins registered
in a single AMP application.
The fully-qualified name of a class to instantiate to create this plug-in. This class should be
a subclass of jsx3.amp.PlugIn or at least implement the minimal plug-in interface.
The name of a property (may be nested with ".") of the application loading this plug-in
whose value AMP will set to this plug-in instance. This property becomes a shortcut for
calling jsx3.amp.Engine.getInstance(app).getPlugIn(id)
. If this plug-in is a global
plug-in then the nested property is set on the top-level window object rather than the application
instance.
If true, this one instance of this plug-in is shared among all engines that register it. This is
appropriate for library plug-ins. The getEngine() and getServer() methods of this plug-in will return
null.
The whitespace-separated list of locales for which this plugin.xml file is localized. For each locale, LL,
listed here, there must exist a plugin.LL.xml file. The contents of the localized file are merged into
the master file (plugin.xml) when the plug-in is registered.
This attribute is only allowed when this element is a pointer inside of the plugins element. If provided,
this attribute is the relative path from the default plugins directory to the directory containing the
directory of the plug-in referenced by this pointer. The default is the empty string which means that by
default plug-in directories are located in the plugins directory of the base directory of the application.
Declares JavaScript code that is evaluated in the context of the enclosing element. For example, if this
element is enclosed by a plugin element, "this" refers to the plug-in instance.
Declares a field on the object defined by the enclosing element. The text content of this element is
evaluated in the global context, the result of which is taken as the value of the field.
The name of the field.
Declares a method on the object defined by the enclosing element. The text content of this element is
taken as the body block of a method.
The name of the method.
The comma-separated list of method parameters.
Whether the method is defined to be asynchronous. If this attribute is true
then the method
is wrapped with jsx3.$Y() and should follow the contract of this utility.
Whether the method is defined to be lazy. If this attribute is true
then the method
is defined as a simple lazy delegate that loads the plug-in and then calls the method again with the
same parameters. Loading the plug-in must redefine the method to prevent an endless loop. A lazy
method should have an empty body.
Defines the list of plug-ins that must load before this plug-in.
A plug-in that must load before this plug-in loads.
The unique identifier of the required plug-in.
Defines the list of resources of this plug-in. AMP manages the loading of any resource referenced here.
Defines the inline XML, XSL or JSS resource. The first child of this element is taken as the root element
of the resource. Care should be taken to define the namespace correctly for the root resource element;
it may need xmlns="".
The unique identifier of this resource. This identifier must be unique across all resources in the
same plug-in.
The path of this resource. This path is relative to the directory of the plug-in defining this resource.
If this resource is inlined then this attribute should not be specified.
The whitespace-separated list of locales for which this resource is localized. For each locale, LL,
listed here, there must exist a resource file whose path is equal to the path of this resource with ".LL"
inserted before the file extension.
The unique identifier of this resource. This identifier must be unique across all resources in the
same plug-in.
The path of this resource. This path is relative to the directory of the plug-in defining this resource.
Defines a dependency between this resource and another resource or plug-in. The resource or plug-in
referenced here must load before this resource loads.
The id attribute of another resource defined in this plug-in. This attibute is the non-qualified
id of the resource (not prepended with the plug-in identifier). Only specify this attribute if not
specifying the plugin attribute.
The unique identifier of a plug-in that must load before this resource. Only specify this attribute if not
specifying the id attribute.
The allowed values for the load attribute of a plug-in resource.
The resource loads before its plug-in is instantiated and registered.
The resource loads before its plug-in is loaded.
The resource loads when it is loaded programmatically or before a dependent resource loads.
The allowed values for the cache attribute of an XML or XSL plug-in resource.
The resource is stored in the shared system cache.
The resource is stored in the private system cache.
The resource is stored in the application cache.
Defines a JavaScript plug-in resource. The resource may either be contained in a separate file, inlined
as the text content of this element, or inlined as the text content of the child data element of this
element.
Optionally, the inlined content of the JavaScript resource.
The unique identifier of this resource. This identifier must be unique across all resources in the
same plug-in.
The path of this resource. This path is relative to the directory of the plug-in defining this resource.
If this resource is inlined then this attribute should not be specified.
The whitespace-separated list of locales for which this resource is localized. For each locale, LL,
listed here, there must exist a resource file whose path is equal to the path of this resource with ".LL"
inserted before the file extension.
Defines a JavaScript plug-in resource. The resource may either be contained in a separate file, inlined
as the text content of this element, or inlined as the text content of the child data element of this
element.
If true then the contents of this resource are evaluated in the context of the plug-in object. This
attribute is implicitly true when the resource is inlined. Note that setting this attribute equal to
true is incompatible with load="early" since the plug-in will not have been instantiated.
Defines an XML plug-in resource. The resource may either be contained in a separate file or inlined under
the data child element of this element. When this resource is loaded the document is stored in the
application cache under the fully-qualified identifier of this resource. The fully-qualified identifier
is the ID of this resource appended to the plug-in ID, separated with a ".".
If provided then the resource is stored in the cache under this ID rather than under the
fully-qualified ID of the resource.
If provided then the resource is stored in the cache under this ID rather than under the
fully-qualified ID of the resource.
Defines a CSS plug-in resource.
Defines a dynamic properties (JSS) plug-in resource.
Defines a properties bundle plug-in resource.
Declares that a plug-in publishes events of a particular type.
Declares a parameter to the event. Parameters are stored as fields of the event object. This element
is for documentation purposes only and is not checked at runtime.
The name of the event parameter; the field of the event object where the parameter is stored.
The parameter type, such as String, int, etc.
The event subject. This value must be unique across all events that a plug-in declares. This value
must be a valid JavaScript name (matching[_$a-zA-Z][_$a-zA-Z0-9]*
). The plug-in
should at some point publish an event with the code:
this.publish({subject:id});
Declaratively subscribes this plug-in to the event of another plug-in. The text content of this element
is taken as a script that will be evaluated in the context of the plug-in object when the event is
published. In this context, the evt object is defined as the event object. Thus, event parameter p is
available in the script as evt.p
.
Alternately, the handler attribute is taken as the name of a method on the plug-in object that should be
called when the event is published. In this case, the event object is passed at the only argument of this
method.
The fully-qualified ID of the event to subscribe to. The fully-qualified ID is the id attribute of
the event element appended to the ID of its plug-in, separated by a ".". This attribute may contain
more than one event ID, in which case they should be separated by whitespace.
The condition under which to process the subscription.
The name of a method of the plug-in that will be called when the event is published. This should
only be specified in place of the text content of the element.
The allowed values for the when attribute of an event subscription.
The subscription is always processed.
If the plug-in is not loaded then the plug-in is loaded and the subscription is processed,
otherwise the subscription is processed immediately.
The subscription is only processed if the plug-in is already loaded.
Declares an extension point of the plug-in. In addition to the allowed child elements of the extension-point
element, any element is allowed if its namespace is not the AMP namespace.
The local ID of this extension point. This ID must be unique across all extension points of the same
plug-in.
The fully-qualified name of a class to instantiate to create this extension point. This class should be
a subclass of jsx3.amp.ExtPoint
.
Defines the default extension processor for this extension point.
The processor type. This may be one of the built-in types (eval, return, return-async, instantiator)
or any type registered with the jsx3.amp.ExtProc.addProcessorFactory()
method.
Declares an extension of the plug-in. Any content is allowed in the extension element. The script, method,
and field elements in the AMP namespace are recognized by AMP.
Any content is allowed in the extension element. The script, method, and field elements in the AMP
namespace are recognized by AMP. They would be documented in this schema but they conflict with this
any element.
The fully-qualified ID of the extension point that this extension extends. The fully-qualified ID is
the id attribute of the extension-point
element appended to the ID of its plug-in,
separated by a ".".
The local ID of this extension. This ID must be unique across all extensions of the same
plug-in.
The fully-qualified name of a class to instantiate to create this extension. This class should be
a subclass of jsx3.amp.Ext
.
Declares a bindable property of this plug-in.
Implicitly declares an event of the same id. The schema of the event is {subject:id,
oldValue:oldValue, value:newValue}.
The name of the bindable property.
The value of the bindable property. This is an expression that is evaluated in the context of the
plug-in instance. The actual value of the property is equal to the result of evaluating this expression.
The white-space separated list of AMP event IDs that will cause the value of the property to be recalculated.