Example: IDTagger
import java.io.IOException;
import nu.xom.*;
public class IDTagger {
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
Elements children = element.getChildElements();
for (int i = 0; i < children.size(); i++) {
processElement(children.get(i));
}
}
public static void main(String[] args) {
Builder builder = new Builder();
for (int i = 0; i < args.length; i++) {
try {
// Read the entire document into memory
Document document = builder.build(args[i]);
processElement(document.getRootElement());
System.out.println(document.toXML());
}
catch (ParsingException ex) {
System.err.println(ex);
continue;
}
catch (IOException ex) {
System.err.println(ex);
continue;
}
}
} // end main
}