Hello,
Castor
has served me well in a number of projects, but I find it awkward that it still
doesn't properly support unmarshalling of substitutable elements. While it is
possible to work around this problem by defining explicit mappings between XML
elements and Java objects, this solution is limited in that it works only for
the specified mappings. One would usually define these mappings on a per schema
basis.
This
limitation becomes serious when one works with schema frameworks, i.e. schemas
that are designed to be extended for specific domains rather than to be used on
their own. This is the case with the Geography Markup Language
(GML).
I am
managing an open-source project GML4J, whose main (and only) piece of
software is a data scanner for GML data and it works well with any GML
application schema. However, it lacks a lot of functionality such as data
modification, marshalling and validation, which are all present in
Castor-generated classes. I would like to combine the two so that I will be able
to use full Castor's functionality on any GML application
schema.
I
would like to hear your suggestions on what the best approach to this would be.
Consider the possible unavailability of the application schema at run-time,
which means that the relevant schema information regarding substitution groups
must be saved somewhere (in the unmarshaller, in the Castor classes?) at
design-time. I can come up with a few (similar) solutions on my own, but I'd
like to hear what the Castor veterans have to say.
Thanks,
Alex
--
Privileged or confidential information may be contained in this
message. If this message was not intended for you, destroy it and notify us
immediately. Opinions, conclusions, recommendations, and other information
presented in this message are not given or necessarily endorsed by my employer
or firm.
BEGIN:VCARD VERSION:2.1 N:Milanovic;Aleksandar FN:Aleksandar Milanovic ORG:Galdos Systems Inc. TITLE:Software Engineer TEL;WORK;VOICE:(604) 484-2766 TEL;CELL;VOICE:(604) 789-2074 TEL;WORK;FAX:(604) 484-2755 ADR;WORK;ENCODING=QUOTED-PRINTABLE:;;Suite 200=0D=0A1155 West Pender Street;Vancouver;BC;V6E 2P4;Canada LABEL;WORK;ENCODING=QUOTED-PRINTABLE:Suite 200=0D=0A1155 West Pender Street=0D=0AVancouver, BC V6E 2P4=0D=0ACanad= a URL: URL:http://www.galdosinc.com EMAIL;PREF;INTERNET:[EMAIL PROTECTED] REV:20010723T184512Z END:VCARD
