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

Reply via email to