Deo koda jednog modula izgleda ovako:
Code:
import org.apache.xerces.parsers.SAXParser;
// ...
this.parser = new SAXParser():
// ...
public void endSerialize() throws Exception {
this.readerAdapter.endElement( "",
XGMML.GRAPH_ELEMENT_LITERAL, XGMML.GRAPH_ELEMENT_LITERAL );
this.parser.endDocument();
}
import org.apache.xerces.parsers.SAXParser;
// ...
this.parser = new SAXParser():
// ...
public void endSerialize() throws Exception {
this.readerAdapter.endElement( "",
XGMML.GRAPH_ELEMENT_LITERAL, XGMML.GRAPH_ELEMENT_LITERAL );
this.parser.endDocument();
}
A pri prevođenju se javlja sledeća greška:
Code:
GraphToXGMMLSAXHandler.java:291:
cannot resolve symbol symbol : method startDocument () location: class
org.apache.xerces.parsers.SAXParser
this.parser.startDocument();
GraphToXGMMLSAXHandler.java:291:
cannot resolve symbol symbol : method startDocument () location: class
org.apache.xerces.parsers.SAXParser
this.parser.startDocument();
Javljaju se još 3 slične greške, koje se sve žale da „cannot resolve symbol: method taj-i-taj“ u klasi SAXParser. Najnormalniji zaključak bio bi da u klasi SAXParser ne postoji dotični metod startDocument(); međutim, originalna datoteka na originalnoj lokaciji (i paketu) se prevodi bez grešaka iako sadrži u principu isti ovaj kod. Klasu GraphToXGMMLSAXHandler sam morao da prebacim zato što je (nepotrebno) privatna klasa parsera.
Da li postoji još neki slučaj u kome gorepomenuta greška može da se javi? Koliko sam video $CLASSPATH je podešen kako treba pri prevođenju.
Na žalost nemam izvorni kod od xercesa da pogledam o čemu se tačno radi, a od vremena kad je OpenJGraph napravljen do sada, interfejs xercesa se toliko promenio da na Internetu po svoj prilici više ne postoji javadoc za ovu staru verziju. Pogled u .class datoteku za SAXParser otkriva da postoji simbol startDocument.
f