Example #1
0
        def tail(self):
            tail = self.element.tail
            if tail is not None:
                if self.element.strip_text:
                    parent = self.element.getparent()
                    if parent is not None and parent.strip_text and parent[-1] is self.element:
                        tail = tail.rstrip('\n ')

                parent = self.element.getparent()
                if parent is not None and not parent.node._interpolation_enabled:
                    return (tail,)

                parts = self.element.translator.split(tail)
                if self.element.tag == '{http://www.w3.org/1999/xhtml}cdata':
                    return parts

                if not self._interpolation_escape:
                    return parts

                return tuple(
                    isinstance(part, types.expression) and types.escape(part) or \
                    self.element.meta_structure is True and part or \
                    utils.htmlescape(part) for part in parts)

            return ()
Example #2
0
        def tail(self):
            tail = self.element.tail
            if tail is not None:
                if self.element.strip_text:
                    parent = self.element.getparent()
                    if parent is not None and parent.strip_text and parent[
                            -1] is self.element:
                        tail = tail.rstrip('\n ')

                parent = self.element.getparent()
                if parent is not None and not parent.node._interpolation_enabled:
                    return (tail, )

                parts = self.element.translator.split(tail)
                if self.element.tag == '{http://www.w3.org/1999/xhtml}cdata':
                    return parts

                if not self._interpolation_escape:
                    return parts

                return tuple(
                    isinstance(part, types.expression) and types.escape(part) or \
                    self.element.meta_structure is True and part or \
                    utils.htmlescape(part) for part in parts)

            return ()
Example #3
0
    def asxml(self):
        """ restructured pseudo xml """
        xml = self.node.pformat()
        from chameleon.core.utils import htmlescape

        xml = htmlescape(xml)
        xml = xml.replace("\n", "<br/>\n")
        xml = xml.replace(" ", "&nbsp;")
        return xml