Hi Luca,
The decimal form you're seeing is the default representation of numbers in
XPath. If you want to drop the decimal, use the function
string($counterParam). Here's what the XPath spec section 4.2 says about
the string() function:
if the number is an integer, the number is represented in decimal form as a
Number <http://www.w3.org/TR/xpath#NT-Number> with no decimal point and no
leading zeros, preceded by a minus sign (-) if the number is negative
alex
On 6/21/07, Luca Clementi <[EMAIL PROTECTED]> wrote:
Hi all,
I am trying to copy an integer value in an attribute with the following
copy:
<copy>
<from>$counterParam</from>
<to>$n0_PAAM_data_in.body/xsd:parameterSet/@id</to>
</copy>
Where
<variable messageType="xsd:paamInput" name="n0_PAAM_data_in" />
<variable name="counterParam" type="xs:integer" />
and paamInput schema declares the attribute with a:
<xsd:attribute name="id" type="xsd:integer" use="optional"/>
The problem is that final result is:
<?xml version="1.0" encoding="UTF-8"?>
<PAAM_in xmlns="http://www.a-ware.org/test/xsd"
xmlns:xsd="http://www.a-ware.org/test/xsd">
<templateFile>pluto</templateFile>
<parameterSet id="1.0"> <----------
<xsd:parameter>
<xsd:name>string1</xsd:name>
<xsd:value>string1</xsd:value>
</xsd:parameter>
</parameterSet>
</PAAM_in>
While before the copy it was:
<parameterSet id="1">
Obviously the final message is invalid because the field that should be
an integer, is represented with a dot.
Is this a bug or am I doing something wrong?
thanks for your help,
Luca