diff --git a/xalan/src/main/java/org/apache/xalan/xsltc/compiler/Stylesheet.java b/xalan/src/main/java/org/apache/xalan/xsltc/compiler/Stylesheet.java index 7c7bda102..577fa6f2f 100644 --- a/xalan/src/main/java/org/apache/xalan/xsltc/compiler/Stylesheet.java +++ b/xalan/src/main/java/org/apache/xalan/xsltc/compiler/Stylesheet.java @@ -1253,6 +1253,19 @@ private Vector resolveDependencies(Vector input) { System.out.println("================================="); */ + // Make sure that the vector 'input' is closed + for (int i = 0; i < input.size(); i++) { + final TopLevelElement vde = (TopLevelElement) input.elementAt(i); + final Vector dep = vde.getDependencies(); + final int depSize = (dep != null) ? dep.size() : 0; + for (int j = 0; j < depSize; j++) { + final TopLevelElement vdeVar = (TopLevelElement) dep.elementAt(j); + if (!input.contains(vdeVar)) { + input.addElement(vdeVar); + } + } + } + Vector result = new Vector(); while (input.size() > 0) { boolean changed = false;