Odd. Can you try to instantiate Xerces through its SAXParserFactory as well, rather than creating an instance manually. Other than that, no idea.
Werner > -----Ursprüngliche Nachricht----- > Von: Saladin Sharif [mailto:[EMAIL PROTECTED] > Gesendet: Donnerstag, 15. März 2007 18:54 > An: [email protected] > Betreff: Re: AW: [castor-user] How to do XSD validation when the code was > not generated by the Castor code generator > > > Ok, hold off there. I think I am getting closer to > figuring out the problem. > > It occured to me to try and use different SAX parsers > to see if I get the same error message. Initially I > was using Xerces, and I was instantiating the SAX > parser this way : > > XMLReader xmlReader = new > org.apache.xerces.parsers.SAXParser(); > > > So then I decided to try a couple of different other > SAX parsers. > > I tried the Piccolo SAX parser, and I modified the > code to instantiate the SAX parser: > > com.bluecast.xml.JAXPSAXParserFactory > jaxpSaxParesrFactory = new > com.bluecast.xml.JAXPSAXParserFactory(); > XMLReader xmlReader = > jaxpSaxParesrFactory.newSAXParser().getXMLReader(); > > > And guess what? The unmarshalling works with no > errors. > > Then I tried to use Crimson, and I modified the code > to instantiate the SAX parser: > > XMLReader xmlReader = > org.apache.crimson.jaxp.SAXParserFactoryImpl.newInstance().newSAXParser(). > getXMLReader(); > > And that one works as well. No errors! > > > So I wonder how come it didn't work with Xerces. Am I > instantiating the Xerces SAX parser incorrectly? > > -Saladin > > > --- Saladin Sharif <[EMAIL PROTECTED]> wrote: > > > > I don't think it is a problem with the class/field > > mapping in the mapping file. As I mentioned in my > > previous e-mail from yesterday: just to make sure > > that I was not getting the error because of a > > problem > > with the input xml or the Castor mapping file, I > > tried > > unmarshalling using straight Castor unmarshalling > > code > > (see below) and it works fine with NO errors. > > > > // load castor mapping file > > Mapping map = new Mapping(); > > map.loadMapping(mappingPath); > > > > // Create an instance of Castor's unmarshaller > > Unmarshaller unmarshaller = new > > Unmarshaller(RunDvpRequestVO.class); > > unmarshaller.setMapping(map); > > > > > > // Create a Reader to the input file to unmarshal > > from > > Reader reader = new FileReader(inputFilePath); > > > > > > // Unmarshall the input xml into a value object > > RunDvpRequestVO runDvpRequest = (RunDvpRequestVO) > > unmarshaller.unmarshal(reader); > > > > > > The code above works fine, and there is no errors. > > So > > obviously the class/field mapping must be correct. > > It > > must be a problem with using the UnmarshalHandler > > with > > the SAX praser. In my case I was using the Xerces > > SAX > > parser. > > > > -Saladin > > > > > > --- Werner Guttmann <[EMAIL PROTECTED]> > > wrote: > > > > > It looks like the class/field mapping for the > > field > > > CRITERIAID/class CRITERIAINPUT in your mapping > > file > > > (assuming that you are using one) is incorrect. Or > > > at least does not match the XML that's being > > parsed > > > during unmarshalling. > > > > > > Werner > > > > > > > -----Ursprüngliche Nachricht----- > > > > Von: Saladin Sharif [mailto:[EMAIL PROTECTED] > > > > Gesendet: Mittwoch, 14. März 2007 20:24 > > > > An: [email protected] > > > > Betreff: Re: AW: AW: [castor-user] How to do XSD > > > validation when the code > > > > was not generated by the Castor code generator > > > > > > > > > > > > Stephen, > > > > I tried your suggestion, but I get the following > > > > error: > > > > > > > > org.xml.sax.SAXException: unable to find > > > > FieldDescriptor for 'CRITERIAID' in > > > ClassDescriptor of > > > > CRITERIAINPUT > > > > at > > > > > > > > > > org.exolab.castor.xml.UnmarshalHandler.startElement(UnmarshalHandler.java: > > > > 1924) > > > > at > > > > > > > > > > org.exolab.castor.xml.UnmarshalHandler.startElement(UnmarshalHandler.java: > > > > 1362) > > > > at > > > > > > > > > > org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown > > > > Source) > > > > at > > > > > > > > > > org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown > > > > Source) > > > > > > > > > > > > I followed the same steps that you outlined, > > > except > > > > for setting the xsd validation (i.e. specifing > > the > > > > external-schema-location feature on the SAX > > > parser). > > > > I did not do that one step, as I wanted to make > > > sure > > > > that the Unmarshalling works with using the SAX > > > parser > > > > and the UnmarshalHandler before even trying to > > do > > > any > > > > XSD schema validation. > > > > > > > > The following is the code that I tried: > > > > > > > > > > > > // load castor mapping file > > > > Mapping map = new Mapping(); > > > > map.loadMapping(mappingPath); > > > > > > > > // Create an instance of Castor's unmarshaller > > > > Unmarshaller unmarshaller = new > > > > Unmarshaller(RunDvpRequestVO.class); > > > > unmarshaller.setMapping(map); > > > > > > > > // Create a Reader to the input file that is to > > be > > > > unmarshalled from > > > > Reader reader = new FileReader(inputFilePath); > > > > > > > > // Create content handler for Castor's > > > Unmarshaller > > > > UnmarshalHandler unmarshalHandler = > > > > unmarshaller.createHandler(); > > > > > > > > XMLReader xmlReader = new > > > > org.apache.xerces.parsers.SAXParser(); > > > > > > > > xmlReader.setContentHandler(unmarshalHandler); > > > > xmlReader.setErrorHandler(unmarshalHandler); > > > > xmlReader.parse(new InputSource(reader)); > > > > > > > > Object obj = unmarshalHandler.getObject(); > > > > > > > > > > > > The exception gets thrown when the > > > > xmlReader.parse(...) method is called. > > > > > > > > > > > > Note: just to make sure that I was not getting > > the > > > > error because of a problem with the input xml or > > > the > > > > Castor mapping file, I tried unmarshalling using > > > > straight Castor unmarshalling code (see below) > > and > > > it > > > > works fine with any errors: > > > > > > > > > > > > // load castor mapping file > > > > Mapping map = new Mapping(); > > > > map.loadMapping(mappingPath); > > > > > > > > // Create an instance of Castor's unmarshaller > > > > Unmarshaller unmarshaller = new > > > > Unmarshaller(RunDvpRequestVO.class); > > > > unmarshaller.setMapping(map); > > > > > > > > > > > > // Create a Reader to the input file to > > unmarshal > > > from > > > > Reader reader = new FileReader(inputFilePath); > > > > > > > > > > > > // Unmarshall the input xml into a value object > > > > RunDvpRequestVO runDvpRequest = > > (RunDvpRequestVO) > > > > unmarshaller.unmarshal(reader); > > > > > > > > > > > > > > > > -Saladin > > > > > > > > > > > > --- Werner Guttmann <[EMAIL PROTECTED]> > > > wrote: > > > > > > > > > Actually, didn't know about this .. ;-). Which > > > > > indicates that this > > > > > should be documented somewhere ... e.g. XML > > > HOW-TOs. > > > > > And on top of that, > > > > > maybe a setParser(SAXParser) method should be > > > added > > > > > to Unmarshaller. > > > > > > > > > > Werner > > > > > > > > > > Stephen Bash wrote: > > > > > > Werner and Saladin- > > > > > > > > > > > > Sorry to jump in at the end here, but there > > > might > > > > > be an easy way > > > > > > around this issue. If all you need is a > > > custom > > > > > configured parser you > > > > > > can instantiate your own parser and have > > > Castor > > > > > use it: > > > > > > > > > > > > 1) Instantiate/configure a SAX parser > > (specify > > > the > > > > > > external-schema-location feature) > > > > > > 2) Instantiate/configure an Unmarshaller > > > instance > > > > > > 3) Call createHandler() on the Unmarshaller > > > object > > > > > to get an > > > > > > UnmarshalHandler which implements > > > ContentHandler > > > > > and ErrorHandler > > > > > > 4) Set the parser's content handler to the > > > > > UnmarshalHandler object > > > > > > 5) Set the parser's error handler to the > > > > > UnmarshalHandler object > > > > > > 6) Parse the document > > > > > > 7) Call getObject on the UnmarshalHandler to > > > > > retrieve the root object > > > > > > > > > > > > Feel free to ignore me if I've completely > > > missed > > > > > the mark, but I hope > > > > > > that helps. > > > > > > > > > > > > Stephen > > > > > > > > > > > > > > > > > > On 3/14/07, Werner Guttmann > > > > > <[EMAIL PROTECTED]> wrote: > > > > > >> Okay, I don't think that what you want to > > > achieve > > > > > is possible without > > > > > >> a small code change to the Unmarshaller. I > > > just > > > > > had a look at the JAXP > > > > > >> API, and it looks like I have to provide > > you > > > with > > > > > an option to specify > > > > > >> the > > > > > >> > > > > > >> > > > > > > > > > > > > > > > http://apache.org/xml/properties/schema/external-schemaLocation" > > > > > >> > > > > > >> feature of the JAXP Parser instance used > > > > > internally by Castor. If this > > > > > >> is an option for you, please create a new > > > Jira > > > > > issue at > > > > > >> > > > > > >> http://jira.codehaus.org/browse/CASTOR > > > > > >> > > > > > >> and attach the relevant fragments of this > > > email > > > > > conversation. > > > > > >> > > > > > >> Werner > > > > > >> > > > > > >> > -----Ursprüngliche Nachricht----- > > > > > >> > Von: S. Sharif > > [mailto:[EMAIL PROTECTED] > > > > > >> > Gesendet: Dienstag, 13. März 2007 21:00 > > > > > >> > An: [email protected] > > > > > >> > Betreff: Re: AW: AW: [castor-user] How to > > > do > > > > > XSD validation when the > > > > > >> code > > > > > >> > was not generated by the Castor code > > > generator > > > > > >> > > > > > > >> > > > > > > >> > Yes it has a namespace declaration. The > > > > > following is > > > > > >> > an example of how the input xml looks > > like: > > > > > >> > > > > > > >> > <?xml version="1.0" encoding="UTF-8"?> > > > > > >> > <Document > > > > > >> > > > > > > > > > > > xmlns="http://www.nproj.com/japps/AcceptRunRequest"> > > > > > >> > <CRITERIAINPUT_LIST> > > > > > >> > <CRITERIAINPUT> > > > > > >> > <CRITERIAID>1</CRITERIAID> > > > > > >> > </CRITERIAINPUT> > > > > > >> > </CRITERIAINPUT_LIST> > > > > > >> > > > > > > >> > [ ... remaining xml was omitted for > > brevity > > > > > ...] > > > > > >> > > > > > > >> > </Document> > > > > > >> > > > > > > >> > > > > > > >> > In my project each Java service has one > > XSD > > > > > schema > > > > > >> > file for the input xml that it is > > > expecting. > > > > > So the > > > > > >> > above is an example for one input xml for > > > one > > > > > >> > particular service. The input xml for > > the > > > > > other Java > > > > > >> > services have a very similar structure > > with > > > the > > > > > >> > namespace decalred in the root tag as in > > > the > > > > > example > > > > > >> > above. > > > > > >> > -Saladin > > > > > >> > > > > > > >> > --- Werner Guttmann > > > <[EMAIL PROTECTED]> > > > > > wrote: > > > > > >> > > > > > > >> > > Well, let's do a few things first. Can > > > you > > > > > show me > > > > > >> > > what the XML that > > > > > >> > > needs to be validated looks like ? Does > > > it > > > > > have > > > > > >> > > namespace declarations, > > > > > >> > > etc ? > > > > > >> > > > > > > > >> > > Werner > > > > > >> > > > > > > > >> > > S. Sharif wrote: > > > > > >> > > > I am not sure I understand what you > > > mean. > > > > > Do you > > > > > >> > > have > > > > > >> > > > any basic or short code example that > > > can > > > > > give me > > > > > >> > > the > > > > > >> > > > basic idea of what you mean? > > > > > >> > > > Thanks. > > > > > >> > > > > > > > > >> > > > > > > > > >> > > > --- Werner Guttmann > > > > > <[EMAIL PROTECTED]> > > > > > >> > > > wrote: > > > > > >> > > > > > > > > >> > > >> You can always use an EntityResolver > > > and > > > > > repoint > > > > > >> > > a > > > > > >> > > >> request for a 'global' XML schema > > > > > identifier to > > > > > >> > > any > > > > > >> > > >> file or InputSource convenient to > > you. > > > > > >> > > >> > > > > > >> > > >> Werner > > > > > >> > > >> > > > > > >> > > >>> -----Ursprüngliche Nachricht----- > > > > > >> > > >>> Von: S. Sharif > > > > > [mailto:[EMAIL PROTECTED] > > > > > >> > > >>> Gesendet: Dienstag, 13. März 2007 > > > 17:27 > > > > > >> > > >>> An: [email protected] > > > > > >> > > >>> Betreff: Re: AW: [castor-user] How > > to > > > do > > > > > XSD > > > > > >> > > >> validation when the code was > > > > > >> > > >>> not generated by the Castor code > > > > > generator > > > > > >> > > >>> > > > > > >> > > >>> > > > > > >> > > >>> 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 > > > > > >> > > >> > > > > > >> > > >> > > > > > >> > > > > > > > > >> > > > > > > > >> > > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > > > > >> > > >> To unsubscribe from this list please > > > > > visit: > > > > > >> > > >> > > > > > >> > > >> > > > > > http://xircles.codehaus.org/manage_email > > > > > >> > > >> > > > > > >> > > >> > > > > > >> > > > > > > > > >> > > > > > > > > >> > > > > > > > > >> > > > > > > > > >> > > > > > > > > >> > > > > > > > >> > > > > > > >> > > > > > > > > > > > > > > > __________________________________________________________________________ > > > > > >> > > > > > >> > __________ > > > > > >> > > > Finding fabulous fares is fun. > > > > > >> > > > Let Yahoo! FareChase search your > > > favorite > > > > > travel > > > > > >> > > sites to find flight and hotel > > bargains. > > > > > >> > > > > > > > > > > > http://farechase.yahoo.com/promo-generic-14795097 > > > > > >> > > > > > > > > >> > > > > > > > > >> > > > > > > > >> > > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > > > > >> > > > 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 > > > > > >> > > > > > > > >> > > > > > > > >> > > > > > > >> > > > > > > >> > > > > > > >> > > > > > > >> > > > > > > >> > > > > > > > > > > > > > > > __________________________________________________________________________ > > > > > >> > > > > > >> > __________ > > > > > >> > The fish are biting. > > > > > >> > Get more visitors on your site using > > Yahoo! > > > > > Search Marketing. > > > > > >> > > > > > > > > > > > > > > > > http://searchmarketing.yahoo.com/arp/sponsoredsearch_v2.php > > > > > >> > > > > > > >> > > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > > > > >> > 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 > > > > > > > > > > > > > > > > > > > > > > > > > > > > ********************************************************** > > > > * Saladin Sharif > > > > * e-mail: [EMAIL PROTECTED] > > > > * Visit homepage @ > > > http://gaia.ecs.csus.edu/~sharifs > > > > > > > > > > ********************************************************** > > > > > > > > > > > > > > > > > > > > > > __________________________________________________________________________ > > > > __________ > > > > Don't get soaked. Take a quick peek at the > > > forecast > > > > with the Yahoo! Search weather shortcut. > > > > > > > > > http://tools.search.yahoo.com/shortcuts/#loc_weather > > > > > > > > > > > > > > --------------------------------------------------------------------- > > > > 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 > > > > > > > > > > > > > > > > > __________________________________________________________________________ > __________ > > Finding fabulous fares is fun. > > Let Yahoo! FareChase search your favorite travel > > sites to find flight and hotel bargains. > > http://farechase.yahoo.com/promo-generic-14795097 > > > > > --------------------------------------------------------------------- > > To unsubscribe from this list please visit: > > > > http://xircles.codehaus.org/manage_email > > > > > > > > > __________________________________________________________________________ > __________ > We won't tell. Get more on shows you hate to love > (and love to hate): Yahoo! TV's Guilty Pleasures list. > http://tv.yahoo.com/collections/265 > > --------------------------------------------------------------------- > 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

