[ https://issues.apache.org/jira/browse/SCXML-88?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ingmar Kliche updated SCXML-88:
-------------------------------
Attachment: NamespacesInTransition_testcase.patch
JUnit Testcase for using namespaces in transitions
> SCXMLSerializer does not serialize custom namespace declarations
> ----------------------------------------------------------------
>
> Key: SCXML-88
> URL: https://issues.apache.org/jira/browse/SCXML-88
> Project: Commons SCXML
> Issue Type: Bug
> Affects Versions: 0.8
> Reporter: Ingmar Kliche
> Attachments: NamespacesInTransition_testcase.patch
>
>
> The SCXMLSerializer writes the scxml namespace as the default namespace to the <scxml>
root tag and adds a "cs" ("commons-scxml") namespace by default.
> But it does not take into account that the original scxml document might contain other
namespace declarations, e.g. on child tags:
> <?xml version="1.0" encoding="UTF-8"?>
> <scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:cs="http://commons.apache.org/scxml"
version="1.0" initial="S1">
> <state id="S1">
> <!-- some E4X like condition using XML namespaces -->
> <!-- redefine default namespace to "foo" and use explicit namespace prefix for scxml:transition
tag -->
> <scxml:transition event="foo" cond="a.b.bar::c.* == 3" target="S2" xmlns="foo" xmlns:scxml="http://www.w3.org/2005/07/scxml"
xmlns:bar="bar">
> </transition>
> </state>
> <state id="S2" final="true">
> </state>
> </scxml>
> The above SCXML document is parsed properly and namespaces are forwarded to the executor
(i.e. it works correct). But if it comes to serialization the namespaces are not serialized
properly.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
|