# HG changeset patch # User Andre Heinecke # Date 1364468693 -3600 # Node ID 773899d002340506353b758db7ab2fa9e446a983 # Parent 2be02d6ad9dca20098fb89829135ca8f246a307e Fix new attribute evaluation Patch written by Sascha Teichmann diff -r 2be02d6ad9dc -r 773899d00234 flys-artifacts/src/main/java/de/intevation/flys/artifacts/datacage/templating/Builder.java --- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/datacage/templating/Builder.java Thu Mar 28 10:57:15 2013 +0100 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/datacage/templating/Builder.java Thu Mar 28 12:04:53 2013 +0100 @@ -32,6 +32,7 @@ import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; +import org.w3c.dom.NamedNodeMap; /** Handles and evaluate meta-data template against dbs. */ @@ -721,13 +722,17 @@ Node copy = owner.importNode(current, false); - if (copy.getNodeType() == Node.ATTRIBUTE_NODE) { - evaluateAttributeValue((Attr)copy); + NodeList children = current.getChildNodes(); + for (int i = 0, N = children.getLength(); i < N; ++i) { + build(copy, children.item(i)); } - else { - NodeList children = current.getChildNodes(); - for (int i = 0, N = children.getLength(); i < N; ++i) { - build(copy, children.item(i)); + if (copy.getNodeType() == Node.ELEMENT_NODE) { + NamedNodeMap nnm = ((Element)copy).getAttributes(); + for (int i = 0, N = nnm.getLength(); i < N; ++i) { + Node n = nnm.item(i); + if (n.getNodeType() == Node.ATTRIBUTE_NODE) { + evaluateAttributeValue((Attr)n); + } } } parent.appendChild(copy);