#!/usr/bin/python2

import xml.sax
from xml.sax.xmlreader import InputSource

# Готовим обработчики событий:

from EvalExpr import *
content_handler = ContentHandler()
error_handler = ErrorHandler()
entity_resolver = EntityResolver()
dtd_handler = DTDHandler()

# Готовим источник данных:

input = open("arith.xml", "r")
input_source = InputSource()
input_source.setByteStream(input)

# Готовим XML-анализатор:

# Используем готовый анализатор:
xml_reader = xml.sax.make_parser()

# Регистрируем обработчики: 
xml_reader.setContentHandler(content_handler)
xml_reader.setErrorHandler(error_handler)
xml_reader.setEntityResolver(entity_resolver)
xml_reader.setDTDHandler(dtd_handler)

# Анализируем источник XML:
xml_reader.parse(input_source)

# Выводим результат вычислений:
print content_handler.value