[ http://issues.apache.org/jira/browse/JAXME-47?page=comments#action_57622 
]
     
Jochen Wiedmann commented on JAXME-47:
--------------------------------------

This is how a union converts a string at runtime: For any possible type, in the 
order specified by the schema, it attempts to convert the string into the 
requested type. If no exception occurs, then the result is taken. If an 
exception occurs, then the next possible type is attempted. Finally, an 
exception is thrown, if no type was successfull.

The UnionTypeSG does this, by invoking all the types in order and let them 
create code. The returned code is surrounded with exception handlers.

In other words, the right thing to do for default values is as follows: The 
UntionTypeSG should invoke the internal SG's in order and let them convert the 
string. The result of the first one, that produces no error, is taken. If they 
all throw errors, then the value is invalid.


> When using default values initialization of vars doesn't work for all types
> ---------------------------------------------------------------------------
>
>          Key: JAXME-47
>          URL: http://issues.apache.org/jira/browse/JAXME-47
>      Project: JaxMe
>         Type: Bug
>   Components: JaxMe Core
>     Reporter: Nacho G. Mac Dowell

>
> Consider the definition of the following element:
>     <element name="elt">
>         <complexType>
>             <attribute name="a" default="1" type="decimal" />
>             <attribute name="b" default="0" type="hexBinary" />
>             <attribute name="c" default="none">
>                 <simpleType>
>                     <union>
>                         <simpleType>
>                             <restriction base="NMTOKEN"/>
>                         </simpleType>
>                         <simpleType>
>                             <restriction base="anyURI" />
>                         </simpleType>
>                     </union>
>                 </simpleType>
>             </attribute>
>             <attribute name="d" default="1" type="integer" />
>             <attribute name="e" default="-1" type="nonPositiveInteger" />
>             <attribute name="f" default="1" type="positiveInteger" />
>             <attribute name="g" default="1" type="unsignedLong" />
>         </complexType>
>     </element>
> When compiling the schema we get the following result:
>   private java.math.BigDecimal A = 1;
>   private byte[] B = 01;
>   private java.lang.Object C = none;
>   private java.math.BigInteger D = 1;
>   private java.math.BigInteger E = -1;
>   private java.math.BigInteger F = 1;
>   private java.math.BigInteger G = 1;
> having multiple compile errors.
> Further investigation is required to determine exactly all cases.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to