Thank for the link.  But the problem is that in the
example it validates an xml document against the XSD
file specified in xsi:schemaLocation attribute of the
root xml tag.

The xml documents that get submitted to my Java
service do not have the XSD schemaLocation attribute
specified.  When I receive the XML document, my Java
code then needs to perform XSD validation based on a
predefined path for the XSD file.  So I need to set
the XSD file location programmatically, if you know
what i mean.

I mean I need to do something like this:


Mapping myMap = new Mapping();
myMap.loadMapping( "po1Map.xml" );

Unmarshaller um1 = new Unmarshaller( myMap );
um1.setSchemaLocation("http://www.example.com/PO1
/project/schema/po1.xsd");
PurchaseOrder po1 = (PurchaseOrder)um1.unmarshal(new
FileReader(filename));


Note: this assumes that the xsd file po1.xsd is
located in the /project/schema/ folder.


The problem is that there is no setSchemaLocation()
method in the Unmarshaller class.  So is there any
other way to do this?

Thanks.


--- Werner Guttmann <[EMAIL PROTECTED]>
wrote:

>
http://www.castor.org/how-to-enable-xml-validation.html
> should provide you with answers to your question.
> 
> Werner
> 
> > -----Ursprüngliche Nachricht-----
> > Von: S. Sharif [mailto:[EMAIL PROTECTED]
> > Gesendet: Dienstag, 13. März 2007 02:23
> > An: [email protected]
> > Betreff: [castor-user] How to do XSD validation
> when the code was not
> > generated by the Castor code generator
> > 
> > 
> > Hi,
> > 
> > I am not using the Castor code generator to
> generate
> > my Java classes.  Instead I have my own java
> classes
> > that I am marshalling and unmarshalling to/from
> them
> > using a Castor mapping file.
> > 
> > But now I am faced with the problem of how to
> perform
> > the XSD validation.  I know that the Castor code
> > generator generates each Java class with the
> following
> > code:
> > 
> > /**
> >  *
> >  *
> >  * @throws
> org.exolab.castor.xml.ValidationException
> > if this
> >  * object is an invalid instance according to the
> > schema
> >  */
> > public void validate()
> > throws org.exolab.castor.xml.ValidationException {
> >     org.exolab.castor.xml.Validator validator =
> new
> > org.exolab.castor.xml.Validator();
> >     validator.validate(this);
> > }
> > 
> > 
> > and that this code performs the XSD validation on
> the
> > Java object using the ClassDescriptors and
> > FieldDescriptors that were generated for that
> object.
> > 
> > But now how do I perform XSD validation when I
> have my
> > own Java classes (that were not generated by
> Castor).
> > Is there some Castor API that I can call and pass
> to
> > it the path to the XSD file, the Java object that
> I
> > want to validate, and also the Castor mapping
> file,
> > and then it performs the validation?
> > Or how should I go about doing this?
> > 
> > Thanks.
> > 
> > -Saladin
> > 
> > 
> >
>
**********************************************************
> > * Saladin Sharif
> > * e-mail:  [EMAIL PROTECTED]
> > * Visit homepage @
> http://gaia.ecs.csus.edu/~sharifs
> >
>
**********************************************************
> > 
> > 
> > 
> >
>
__________________________________________________________________________
> > __________
> > Don't pick lemons.
> > See all the new 2007 cars at Yahoo! Autos.
> > http://autos.yahoo.com/new_cars.html
> > 
> >
>
---------------------------------------------------------------------
> > 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
> 
> 



 
____________________________________________________________________________________
Expecting? Get great news right away with email Auto-Check. 
Try the Yahoo! Mail Beta.
http://advision.webevents.yahoo.com/mailbeta/newmail_tools.html 

---------------------------------------------------------------------
To unsubscribe from this list please visit:

    http://xircles.codehaus.org/manage_email

Reply via email to