Fred C schrieb:
> Hello,
>
> In my kid template I have this following line:  <div  
> class="reviewitem" py:content="XML(review.Content)" />.
> My problem is when the XML() argument is not a very clean html  
> string, XML fail miserably.
> How can I manage to roughly clean that string (in the template) or at  
> least return the string not formated, instead of having an exception  
> thrown.
>
>   
I think the only way apart from horribly circumventing kid is to have 
clean (X)HTML markup.
I'm currently using a validator like this to validate XHTML markup..

class XHTMLValidator(validators.FancyValidator):
    def _to_python(self, value, state = None):
        try:
            template = kid.Template(
                """<html xmlns:py="http://purl.org/kid/ns#";>%s</html>""" 
% value)
        except Exception, e:
            raise validators.Invalid( e.args[0], value, state)

        s = template.serialize( output = "xml")
        return s[s.index("<html>")+6:-7]


It uses a temporary template to check the XHTML code for correctness, 
feeds errors back as
validation errors and extracts the cleaned-up XHTML markup from the 
serialized output.

-- Sven

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"TurboGears" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/turbogears
-~----------~----~----~----~------~----~------~--~---

Reply via email to