Lists Home |
Date Index |
>>However, there are problems anyway because a class that implements the DOM
>>Node interface in JDK 1.4 won't compile under JDK 1.5.
What's at issue here is the difficulty of modifying interfaces in
general, but I don't think the problem is quite as insurmountable as Dr.
Briefly we have two versions of the same interface, version 2 and
version 3. Version 2 has methods A and B. Version 3 has methods A,B,C,
and D. If we use version 3 in a system that expects version 2, then all
the version 2 implementations will have methods A and B but not methods
C and D, which are required to implement the interface. This is a
compile-time or runtime error depending on various factors.
The saving grace is that there's usually nothing to prevent a version 2
implementation from also providing the methods required by version 3,
even though it isn't required to in a version 2 system. In this case,
the Saxon classes could add the extra methods required by DOM Level 3
because the DOM Level 2 methods are a minimal set, not a maximal set.
In other words a typical class that implements the DOM Node interface in
JDK 1.4 won't compile under JDK 1.5 because it will be missing new
methods added in DOM3. However, I think this could be repaired without
breaking Java 1.4 compatibility.
Am I missing anything? Is there anything more incompatible than
additional methods like a method signature change to worry about?
Elliotte Rusty Harold email@example.com
XML in a Nutshell 3rd Edition Just Published!