symbian-qemu-0.9.1-12/python-2.6.1/Demo/xml/elem_count.py
changeset 1 2fb8b9db1c86
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/symbian-qemu-0.9.1-12/python-2.6.1/Demo/xml/elem_count.py	Fri Jul 31 15:01:17 2009 +0100
@@ -0,0 +1,36 @@
+import sys
+
+from xml.sax import make_parser, handler
+
+class FancyCounter(handler.ContentHandler):
+
+    def __init__(self):
+        self._elems = 0
+        self._attrs = 0
+        self._elem_types = {}
+        self._attr_types = {}
+
+    def startElement(self, name, attrs):
+        self._elems = self._elems + 1
+        self._attrs = self._attrs + len(attrs)
+        self._elem_types[name] = self._elem_types.get(name, 0) + 1
+
+        for name in attrs.keys():
+            self._attr_types[name] = self._attr_types.get(name, 0) + 1
+
+    def endDocument(self):
+        print "There were", self._elems, "elements."
+        print "There were", self._attrs, "attributes."
+
+        print "---ELEMENT TYPES"
+        for pair in  self._elem_types.items():
+            print "%20s %d" % pair
+
+        print "---ATTRIBUTE TYPES"
+        for pair in  self._attr_types.items():
+            print "%20s %d" % pair
+
+
+parser = make_parser()
+parser.setContentHandler(FancyCounter())
+parser.parse(sys.argv[1])