diff options
Diffstat (limited to 'libjava/classpath/gnu/xml/transform')
3 files changed, 18 insertions, 5 deletions
diff --git a/libjava/classpath/gnu/xml/transform/ApplyTemplatesNode.java b/libjava/classpath/gnu/xml/transform/ApplyTemplatesNode.java index 38b605a07ed..041809bdf1a 100644 --- a/libjava/classpath/gnu/xml/transform/ApplyTemplatesNode.java +++ b/libjava/classpath/gnu/xml/transform/ApplyTemplatesNode.java @@ -80,7 +80,7 @@ final class ApplyTemplatesNode List sortKeys2 = new ArrayList(len); for (int i = 0; i < len; i++) sortKeys2.add(((Key) sortKeys.get(i)).clone(stylesheet)); - len = withParams.size(); + len = withParams != null ? withParams.size() : 0; List withParams2 = new ArrayList(len); for (int i = 0; i < len; i++) withParams2.add(((WithParam) withParams.get(i)).clone(stylesheet)); diff --git a/libjava/classpath/gnu/xml/transform/ForEachNode.java b/libjava/classpath/gnu/xml/transform/ForEachNode.java index c8f51a6febb..25b824534c9 100644 --- a/libjava/classpath/gnu/xml/transform/ForEachNode.java +++ b/libjava/classpath/gnu/xml/transform/ForEachNode.java @@ -67,7 +67,7 @@ final class ForEachNode TemplateNode clone(Stylesheet stylesheet) { - int len = sortKeys.size(); + int len = sortKeys != null ? sortKeys.size() : 0; List sortKeys2 = new ArrayList(len); for (int i = 0; i < len; i++) sortKeys2.add(((Key) sortKeys.get(i)).clone(stylesheet)); diff --git a/libjava/classpath/gnu/xml/transform/TransformerImpl.java b/libjava/classpath/gnu/xml/transform/TransformerImpl.java index 6a0a5be1643..732a911bd8c 100644 --- a/libjava/classpath/gnu/xml/transform/TransformerImpl.java +++ b/libjava/classpath/gnu/xml/transform/TransformerImpl.java @@ -238,7 +238,7 @@ class TransformerImpl outputProperties.getProperty(OutputKeys.CDATA_SECTION_ELEMENTS); boolean indent = "yes".equals(outputProperties.getProperty(OutputKeys.INDENT)); - if (created) + if (created && parent instanceof DomDocument) { // Discover document element DomDocument resultDoc = (DomDocument) parent; @@ -320,7 +320,7 @@ class TransformerImpl } if (indent) { - if (created) + if (created && parent instanceof DomDocument) { DomDocument domDoc = (DomDocument) parent; domDoc.setBuilding(true); @@ -332,7 +332,7 @@ class TransformerImpl (Document) parent : parent.getOwnerDocument(); reindent(resultDoc, parent, 0); - if (created) + if (created && parent instanceof DomDocument) { DomDocument domDoc = (DomDocument) parent; domDoc.setBuilding(false); @@ -576,6 +576,19 @@ class TransformerImpl } catch (IOException e) { + if (errorListener != null) + { + try + { + errorListener.error(new TransformerException(e)); + } + catch (TransformerException e2) + { + e2.printStackTrace(System.err); + } + } + else + e.printStackTrace(System.err); } } } |