转自:http://shylendrabhat.com/blog/2009/02/18/jaxb-unmarshal-with-schema-validation/
Many times user inputs are taken through XML. As users are free to enter any thing in the file, checking the correctness of the XML is very crucial. XML Schema and DTD help us do this.
I had come across a situation where I had to take inputs from a XML where certain attribute of an element should be unique across the XML. Here is a sample.
Lets consider a sample XML data which adheres to this schema but with duplicates.
Caused by: org.xml.sax.SAXParseException: Duplicate unique value [1] |
declared for identity constraint of element "College". |
Advantage of doing this strict validation through JAXB is, all the validations are taken care by JAXB. You simply unmarshal and start working with your data. If the unmarshal fails you know user has done a mistake, simply throw an error and enjoy ...