Michael, Thanks, but how does this interact with the DOMLocator? Or is the default schema error message even using the DOMLocator?
-Windy > -----Original Message----- > From: Michael Glavassevich [mailto:[EMAIL PROTECTED] > Sent: Wednesday, December 19, 2007 9:10 AM > To: j-users@xerces.apache.org > Subject: RE: Avoiding DOM Reparse > > Hi Windy, > > There's a sample that comes with Xerces called dom.DOMAddLines [1] which > shows how you can add line/column information to the DOM using > Node.setUserData() [2] and read it back with Node.getUserData() [3]. Note > that this requires an extension to the DOM parser implementation. There's > no standard way of doing this and if you start making modifications to the > DOM after loading it the line/column information you initially stored > gradually becomes meaningless. > > Thanks. > > [1] http://xerces.apache.org/xerces2-j/samples-dom.html#DOMAddLines > [2] > http://xerces.apache.org/xerces2- > j/javadocs/api/org/w3c/dom/Node.html#setUserData(java.lang.String,%20java. > lang.Object,%20org.w3c.dom.UserDataHandler) > [3] > http://xerces.apache.org/xerces2- > j/javadocs/api/org/w3c/dom/Node.html#getUserData(java.lang.String) > > Michael Glavassevich > XML Parser Development > IBM Toronto Lab > E-mail: [EMAIL PROTECTED] > E-mail: [EMAIL PROTECTED] > > "Windchime" <[EMAIL PROTECTED]> wrote on 12/19/2007 11:21:11 AM: > > > Michael, > > > > Thanks much, this worked exceptionally well. One minor issue though is > the > > reported line numbers are no longer there (-1). Do I need some setting > > while loading the DOM? > > > > Also, assuming the line numbers are actually determined, how would I > access > > them from the DOM (independent of the schema validation issue)? > > > > -Windy > > > > > -----Original Message----- > > > From: Michael Glavassevich [mailto:[EMAIL PROTECTED] > > > Sent: Tuesday, December 11, 2007 10:24 AM > > > To: j-users@xerces.apache.org > > > Subject: Re: Avoiding DOM Reparse > > > > > > Hi Windy, > > > > > > Before calling normalizeDocument() you should be able to set the > > > "http://apache.org/xml/properties/internal/grammar-pool" property on > the > > > DOMConfiguration with your grammar pool. Alternatively you could use > the > > > JAXP Validation API [1]. If you pass the PSVI-aware version of the DOM > to > > > the Validator [2] as both the Source and Result it will annotate your > DOM > > > with PSVI. > > > > > > Thanks. > > > > > > [1] > > > http://xerces.apache.org/xerces2- > > > j/javadocs/api/javax/xml/validation/package-summary.html > > > [2] > > > http://xerces.apache.org/xerces2- > > > > j/javadocs/api/javax/xml/validation/Validator.html#validate(javax.xml.tran > > > sform.Source,%20javax.xml.transform.Result) > > > > > > Michael Glavassevich > > > XML Parser Development > > > IBM Toronto Lab > > > E-mail: [EMAIL PROTECTED] > > > E-mail: [EMAIL PROTECTED] > > > > > > "Windchime" <[EMAIL PROTECTED]> wrote on 12/11/2007 12:30:30 PM: > > > > > > > I am reading lots of XML documents that need schema validation. > > > However, > > > I > > > > don't know what the schema (actually grammar pool) looks like until > long > > > > after the documents are read. Finally, I want to have full access > to > > > the > > > > PSVI information. > > > > > > > > What I would like to know is, is there any way to perform the schema > > > > validation without reparsing the XML. The reparse causes two > problems: > > > > 1) Takes time > > > > 2) All cached Element references must be re-cached > > > > > > > > The code that I have generally works just fine, except that I must > > > reparse > > > > the DOM a second time once the grammar has been determined. > > > > > > > > In priority order, it would be great if I could: > > > > > > > > * Somehow associate the grammar pool and then just call > > > > normalizeDocument() [ I already have a PSVIDocument using the > > > > 'http://apache.org/xml/properties/dom/document-class-name' property > ] > > > > > > > > * Use an input source that would preserve the original DOM > > > > > > > > > > > > > > > > Thanks much in advance, > > > > > > > > > > > > -Windy > > > > > > > > > > > > -------------------------------------------------------------------- > - > > > > 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]