If the parser is balking at ” because it isn't properly declared by a DTD in the document, then I don't see what the point is of the
string "ISO 8879-1986//ENTITIES Alternative Greek Symbols//EN" in that code.
Or is that entity reference supposed to be resolved by a schema which the parser doesn't know about?
Or is the problem that there is a DTD but the parser can't access it? That would be a problem solved by your EntityResolver, so perhaps the problem isn't that.
Anyway it would help if you told us what the actual problem was, rather than trying to get us to help with a solution which might not be the solution to the actual problem.