Hi, Any hint why Schema Validation fails though LSResourceResolver is resolving all dependent schemas.
Any hint will ve greatly appriciated ? Regards Ajay --- On Thu, 11/13/08, ajay bhadauria <[EMAIL PROTECTED]> wrote: > From: ajay bhadauria <[EMAIL PROTECTED]> > Subject: Re: use of ResourceResolver in Schema Parsing > To: j-users@xerces.apache.org > Date: Thursday, November 13, 2008, 3:55 AM > Michael, > > In the attached java file, it resolves all the dependent > schemas but while validation it fails. If I move any > dependent schmemas, it clearly throws error but I do not > know why validation fails ? > > java SchemaReader Company.xsd Company.xml throws following > error > > org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the > declaration of element 'Company'. > > What should I do to get working ? > > Regards > Ajay > > --- On Thu, 11/13/08, ajay bhadauria > <[EMAIL PROTECTED]> wrote: > > > From: ajay bhadauria <[EMAIL PROTECTED]> > > Subject: Re: use of ResourceResolver in Schema Parsing > > To: j-users@xerces.apache.org > > Date: Thursday, November 13, 2008, 3:39 AM > > Michael, > > > > When I run the SchemaReader I got the below response. > > LSResourceResolver is getting called but I do not know > why > > validation is failing. What I am missing ? > > > > Thanks > > Ajay > > > > debug1 > > Schema File Name : Company.xsd > > System Id:Person.xsd > > baseURI:file:///tmp/ajay/xslt/Company.xsd > > File Path /tmp/ajay/xslt/Person.xsd > > XXXXXXX : /tmp/ajay/xslt/Person.xsd > > System Id:Product.xsd > > baseURI:file:///tmp/ajay/xslt/Company.xsd > > File Path /tmp/ajay/xslt/Product.xsd > > XXXXXXX : /tmp/ajay/xslt/Product.xsd > > File Name : Company.xml > > GGGGGG > > org.xml.sax.SAXParseException: cvc-elt.1: Cannot find > the > > declaration of element 'Company'. > > > > > > > > --- On Wed, 11/12/08, ajay bhadauria > > <[EMAIL PROTECTED]> wrote: > > > > > From: ajay bhadauria <[EMAIL PROTECTED]> > > > Subject: Re: use of ResourceResolver in Schema > Parsing > > > To: j-users@xerces.apache.org > > > Date: Wednesday, November 12, 2008, 8:43 PM > > > Michael, > > > > > > I tried to implemented LSResourceResolver > different > > way and > > > it seems that it is resolving external entities > but > > when it > > > tried to validate it fails. > > > > > > I do not know what else I am missing ? > > > > > > Please find the attached java , xsd and xml file. > > > > > > Regards > > > Ajay. > > > > > > > > > --- On Wed, 11/12/08, Michael Glavassevich > > > <[EMAIL PROTECTED]> wrote: > > > > > > > From: Michael Glavassevich > > <[EMAIL PROTECTED]> > > > > Subject: Re: use of ResourceResolver in > Schema > > Parsing > > > > To: j-users@xerces.apache.org > > > > Date: Wednesday, November 12, 2008, 3:09 AM > > > > Hi Ajay, > > > > > > > > The NullPointerException could have come > from any > > > number of > > > > places. It > > > > would help if you posted a stack trace. > > > > > > > > Also, though it doesn't appear it was > even > > called > > > your > > > > LSResourceResolver > > > > is making assumptions about the format of > the > > systemId > > > > which aren't > > > > generally true. It's a URI (e.g. > > > http://www.w3.org), > > > > not a file path. It > > > > doesn't look like you're trying to > do > > anything > > > in > > > > the resolver which the > > > > parser wouldn't already do by default. > If > > > that's > > > > all you were planning to > > > > do there there's not much point in > > registering a > > > > resolver. > > > > > > > > Thanks. > > > > > > > > Michael Glavassevich > > > > XML Parser Development > > > > IBM Toronto Lab > > > > E-mail: [EMAIL PROTECTED] > > > > E-mail: [EMAIL PROTECTED] > > > > > > > > ajay bhadauria <[EMAIL PROTECTED]> > wrote > > on > > > > 11/11/2008 11:42:30 AM: > > > > > > > > > Hi, > > > > > > > > > > I was trying to implement > LSResourceResolver > > to > > > load > > > > multiple > > > > > Schemas in my SchemaFactory but I am > getting > > > > nullpointer Exception. > > > > > Below is the code. Please tell me what > I am > > > missing > > > > here ? > > > > > > > > > > Thanks > > > > > Ajay B. > > > > > > > > > > import java.io.*; > > > > > import java.util.*; > > > > > import org.w3c.dom.* ; > > > > > import org.w3c.dom.ls.* ; > > > > > import org.xml.sax.InputSource; > > > > > import org.xml.sax.EntityResolver; > > > > > import java.net.URL; > > > > > //import > org.w3c.dom.ls.DOMImplementationLS; > > > > > import org.w3c.dom.ls.*; > > > > > import javax.xml.XMLConstants; > > > > > import > javax.xml.validation.SchemaFactory; > > > > > import javax.xml.validation.Schema; > > > > > import > > > org.w3c.dom.bootstrap.DOMImplementationRegistry > > > > ; > > > > > > > > > > public class SchemaReader > > > > > { > > > > > > > > > > private static int errorCount = 0; > > > > > String schemaName = null ; > > > > > public SchemaReader(String st) > > > > > { > > > > > > System.out.println("debug2"); > > > > > schemaName = st; > > > > > > System.out.println("debug3"); > > > > > Schema schema = loadSchema( > schemaName > > ); > > > > > > System.out.println("debug4"); > > > > > } > > > > > > > > > > public static void main(String[] a) > > > > > { > > > > > if (a.length<1) > > > > > { > > > > > > > System.out.println("Usage:"); > > > > > System.out.println("java > > > > XsdSchemaValidator > > > > > schema_file_name " + > > > "xml_file_name"); > > > > > } > > > > > else > > > > > { > > > > > //String schemaName = a[0]; > > > > > > > System.out.println("debug1"); > > > > > SchemaReader sr = new > > > SchemaReader(a[0]); > > > > > //Schema schema = > > > sr.loadSchema(schemaName); > > > > > } > > > > > } > > > > > > > > > > public Schema loadSchema(String name) > > > > > { > > > > > Schema schema = null; > > > > > try > > > > > { > > > > > > System.out.println("xxx1"); > > > > > String language = > > > > XMLConstants.W3C_XML_SCHEMA_NS_URI; > > > > > > System.out.println("xxx2"); > > > > > SchemaFactory factory = > > > > SchemaFactory.newInstance(language); > > > > > > System.out.println("xxx3"); > > > > > MyResourceResolver resolver = new > > > > MyResourceResolver(); > > > > > > System.out.println("xxx4"); > > > > > factory.setResourceResolver( > resolver > > ); > > > > > > System.out.println("xxx5"); > > > > > System.out.println(name); > > > > > schema = factory.newSchema(new > > File(name)); > > > > > > System.out.println("xxx6"); > > > > > > > > > > } > > > > > catch (Exception e) > > > > > { > > > > > System.out.println(e.toString()); > > > > > } > > > > > return schema; > > > > > } > > > > > > > > > > > > > > > public class MyResourceResolver > > implements > > > > LSResourceResolver > > > > > { > > > > > DOMImplementationLS implLS ; > > > > > public MyResourceResolver() > > > > > { > > > > > try > > > > > { > > > > > > > > > > System.setProperty(DOMImplementationRegistry. > > > > > PROPERTY, > > > > > > > > > > "org.apache.xerces.dom.DOMImplementationSourceImpl"); > > > > > > > > > > > DOMImplementationRegistry > > > registry = > > > > > > > > > DOMImplementationRegistry.newInstance(); > > > > > DOMImplementation > domImpl = > > > > > > > > > registry.getDOMImplementation("LS > > 3.0"); > > > > > DOMImplementationLS > implLS = > > > > (DOMImplementationLS)domImpl; > > > > > } > > > > > catch ( Exception e) > > > > > { > > > > > > > > > System.out.println("xxx"); > > > > > > > > System.out.println(e.toString()); > > > > > > > > > > } > > > > > } > > > > > > > > > > > > > > > public LSInput > > resolveResource(String > > > type, > > > > String > > > > > namespaceURI, String publicId, String > > systemId, > > > String > > > > baseURI ) > > > > > { > > > > > LSInput input = > > > > implLS.createLSInput(); > > > > > > > System.out.println("System > > > Id > > > > :" + systemId); > > > > > > > System.out.println("Base URI > > > > :" + baseURI); > > > > > FileInputStream fis = > null; > > > > > try > > > > > { > > > > > fis = new > > > FileInputStream(new > > > > File(systemId)); > > > > > } > > > > > catch(Exception e) > > > > > { > > > > > > > > > System.out.println("debug1"); > > > > > > > > System.out.println(e.toString()); > > > > > } > > > > > > > > > > > input.setByteStream(fis); > > > > > > input.setSystemId(systemId); > > > > > return input ; > > > > > //return fis ; > > > > > > > > > > } > > > > > > > > > > > > > > > } > > > > > > > > > > } > > > > > > > > > > Output > > > > > ======== > > > > > > > > > > debug1 > > > > > debug2 > > > > > debug3 > > > > > xxx1 > > > > > xxx2 > > > > > xxx3 > > > > > xxx4 > > > > > xxx5 > > > > > clpt.001.001.01.xsd > > > > > java.lang.NullPointerException > > > > > debug4 > > > > > > > > > > > > > > > --- On Tue, 11/11/08, ajay bhadauria > > > > <[EMAIL PROTECTED]> wrote: > > > > > > > > > > > From: ajay bhadauria > > > <[EMAIL PROTECTED]> > > > > > > Subject: Re: use of > ResourceResolver in > > > Schema > > > > Parsing > > > > > > To: j-users@xerces.apache.org > > > > > > Date: Tuesday, November 11, 2008, > 7:35 > > PM > > > > > > Hi, > > > > > > > > > > > > I could not figure out how to > implement > > > > LSResourceResolver > > > > > > with SchemaFactory so that all > external > > > entities > > > > could be > > > > > > loaded when main schema gets > loaded. > > > > > > > > > > > > Any code sample will be greatly > > appriciated > > > . > > > > > > > > > > > > Thanks > > > > > > > > > > > > --- On Mon, 11/10/08, ajay > bhadauria > > > > > > <[EMAIL PROTECTED]> > wrote: > > > > > > > > > > > > > From: ajay bhadauria > > > > <[EMAIL PROTECTED]> > > > > > > > Subject: use of > ResourceResolver > > in > > > Schema > > > > Parsing > > > > > > > To: j-users@xerces.apache.org > > > > > > > Date: Monday, November 10, > 2008, > > 8:24 > > > PM > > > > > > > Hi, > > > > > > > > > > > > > > I am using SchemaFactory and > then > > from > > > > factory I am > > > > > > setting > > > > > > > setResourceResolver to > resolve > > external > > > > entities. > > > > > > while > > > > > > > reading schema which refers > to > > other > > > schemas > > > > through > > > > > > import > > > > > > > and include, but I am not > able to > > > construct > > > > LSInput in > > > > > > > resolveResource method of > > > LSResourceResolver > > > > > > interface. > > > > > > > > > > > > > > What should I do to construct > the > > > LSInput in > > > > > > > resolveResource method ? > > > > > > > > > > > > > > Please find the attached java > > file. > > > Please > > > > help me how > > > > > > I > > > > > > > should do it ? > > > > > > > > > > > > > > Regards > > > > > > > > > > > > > > Ajay > > > > > > > > > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > > > > > > To unsubscribe, e-mail: > > > > > > > > > [EMAIL PROTECTED] > > > > > > > For additional commands, > e-mail: > > > > > > > > [EMAIL PROTECTED] > > > > > > > > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > > > > > To unsubscribe, e-mail: > > > > > > > [EMAIL PROTECTED] > > > > > > For additional commands, e-mail: > > > > > > [EMAIL PROTECTED] > > > > > > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > > > > To unsubscribe, e-mail: > > > > [EMAIL PROTECTED] > > > > > For additional commands, e-mail: > > > > [EMAIL PROTECTED] > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > > To unsubscribe, e-mail: > > > [EMAIL PROTECTED] > > > For additional commands, e-mail: > > > [EMAIL PROTECTED] > > > > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: > > [EMAIL PROTECTED] > > For additional commands, e-mail: > > [EMAIL PROTECTED] > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: > [EMAIL PROTECTED] > For additional commands, e-mail: > [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]