I've started using a mapping file now, and with the addition of some new
tags I see in retrospect that keeping the class file structure precisely
matching the XML is the burden you take on when you work without a mapping
file, and as things become more complex this becomes more difficult and a
mapping file becomes the less time consuming option.
Using the mapping file now I am being notified of errors, as you advised,
so I no longer have an issue with the default introspector never
complaining.
Thanks again for taking the time to respond, and thank you and everyone
else who volunteered their time on Castor as it is really helpful to me so
thank you all!
- Rodney
> Now that you ask me so specifically, let me re-consider my own
> statement. And in addition, a colleague of mine pointed out that an
> exception should be thrown where a warning is thrown now.
>
> Werner
>
> Rodney Ryan wrote:
>> Hi Werner,
>>
>> Thank you for your help.
>>
>> To be sure I understand you, you mean that the default introspector that
>> Castor uses will not under any circumstances complain about encountering
>> tags it cannot resolve ?
>>
>> Thanks,
>> Rodney
>>
>>> I don't think that this possible without specifying at least a partial
>>> mapping. Don't forget that you do not have to specify a mapping for all
>>> classes used, as Castor will use its (default) introspector for any
>>> classes for which there's no mapping.
>>>
>>> Werner
>>>
>>> Rodney Ryan wrote:
>>>> Hi Everyone,
>>>>
>>>> I am using Castor to unmarshal a very simple XML document and I wish
>>>> to
>>>> have Castor indicate when it encounters anything in the XML that it
>>>> cannot
>>>> unmarshal. I am not using a mapping file as the XML to Java conversion
>>>> is
>>>> simple and straight-forward.
>>>>
>>>> I have searched high and low and googled and looked in the javadocs
>>>> and
>>>> done all I can to find out how to do this, but to no success. Castor
>>>> continues to silently ignore the error in the XML.
>>>>
>>>> So now I am asking you for help, and hoping someone will kindly answer
>>>> this
>>>> very simple question.
>>>>
>>>> Take the following class:
>>>>
>>>> public class Library {
>>>>
>>>> private List<String> books;
>>>>
>>>> public Library() {
>>>> books = new LinkedList<String>();
>>>> }
>>>>
>>>> public void addBook(String title) {
>>>> books.add(title);
>>>> }
>>>>
>>>> public String toString() {
>>>> return "Books = " + books;
>>>> }
>>>> }
>>>>
>>>> with this XML file "library.xml" (the misspelled "boook" is
>>>> intentional):
>>>>
>>>> <library>
>>>> <book>War And Peace</book>
>>>> <book>Ulysses</book>
>>>> <boook>Crime And Punishment</boook>
>>>> </library>
>>>>
>>>> and with this Castor application:
>>>>
>>>> public class CastorTest {
>>>> public static void main(String[] args) {
>>>> try {
>>>> Unmarshaller unmarshaller = new
>>>> Unmarshaller(Library.class);
>>>> unmarshaller.setIgnoreExtraAttributes(false);
>>>> unmarshaller.setIgnoreExtraElements(false);
>>>> unmarshaller.setValidation(true);
>>>> Reader reader = new FileReader(new
>>>> File("library.xml"));
>>>> Library library =
>>>> (Library)unmarshaller.unmarshal(reader);
>>>> System.out.println(library);
>>>> } catch (Exception e) {
>>>> e.printStackTrace();
>>>> }
>>>> }
>>>> }
>>>>
>>>> The 3rd book in the library file is misspelled "boook". I want Castor
>>>> to
>>>> tell me somehow that this is something it does not understand.
>>>>
>>>> No matter what I do, the program runs without throwing an Exception or
>>>> printing an error message. The output of the above is:
>>>>
>>>> Books = [War And Peace, Ulysses]
>>>>
>>>> Please answer this specific question:
>>>>
>>>> Exactly what should I add/remove/change in the
>>>> CastorTest class above to accomplish this ?
>>>>
>>>> Thank you very much !
>>>>
>>>> - Rodney
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> 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
>
>
---------------------------------------------------------------------
To unsubscribe from this list please visit:
http://xircles.codehaus.org/manage_email