It is not a bug, as Dennis said in a previous email, XMLBeans and binding tools in general, try to do the right thing in many cases, but this is not one of them. Even if this Boolean restriction seems simple enough, to support all restrictions is impossible.
Check out the following example on how to use 0/1 instead of true/false for a Boolean type: XmlBoolean xb = XmlBoolean.Factory.newInstance(); xb.setStringValue("1"); XmlObject xo = XmlObject.Factory.parse("<a/>"); System.out.println(" xo: " + xo); XmlObject axo = xo.selectChildren("", "a")[0]; axo.set(xb); System.out.println(" xo: " + xo); Cezar ________________________________ From: Wing Yew Poon [mailto:[EMAIL PROTECTED] Sent: Wednesday, October 10, 2007 1:27 PM To: user@xmlbeans.apache.org Subject: RE: Réf. : RE: Problem with boolean type Then that is a bug. You can file a bug in JIRA. ________________________________ From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Wednesday, October 10, 2007 2:16 AM To: user@xmlbeans.apache.org Subject: Réf. : RE: Problem with boolean type Yes I get mustUnderstand="true" instead of mustUnderstand="1" Valerie "Wing Yew Poon" <[EMAIL PROTECTED]> 09/10/2007 21:40 Veuillez répondre à user Pour : <user@xmlbeans.apache.org> cc : Objet : RE: Problem with boolean type Valerie, what exactly is the incorrect behavior you are seeing? Are you saying that the xml that is marshalled is incorrect after calling the setter? i.e., you call setMustUnderstand(true) and the xml shows mustUnderstand="true" instead of mustUnderstand="1"? - Wing Yew ________________________________ From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Tuesday, October 09, 2007 6:53 AM To: user@xmlbeans.apache.org Subject: Problem with boolean type I have the following schema element : <xs:attribute name="mustUnderstand"> <xs:simpleType> <xs:restriction base="xs:boolean"> <xs:pattern value="0|1"/> </xs:restriction> </xs:simpleType> </xs:attribute> Xbean generates the following accessors : void setMustUnderstand(boolean mustUnderstand); boolean getMustUnderstand(); This result in an xml attribute with value "true" or "false" : it is not correct regarding the schema ! Is there anything to do to correct it? Notice: This email message, together with any attachments, may contain information of BEA Systems, Inc., its subsidiaries and affiliated entities, that may be confidential, proprietary, copyrighted and/or legally privileged, and is intended solely for the use of the individual or entity named in this message. If you are not the intended recipient, and have received this message in error, please immediately return this by email and then delete it. Notice: This email message, together with any attachments, may contain information of BEA Systems, Inc., its subsidiaries and affiliated entities, that may be confidential, proprietary, copyrighted and/or legally privileged, and is intended solely for the use of the individual or entity named in this message. If you are not the intended recipient, and have received this message in error, please immediately return this by email and then delete it. Notice: This email message, together with any attachments, may contain information of BEA Systems, Inc., its subsidiaries and affiliated entities, that may be confidential, proprietary, copyrighted and/or legally privileged, and is intended solely for the use of the individual or entity named in this message. If you are not the intended recipient, and have received this message in error, please immediately return this by email and then delete it.