Index: D:/workspace-imperius/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/factory/ACPLParserMap.java =================================================================== --- D:/workspace-imperius/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/factory/ACPLParserMap.java (revision 612037) +++ D:/workspace-imperius/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/factory/ACPLParserMap.java (working copy) @@ -544,13 +544,27 @@ throw new ClassNotFoundException(); } - if (knownClass == null) + try { - result = Class.forName(typeLocalName.trim()); + if (knownClass == null) + { + result = Class.forName(typeLocalName.trim()); + } + else + { + result = Class.forName(knownClass.trim()); + } } - else + catch(ClassNotFoundException ex) { - result = Class.forName(knownClass.trim()); + if (knownClass == null) + { + result = Class.forName(typeLocalName.trim(),false,Thread.currentThread().getContextClassLoader()); + } + else + { + result = Class.forName(knownClass.trim(),false,Thread.currentThread().getContextClassLoader()); + } } }