private static void gatherUsePackageDeclarations(Compilation compilation, StyleElement wrapper, List<XSLUsePackage> declarations) throws XPathException { wrapper.iterateAxis(AxisInfo.CHILD).forEachOrFail(use -> { if (use instanceof XSLUsePackage) { declarations.add((XSLUsePackage) use); } else if (use instanceof XSLInclude) { String href = Whitespace.trim(use.getAttributeValue("", "href")); URIResolver resolver = compilation.getCompilerInfo().getURIResolver(); DocumentURI key = DocumentFn.computeDocumentKey(href, use.getBaseURI(), compilation.getPackageData(), resolver, false); TreeInfo includedTree = compilation.getStylesheetModules().get(key); StyleElement incWrapper = (StyleElement) ((DocumentImpl) includedTree.getRootNode()).getDocumentElement(); gatherUsePackageDeclarations(compilation, incWrapper, declarations); } }); }
gatherUsePackageDeclarations(compilation, xslpackage, useDeclarations);
gatherUsePackageDeclarations(compilation, xslpackage, useDeclarations);
private static void gatherUsePackageDeclarations(Compilation compilation, StyleElement wrapper, List<XSLUsePackage> declarations) throws XPathException { wrapper.iterateAxis(AxisInfo.CHILD).forEachOrFail(use -> { if (use instanceof XSLUsePackage) { declarations.add((XSLUsePackage) use); } else if (use instanceof XSLInclude) { String href = Whitespace.trim(use.getAttributeValue("", "href")); URIResolver resolver = compilation.getCompilerInfo().getURIResolver(); DocumentURI key = DocumentFn.computeDocumentKey(href, use.getBaseURI(), compilation.getPackageData(), resolver, false); TreeInfo includedTree = compilation.getStylesheetModules().get(key); StyleElement incWrapper = (StyleElement) ((DocumentImpl) includedTree.getRootNode()).getDocumentElement(); gatherUsePackageDeclarations(compilation, incWrapper, declarations); } }); }