Inconsistent behavior between Data(name, '.'), single-node XML tree and
multiple-node XML tree within <send> namelist
---------------------------------------------------------------------------------------------------------------------
Key: SCXML-70
URL: https://issues.apache.org/jira/browse/SCXML-70
Project: Commons SCXML
Issue Type: Improvement
Affects Versions: 0.7, 0.6, 0.5
Reporter: Javier Arauz
Priority: Minor
Fix For: 0.8, 1.0
When using JEXL, expression Data(name, '.') correctly returns the first node in
the set of XML trees under data element 'name'. However, when executing a
<send> action that includes 'name' in the namelist attribute, what is passed
down to the execution environment is an XML tree rooted with a <data> element.
That semantic of <send> is not usually what an application expects. For
instance, say the application wants to send back an HTML page to a requesting
client:
<data name='ContentType' expr='text/html'/>
<data name='EntityBody'><html><body>Hi there!</body></html></data>
<send targettype='x-http' namelist='ContentType EnttityBody'/>
The execution environment receives 'text/html' in the parameter 'ContentType',
as expected. But in parameter 'EntityBody' it receives a <data> node wrapping
the HTML content, which when sent to the client can't of course be properly
handled. This forces the execution environment to perform specific processing
for the latter case.
To align the three behaviors, the first child of the <data> element (as opposed
to the <data> element itself) should be passed down to the execution
environment in all cases.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.