[Twisted-web] [Nevow] how to generate XHMTL without whitespaces

Samuel Reynolds sam at spinwardstars.com
Wed Sep 27 09:35:07 CDT 2006


At 04:56 PM 9/26/2006, you wrote:
>Phil Mayers ha scritto:
> > Manlio Perillo wrote:
> >>
> >> this template:
> >>
> >>       <label>label:
> >>         <select name="a_name" n:render="sequence"
> >>                 n:data="a_list">
> >>           <option n:pattern="item">
> >>             <n:invisible n:render="string" n:data="0" />
> >>             <n:attr name="label" n:render="string" n:data="1" />
> >>           </option>
> >>         </select>
> >>       </label>
> >
> >> gives a:
> >>
> >>       <label>label:
> >>         <select name="a_name"><option label="a_label">
> >>
> >>             1
> >>
> >>           </option><option label="another_label">
> >
> > Erm - yes. Because your template has whitespace in it. Remove it and it
> > should work - that is:
> >
> > <label>label:<select name="a_name" n:render="sequence"
> > n:data="a_list"><option n:pattern="item">...
> >
> >
>
>
>Ok, but I would like to have a readable template...
>This is the reason why I'm asking if it is possible to remove extra

Maybe do a simple regex cleanup before you use the template.
Something like the following, which removes whitespace between
 > and <, if the whitespace begins with a newline:

    import re
    ...
    RE_removeFreeWhitespace = re.compile( r'>[\n\r]+\s*<' )
    def removeFreeWhitespace( S ):
       return RE_removeFreeWhitespace.sub( r'><', S )
    ...
    templateString = removeFreeWhitespace( templateString )

- Sam





More information about the Twisted-web mailing list