Hi, I just attached an initial patch. Are you in a position to checkout Castor from SVN trunk, apply the patch and build Castor binaries yourself ? And provide me with feedback ?
Werner Andrew wrote: > Werner, > > I had submitted a ticket. > > http://jira.codehaus.org/browse/CASTOR-2699 > > Thanks, > Andrew > On Thu, Apr 23, 2009 at 2:42 PM, Werner Guttmann <[email protected]> wrote: >> Andrew, >> >> looks like you have indeed come across a problem with handling of >> 'boolean values'. Can I please ask you to raise a new Jira issue at >> >> http://jira.codehaus.org/browse/CASTOR >> >> and we'll be dealing with it through this ticket. >> >> Thanks >> Werner >> >> Andrew wrote: >>> I'm trying to use castor 1.3 as the validator of incoming xml >>> documents. This is a basic XML schema contains only built-in types: >>> <?xml version="1.0"?> >>> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" >>> xmlns:basic="http://www.example.com/test" >>> targetNamespace="http://www.example.com/test"> >>> >>> <xs:element name = "BuiltinElement" type="basic:BuiltinTypes"/> >>> <xs:complexType name="BuiltinTypes"> >>> <xs:sequence> >>> <xs:element name="StringElement" type="xs:string" /> >>> <xs:element name="IntegerElement" type="xs:integer"/> >>> <xs:element name="BooleanElement" type="xs:boolean"/> >>> </xs:sequence> >>> </xs:complexType> >>> </xs:schema> >>> >>> After generate java and descriptor classes, I try to validation some >>> xml instances in ValidateTest.java. Parser validation is disabled by >>> default. This is my validation related configurations in >>> castor.properties: >>> org.exolab.castor.parser.validation=false >>> org.exolab.castor.parser.namespaces=false >>> org.exolab.castor.marshalling.validation=true >>> >>> ValidateTest.java: >>> public static void main( String[] args ) { >>> String filename = args[0]; >>> try { >>> >>> BuiltinTypes builtin01 = >>> BuiltinTypes.unmarshalBuiltinTypes(new >>> FileReader(filename)); >>> StringWriter myWriter = new StringWriter(); >>> Marshaller m1 = new Marshaller( myWriter ); >>> m1.marshal(builtin01); >>> System.out.println( "Castor Output:" ); >>> System.out.println( myWriter.getBuffer().toString() ); >>> System.out.println( "" ); >>> } >>> catch( Exception e ) { >>> e.printStackTrace(); >>> } >>> } >>> } >>> >>> Castor validation works fine with string and integer types, while once >>> I input the following instance with invalid boolean type, castor >>> doesn't raise any validation exception but treat wrong input as false: >>> <?xml version="1.0"?> >>> <BuiltinElement> >>> <StringElement>abc</StringElement> >>> <IntegerElement>111</IntegerElement> >>> <BooleanElement>whatever</BooleanElement> >>> </BuiltinElement> >>> >>> Castor Output: >>> <?xml version="1.0" encoding="UTF-8"?> >>> <BuiltinTypes xmlns="http://www.example.com/test"> >>> <StringElement>abc</StringElement> >>> <IntegerElement>111</IntegerElement> >>> <BooleanElement>false</BooleanElement> >>> </BuiltinTypes> >>> >>> It seems castor in-object validation doesn't validate boolean type >>> well in this case. Is there anything wrong with my code or >>> configurations? >>> >>> Thanks, >>> Andrew >>> >>> --------------------------------------------------------------------- >>> To unsubscribe from this list, please visit: >>> >>> http://xircles.codehaus.org/manage_email >>> >>> >> --------------------------------------------------------------------- >> To unsubscribe from this list, please visit: >> >> http://xircles.codehaus.org/manage_email >> >> >> > > --------------------------------------------------------------------- > To unsubscribe from this list, please visit: > > http://xircles.codehaus.org/manage_email > > --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email

