devtools/htmlparser.py
changeset 8938 198fdadafed6
parent 8937 8a1809c9a043
child 8939 30ce8eccfe3f
equal deleted inserted replaced
8937:8a1809c9a043 8938:198fdadafed6
    20 import re
    20 import re
    21 import sys
    21 import sys
    22 
    22 
    23 from lxml import etree
    23 from lxml import etree
    24 
    24 
    25 from logilab.common.deprecation import class_deprecated
    25 from logilab.common.deprecation import class_deprecated, class_renamed
    26 
    26 
    27 from cubicweb.view import STRICT_DOCTYPE, TRANSITIONAL_DOCTYPE
    27 from cubicweb.view import STRICT_DOCTYPE, TRANSITIONAL_DOCTYPE
    28 
    28 
    29 STRICT_DOCTYPE = str(STRICT_DOCTYPE)
    29 STRICT_DOCTYPE = str(STRICT_DOCTYPE)
    30 TRANSITIONAL_DOCTYPE = str(TRANSITIONAL_DOCTYPE)
    30 TRANSITIONAL_DOCTYPE = str(TRANSITIONAL_DOCTYPE)
    77         data = etree.tostring(tree)
    77         data = etree.tostring(tree)
    78         return '<?xml version="1.0" encoding="UTF-8"?>%s\n%s' % (
    78         return '<?xml version="1.0" encoding="UTF-8"?>%s\n%s' % (
    79             STRICT_DOCTYPE, data)
    79             STRICT_DOCTYPE, data)
    80 
    80 
    81 
    81 
    82 class SaxOnlyValidator(Validator):
    82 class XMLValidator(Validator):
       
    83     """ A fully compliant XML parser """
    83 
    84 
    84     def __init__(self):
    85     def __init__(self):
    85         Validator.__init__(self)
    86         Validator.__init__(self)
    86         self.parser = etree.XMLParser()
    87         self.parser = etree.XMLParser()
       
    88 
       
    89 SaxOnlyValidator = class_renamed('SaxOnlyValidator',
       
    90                                  XMLValidator,
       
    91                                  '[3.17] you should use the '
       
    92                                  'XMLValidator class instead')
    87 
    93 
    88 
    94 
    89 class XMLDemotingValidator(SaxOnlyValidator):
    95 class XMLDemotingValidator(SaxOnlyValidator):
    90     """ some views produce html instead of xhtml, using demote_to_html
    96     """ some views produce html instead of xhtml, using demote_to_html
    91 
    97