Welche XML-Elemente gibt es in einem größeren DocBook-Projekt und wie oft kommen sie vor? Auf die Schnelle ist mir kein passendes Werkzeug zur Beantwortung der Fragen eingefallen. Das kleine Skript hier tut es:
#!/usr/bin/env ruby require 'nokogiri' require 'terminal-table' @tags = {} def recurse_tags(node) if @tags.member? node.name @tags[node.name] += 1 else @tags[node.name] = 1 end node.elements.each { |e| recurse_tags(e)} end doc = Nokogiri::XML.parse(File.open(ARGV[0])) recurse_tags(doc.root) table = Terminal::Table.new :title => 'XML-Elemente', :headings => ['Name', 'Anzahl'], :rows => @tags.sort table.align_column(1, :right) puts table