def build_static(self): documents = [] for document in self.static: # Building is as simple as creating a new Document instance to # reflect the converted paths. document = copy.copy(document) document.source = util.convert_path(document.source) documents.append(document) # Validate the content if self.validate: from xml.sax.handler import feature_validation from Ft.Xml.InputSource import DefaultFactory from Ft.Xml.Sax import CreateParser class ErrorHandler: def __init__(self, displayhook): self.displayhook = displayhook def warning(self, exception): self.displayhook(exception) def error(self, exception): self.displayhook(exception) def fatalError(self, exception): raise exception parser = CreateParser() parser.setFeature(feature_validation, True) parser.setErrorHandler(ErrorHandler(self.warn)) for document in documents: self.announce('validating %s' % document.source, 2) parser.parse(DefaultFactory.fromUri(document.source)) return documents