  | |  | XMLParseException changes and creation of XMLLocator2 | XMLParseException changes and creation of XMLLocator2 2004-08-30 - By Michael Glavassevich
Hi all,
For the record here's my +1 on Ankit's proposal.
Here's a summary of the changes we've discussed:
1) Add a getCharacterOffset method to XMLLocator which returns the character offset for the current entity. 2) Add a getVersion method to XMLLocator which returns the XML version of the current entity. 3) Add a getCharacterOffset method to XMLParseException to expose the offset from the XMLLocator.
If people are comfortable with these changes, I'll make the updates in CVS.
Thanks.
Neil Graham/Toronto/IBM@(protected) wrote on 08/27/2004 10:47:25 AM:
> > > Hi all, > > For my part, I'm +1 on Michael's suggestions and on Ankit's proposal to > modify XMLLocator. In fact, I'll admit to a bit of curiosity as to why > XMLLocator is an interface at all; seems like it's sufficiently simple and > generic that it might have been better had it been made a class (or > abstract class). Oh well; water under the bridge. > > Also, I wonder if it's time to follow the convention we seem to have > adopted in the manifest file of speaking of XNI as having versions in our > documentation. The manifest file says XNI is at version 1.1, and after all > these changes I guess it'll go to 1.2; but I don't believe our > documentation makes this clear anywhere. > > Cheers, > Neil > Neil Graham > Manager, XML Parser Development > IBM Toronto Lab > Phone: 905-413-3519, T/L 969-3519 > E-mail: neilg@(protected) > > > > > > Michael > Glavassevich/Toront To: xerces-j- > dev@(protected) > o/IBM@(protected) cc: > Subject: Re: [XNI > CHANGE PROPOSAL] XMLParseException changes and creation of > 08/26/2004 03:43 PM XMLLocator2 > Please respond to > xerces-j-dev > > > > > > > Hello Andy, > > I'm pretty sure Ankit proposed this new interface because XNI's core and > parser packages were supposedly declared to be gold in the 2.3.0 release. > Of course 2.4.0 then immediately modified XMLLocator for exposing > encodings, as well as XMLResourceIdentifier for getting and setting > namespaces URIs. > > As we've been finishing up the work on SAX 2.0.2 and DOM Level 3, it's > become apparent that XNI on its own doesn't provide all the things these > APIs require. Fortunately there are slots for Augmentations, so it's been > possible though cumbersome to do things like reporting skipped entities [1] > and whether an attribute was declared or not in the DTD (both SAX and DOM > need this) even though the XMLDocumentHandler and XMLAttributes interfaces > don't natively support these things. SAX's EntityResolver2 is probably a > good example of something that doesn't fit well in the current framework. > For instance, one of the parameters on the new resolveEntity method is the > name of the entity being resolved. You cannot get that information from an > XMLResourceIdentifier so I created a new interface in the impl package [2]. > This just doesn't feel like a good home for it though. The request to add > getCharacterOffset() to XMLLocator is for providing the UTF-16 offset to > DOM Level 3's DOMLocator. > > While we're on the topic of changing XMLLocator, what about adding > getVersion()? Yes, I'm aware this was brought up before but now Xerces is > actually going to be implementing SAX2 Extensions 1.1. It would also be > nice if we could finalize the grammar interfaces > (org.apache.xerces.xni.grammars). I think they're pretty stable now. > > Thanks. > > [1] > http://xml.apache.org/xerces2- > j/javadocs/api/org/xml/sax/ContentHandler.html#skippedEntity(java.lang.String ) > > [2] > http://cvs.apache.org/viewcvs.cgi/xml- > xerces/java/src/org/apache/xerces/impl/XMLEntityDescription.java?view=markup > > [3] > http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core. > html#Interfaces-DOMLocator > > > Andy Clark <andy@(protected)> wrote on 08/26/2004 02:17:00 PM: > > > Ankit Pasricha wrote: > > > The two code changes are listed below: > > > > > > XMLLocator2 extends XMLLocator { > > > > > > public int getCharacterOffset(); > > > } > > > > Why are you extending the interface instead of just adding the > > method to the existing interface? > > > > I know I'd have to update some of my XNI tools to add the method > > but that XMLLocator2 just sticks out like a sore thumb. Especially > > since it's the only interface that uses this naming convention. And > > it's not the approach we've used in the past to update XNI interfaces > > -- previously, we just changed the original interface. > > > > This type of change is a lot more graceful than when we went from > > start/endPrefixMapping to passing a namespace context object to the > > startDocument method... > > > > -- > > Andy Clark * andyc@(protected) > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: xerces-j-dev-unsubscribe@(protected) > > For additional commands, e-mail: xerces-j-dev-help@(protected) > > > > Michael Glavassevich > XML Parser Development > IBM Toronto Lab > E-mail: mrglavas@(protected) > E-mail: mrglavas@(protected) > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: xerces-j-dev-unsubscribe@(protected) > For additional commands, e-mail: xerces-j-dev-help@(protected) >
Michael Glavassevich XML Parser Development IBM Toronto Lab E-mail: mrglavas@(protected) E-mail: mrglavas@(protected)
<br><font size=2><tt>Hi all, </tt></font> <br> <br><font size=2><tt>For the record here's my +1 on Ankit's proposal.</tt>< /font> <br> <br><font size=2><tt>Here's a summary of the changes we've discussed:</tt>< /font> <br> <br><font size=2><tt>1) Add a getCharacterOffset method to XMLLocator which returns the character offset for the current entity.</tt></font> <br><font size=2><tt>2) Add a getVersion method to XMLLocator which returns the XML version of the current entity.</tt></font> <br><font size=2><tt>3) Add a getCharacterOffset method to XMLParseException to expose the offset from the XMLLocator.</tt></font> <br> <br><font size=2><tt>If people are comfortable with these changes, I'll make the updates in CVS.</tt></font> <br> <br><font size=2><tt>Thanks.</tt></font> <br> <br><font size=2><tt>Neil Graham/Toronto/IBM@(protected) wrote on 08/27/2004 10:47:25 AM:<br> <br> ><br> > <br> > Hi all,<br> > <br> > For my part, I'm +1 on Michael's suggestions and on Ankit's proposal to<br> > modify XMLLocator. In fact, I'll admit to a bit of curiosity as to why<br> > XMLLocator is an interface at all; seems like it's sufficiently simple and<br> > generic that it might have been better had it been made a class (or<br> > abstract class). Oh well; water under the bridge.<br> > <br> > Also, I wonder if it's time to follow the convention we seem to have<br> > adopted in the manifest file of speaking of XNI as having versions in our<br> > documentation. The manifest file says XNI is at version 1.1, and after all<br> > these changes I guess it'll go to 1.2; but I don't believe our<br> > documentation makes this clear anywhere.<br> > <br> > Cheers,<br> > Neil<br> > Neil Graham<br> > Manager, XML Parser Development<br> > IBM Toronto Lab<br> > Phone: 905-413-3519, T/L 969-3519<br> > E-mail: neilg@(protected)<br> > <br> > <br> > <br> > <br> > <br> > Michael <br> > Glavassevich/Toront To: xerces-j-<br> > dev@(protected) <br> > o/IBM@(protected) cc: <br> > Subject: Re: [XNI <br> > CHANGE PROPOSAL] XMLParseException changes and creation of <br> > 08/26/2004 03:43 PM XMLLocator2 <br> > Please respond to <br> > xerces-j-dev <br> > <br> > <br> > <br> > <br> > <br> > <br> > Hello Andy,<br> > <br> > I'm pretty sure Ankit proposed this new interface because XNI's core and<br> > parser packages were supposedly declared to be gold in the 2.3.0 release. <br> > Of course 2.4.0 then immediately modified XMLLocator for exposing<br> > encodings, as well as XMLResourceIdentifier for getting and setting<br> > namespaces URIs.<br> > <br> > As we've been finishing up the work on SAX 2.0.2 and DOM Level 3, it's<br> > become apparent that XNI on its own doesn't provide all the things these<br> > APIs require. Fortunately there are slots for Augmentations, so it's been<br> > possible though cumbersome to do things like reporting skipped entities [1]<br> > and whether an attribute was declared or not in the DTD (both SAX and DOM<br> > need this) even though the XMLDocumentHandler and XMLAttributes interfaces <br> > don't natively support these things. SAX's EntityResolver2 is probably a<br> > good example of something that doesn't fit well in the current framework. <br> > For instance, one of the parameters on the new resolveEntity method is the<br> > name of the entity being resolved. You cannot get that information from an<br> > XMLResourceIdentifier so I created a new interface in the impl package [2].<br> > This just doesn't feel like a good home for it though. The request to add<br> > getCharacterOffset() to XMLLocator is for providing the UTF-16 offset to<br> > DOM Level 3's DOMLocator.<br> > <br> > While we're on the topic of changing XMLLocator, what about adding<br> > getVersion()? Yes, I'm aware this was brought up before but now Xerces is<br> > actually going to be implementing SAX2 Extensions 1.1. It would also be<br> > nice if we could finalize the grammar interfaces<br> > (org.apache.xerces.xni.grammars). I think they're pretty stable now.<br> > <br> > Thanks.<br> > <br> > [1]<br> > http://xml.apache.org/xerces2-<br> > j/javadocs/api/org/xml/sax/ContentHandler.html#skippedEntity(java.lang .String)<br> > <br> > [2]<br> > http://cvs.apache.org/viewcvs.cgi/xml-<br> > xerces/java/src/org/apache/xerces/impl/XMLEntityDescription.java?view =markup<br> > <br> > [3]<br> > http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core.<br> > html#Interfaces-DOMLocator<br> > <br> > <br> > Andy Clark <andy@(protected)> wrote on 08/26/2004 02:17:00 PM:<br> > <br> > > Ankit Pasricha wrote:<br> > > > The two code changes are listed below:<br> > > ><br> > > > XMLLocator2 extends XMLLocator {<br> > > ><br> > > > public int getCharacterOffset();<br> > > > }<br> > ><br> > > Why are you extending the interface instead of just adding the<br> > > method to the existing interface?<br> > ><br> > > I know I'd have to update some of my XNI tools to add the method<br> > > but that XMLLocator2 just sticks out like a sore thumb. Especially<br> > > since it's the only interface that uses this naming convention. And<br> > > it's not the approach we've used in the past to update XNI interfaces <br> > > -- previously, we just changed the original interface.<br> > ><br> > > This type of change is a lot more graceful than when we went from<br> > > start/endPrefixMapping to passing a namespace context object to the<br> > > startDocument method...<br> > ><br> > > --<br> > > Andy Clark * andyc@(protected)<br> > ><br> > > --------------------------------------------------------------------- <br> > > To unsubscribe, e-mail: xerces-j-dev-unsubscribe@(protected)<br> > > For additional commands, e-mail: xerces-j-dev-help@(protected)<br> > ><br> > <br> > Michael Glavassevich<br> > XML Parser Development<br> > IBM Toronto Lab<br> > E-mail: mrglavas@(protected)<br> > E-mail: mrglavas@(protected)<br> > <br> > <br> > <br> > ---------------------------------------------------------------------<br> > To unsubscribe, e-mail: xerces-j-dev-unsubscribe@(protected)<br> > For additional commands, e-mail: xerces-j-dev-help@(protected)<br> > </tt></font> <br> <br><font size=2><tt>Michael Glavassevich<br> XML Parser Development<br> IBM Toronto Lab<br> E-mail: mrglavas@(protected)</tt></font> <br><font size=2><tt>E-mail: mrglavas@(protected)<br> </tt></font>
|
|
 |