Viewing file: StringWriter.py (1.48 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
######################################################################## # $Header: /var/local/cvsroot/4Suite/Ft/Xml/Xslt/StringWriter.py,v 1.4 2005/02/09 08:57:09 mbrown Exp $ """ A specialized XSLT output writer that only captures text output events
Copyright 2005 Fourthought, Inc. (USA). Detailed license and copyright information: http://4suite.org/COPYRIGHT Project home, documentation, distributions: http://4suite.org/ """
import NullWriter
class StringWriter(NullWriter.NullWriter): def __init__(self, outputParams): NullWriter.NullWriter.__init__(self, outputParams) self._result = [] self._ignore_events = 0 self.had_nontext = False
def getResult(self): return u"".join(self._result)
def text(self, text, escapeOutput=True): if not self._ignore_events: self._result.append(text) return
def startElement(self, name, namespace=None, extraNss=None): # Ignore non-text creation as per XSLT 1.0 spec self._ignore_events += 1 self.had_nontext = True return
def endElement(self, name, namespace=None): # Ignore non-text creation as per XSLT 1.0 spec self._ignore_events -= 1 return
def comment(self, body): self.had_nontext = True return
def processingInstruction(self, target, data): self.had_nontext = True return
def attribute(self, name, value, namespace=None): self.had_nontext = True return
|