Evaluator Factory
The evaluator
factory
provides access to system-supplied and user-defined script evaluators.
Evaluator
An evaluator
supports evaluation of expressions in arbitrary scripting languages.
This capability is necessary in order to support the <xpdl:Script>
element, which specifies the language used for expressions within an
XPDL package. OBE comes with a basic evaluator factory implementation
which supports three different evaluator types.
BSF Evaluator
This evaluator supports a variety of scripting
language via the Apache Bean Scripting Framework (BSF). This pluggable
scripting framework supports any BSF-compliant scripting language,
which as standard includes:
- REXX
- LotusScript
- Perl
- VBScript
- JavaClass
- BML
- BeanBasic
- JScript
- Python
- XSLT
- PNUTS
- Beanshell (BSH, aka Java)
- JACL
Jaxen Evaluator
This evaluator supports the W3C XPath 1.0 langauge via the Apache Jaxen
library. Its strength lies it its complete and robust implementation of
XPath semantics and its ability to work with standard DOM documents.
JXPath Evaluator
This evaluator supports the W3C XPath 1.0
langauge via the Apache JXPath library. Its strength lies in its
ability to use XPath expressions to perform reflective navigations and
computations over complex Java object graphs.
Evaluator Meta-data
Evaluator
meta-data are
used to register an evaluator type. The basic evaluator factory
implementation that comes with OBE reads and stores these data in
the configuration file BasicEvaluatorFactory.xml
. ;
entries have the format:
<bsf-evaluator id="nmtoken" type="nmtoken"? threadsafe="true|false"?>
<display-name .../>?
<author .../>?
<description .../>?
<doc-url .../>?
<grammar .../>?
<language .../>?
</bsf-evaluator>
<jaxen-evaluator id="nmtoken" type="nmtoken"? threadsafe="true|false"?>
<display-name .../>?
<author .../>?
<description .../>?
<doc-url .../>?
<grammar .../>?
</jaxen-evaluator>
<jxpath-evaluator id="nmtoken" type="nmtoken"? threadsafe="true|false"?>
<display-name .../>?
<author .../>?
<description .../>?
<doc-url .../>?
<grammar .../>?
</jxpath-evaluator>
- id
- The ID of the grammar, expressed as a MIME content type.
- grammar
- The URL of the document containing the formal grammar definition for the
language.
- language
- The name of the pluggable BSF-compliant language.