#!/usr/bin/python2.3

import libxml2
import os

# we need: export PYTHONPATH="/usr/lib/python2.3:/home/wxwindows/lib/python/:/home/wxwindows/pythonlibs/lib/python2.3/site-packages/:/home/wxwindows/pythonlibs/usr/lib/python2.3/site-packages/"

class XPathElem:
  def __init__(self, node):
    self.node = node
  def value(self, path): return self.node.xpathEval('string(' + path + ')')
  def nodes(self, path): return [ XPathElem(x) for x in self.node.xpathEval(path) ]
  def test(self, path): return self.node.xpathEval('boolean(' + path + ')')

root = XPathElem(libxml2.parseFile("../../classes.xml"))

print "No parents:"

for myclass in root.nodes ('/classes/class'):
  parents = myclass.nodes ('parents/ref')
  if len(parents) == 0:
    print "No parents for " + myclass.value('@name')
    print "Children:"
    os.system("grep " + myclass.value('@name') + " Misc.dot");

