IDTagger
import java.io.IOException;
import org.jdom.*;
import org.jdom.input.SAXBuilder;
import org.jdom.output.XMLOutputter;
import java.util.*;
public class JDOMIDTagger {
private static int id = 1;
public static void processElement(Element element) {
if (element.getAttribute("ID") == null) {
element.addAttribute(new Attribute("ID", "_" + id));
id = id + 1;
}
// recursion
List children = element.getChildren();
Iterator iterator = children.iterator();
while (iterator.hasNext()) {
processElement((Element) iterator.next());
}
}
public static void main(String[] args) {
SAXBuilder builder = new SAXBuilder();
for (int i = 0; i < args.length; i++) {
try {
// Read the entire document into memory
Document document = builder.build(args[i]);
processElement(document.getRootElement());
// now we serialize the document...
XMLOutputter serializer = new XMLOutputter();
serializer.output(document, System.out);
System.out.flush();
}
catch (JDOMException e) {
System.err.println(e);
continue;
}
catch (IOException e) {
System.err.println(e);
continue;
}
}
} // end main
}