Hi Yuzo:
> INCORRECT
> <variable name="intTypeVar" type="xsd:int"/>
> ...
> <assign>
> <copy>
> <from>0</from> <!-- INCORRECT -->
> <to variable="intTypeVar"/>
> </copy>
> </assign>
>CORRECT
> <variable name="intTypeVar" type="xsd:int"/>
> ...
> <assign>
> <copy>
> <from><p:intVal xsi:type="xsd:int">0</p:intVal></from>
> <to variable="intTypeVar"/>
> </copy>
> </assign>
Why is it so difficult for a BPEL parser to do the right
thing in this example? The <from> has an attribute that
specifies its "category" (i.e., variable). Absence impliesa literal. The compiler looks at the category and type of
the <to>, and sees if <from> is type compatible (or
can be coerced into a compatible type). Perhaps if the
parser is not sure what to do, it generates a warning.
Autoboxing springs to mind when I look at these
two examples.
Cheers,
Andrew