def __unicode__(self):
            str = self.arg[0]
            if not self.preserve and not self.cdata_section:
                # remove empty tokens always in element content!
                if self.empty and not self.descendant_mixed:
                    if self.formatter.blanks and not self.formatter.compress and re.match(r"\s*\n\s*\n\s*", str):
                        str = "\n"
                    else:
                        str = ""
                else:
                    if self.correct:
                        str = re.sub(r"\r\n", "\n", str)
                        str = re.sub(r"\r|\n|\t", " ", str)
                        str = re.sub(r"\s+", " ", str)
                    if self.delete_leading:
                        str = re.sub(r"^\s", "", str)
                    if self.delete_trailing:
                        str = re.sub(r"\s$", "", str)
            if not self.cdata_section:
                str = re.sub(r"&", "&amp;", str)
                str = re.sub(r"<", "&lt;", str)
            return str