Other than some of the funny programming conventions used in the lib (lots of inner classes), I like XmlBeans too, mostly because it is closer to the "bare metal" of XML structure. Other XML-Java binding frameworks, which tend to focus on doing mapping (explicit or implicit) between JavaBeans and XML are a little more elegant but lose something in the translation, esp. with complex schemas.
I also like the built-in support for XPath and XQuery: http://xmlbeans.apache.org/docs/2.0.0/guide/conSelectingXMLwithXQueryPathXPat h.html -----Original Message----- From: Dennis Sosnoski [mailto:[EMAIL PROTECTED] Sent: Wednesday, November 15, 2006 12:49 PM To: [email protected] Subject: Re: Axiom, ADB, XMLBeans, JiBX: how to choose? As Jhan suggested, XMLBeans has the best schema support of any of the frameworks ("all" is a very big claim to make regarding schema, since there are still disputes over what the specification means in some areas, but certainly XMLBeans comes about as close as anything does). ADB and JiBX each have some areas where they don't support schema correctly. In the JiBX case, the most important one is probably the lack of support for xsi:type (used for one form of polymorphism in schema documents). JiBX is the only data binding framework which currently offers full support for "unwrapping" operations in Axis2. The Quick Start Guide (http://ws.apache.org/axis2/1_1/quickstartguide.html) gives a very simple example of using this - if you compare the JiBX client and server code with the other examples you'll see how unwrapping simplifies usage. This simple example doesn't use a binding definition, since it's dealing only with a couple of primitive types that have default handling, but in general you'll need a binding definition to tell JiBX how to convert your Java objects to and from XML. JiBX does provide primitive tools for generating code and bindings from schema, and binding and schema from code, but generally you're going to need to work with the binding definition as the basis of anything you do using JiBX. You can see http://www.jibx.org for details on JiBX, and http://ws.apache.org/axis2/1_1/jibx/jibx-codegen-integration.html (also included in the Axis2 documentation download) for details on how to use JiBX with Axis2. - Dennis Dennis M. Sosnoski SOA, Web Services, and XML Training and Consulting http://www.sosnoski.com - http://www.sosnoski.co.nz Seattle, WA +1-425-296-6194 - Wellington, NZ +64-4-298-6117 Jhan Yuler wrote: > > ADB, XMLBeans, JiBX are framework for binding xml data to java beans > and viceversa. Each one of these have own home page and explains the > architecture and use way. > > ADB Axis Data Bindind was created for the project Apache Axis2 for > optimize the marshaling and unmarshaling process using Axis... > > XMLBeans is my favorite, http://xmlbeans.apache.org/ it is easy to > use, and very flexible and support all Schema standard > > I dont know the JiBX framework, but it seems to be really good > (especialy for de performance), i am learning about this. > > ADB and XMLBeans generates java code from a schema definition (xsd > file). And the generated code, extends from classes of the each > framework. > > In the case of JiBX you must to have the java beans created, and > define a databinding file that indicates to the framework how to bind > the xml data to java beans fields. This is very usefull in the case > that you have previously created the beans and need to use in the > message of a web service. > > I recommend to you visit the web sites of each one of this frameworks > for best information. > > > > > Solo conoce el vino bueno, aquel que probó el vino amargo > > > > > >> From: BoD <[EMAIL PROTECTED]> >> Reply-To: [email protected] >> To: [email protected] >> Subject: Axiom, ADB, XMLBeans, JiBX: how to choose? >> Date: Wed, 15 Nov 2006 11:00:01 +0100 >> MIME-Version: 1.0 >> Received: from mail.apache.org ([140.211.11.2]) by >> bay0-mc7-f1.bay0.hotmail.com with Microsoft SMTPSVC(6.0.3790.2444); >> Wed, 15 Nov 2006 03:13:04 -0800 >> Received: (qmail 65118 invoked by uid 500); 15 Nov 2006 11:13:13 -0000 >> Received: (qmail 65080 invoked by uid 99); 15 Nov 2006 11:13:12 -0000 >> Received: pass (hermes.apache.org: domain of >> [EMAIL PROTECTED] designates 80.91.229.2 as permitted sender) >> Received: from [80.91.229.2] (HELO ciao.gmane.org) (80.91.229.2) >> by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 15 Nov 2006 03:13:08 -0800 >> Received: from list by ciao.gmane.org with local (Exim 4.43)id >> 1GkHYy-0004mk-Brfor [email protected]; Wed, 15 Nov 2006 >> 11:00:12 +0100 >> Received: from jraf.org ([82.66.230.87]) by main.gmane.org >> with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 >> for <[email protected]>; Wed, 15 Nov 2006 11:00:12 +0100 >> Received: from BoD by jraf.org with local (Gmexim 0.1 >> (Debian)) id 1AlnuQ-0007hv-00 for >> <[email protected]>; Wed, 15 Nov 2006 11:00:12 +0100 >> X-Message-Info: txF49lGdW42WwFignVBDwo8T/xA2fIOM79LCuk5Dv4g= >> Mailing-List: contact [EMAIL PROTECTED]; run by ezmlm >> Precedence: bulk >> list-help: <mailto:[EMAIL PROTECTED]> >> list-unsubscribe: <mailto:[EMAIL PROTECTED]> >> List-Post: <mailto:[email protected]> >> List-Id: <axis-user.ws.apache.org> >> Delivered-To: mailing list [email protected] >> X-ASF-Spam-Status: No, hits=-0.0 >> required=10.0tests=SPF_HELO_PASS,SPF_PASS >> X-Spam-Check-By: apache.org >> X-Injected-Via-Gmane: http://gmane.org/ >> Lines: 13 >> X-Complaints-To: [EMAIL PROTECTED] >> X-Gmane-NNTP-Posting-Host: jraf.org >> User-Agent: Thunderbird 1.5.0.8 (Windows/20061025) >> X-Virus-Checked: Checked by ClamAV on apache.org >> Return-Path: [EMAIL PROTECTED] >> X-OriginalArrivalTime: 15 Nov 2006 11:13:04.0148 (UTC) >> FILETIME=[0519B540:01C708A7] >> >> Hi! >> >> I'm trying to start using Axis2 for the first time, and going through >> the Quick Start Guide, I see several options to create a service, and >> a client, namely the possibility to choose Axiom, ADB, XMLBeans or JiBX. >> Unfortunatelly the documentation doesn't seem to explain the >> differences between these possible choices (or maybe I missed it?). >> It seems to me that the Axiom way doesn't generate anything, it's an >> API. But what about the other choices? What are the pros/cons of each >> model? >> >> Thank you very much for your help. >> >> BoD >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> > > _________________________________________________________________ > MSN Amor: busca tu ½ naranja http://latam.msn.com/amor/ > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
