@@ -69,6 +69,7 @@ class XHTMLParser(XMLParser):
6969
7070 def __init__ (self , * args , ** kwargs ):
7171 html5parser .HTMLParser .__init__ (self , * args , ** kwargs )
72+ self .phases ["initial" ] = XmlInitialPhase (self , self .tree )
7273 self .phases ["rootElement" ] = XhmlRootPhase (self , self .tree )
7374
7475 def normalizeToken (self , token ):
@@ -101,7 +102,19 @@ def insertHtmlElement(self):
101102 self .tree .document .appendChild (element )
102103 self .parser .phase = self .parser .phases ["beforeHead" ]
103104
105+ class XmlInitialPhase (html5parser .InitialPhase ):
106+ """ Consume XML Prologs """
107+ def processComment (self , data ):
108+ if not data .startswith ('?xml' ) or not data .endswith ('?' ):
109+ html5parser .InitialPhase .processComment (self , data )
110+
104111class XmlRootPhase (html5parser .Phase ):
112+ """ Consume XML Prologs """
113+ def processComment (self , data ):
114+ print repr (data )
115+ if not data .startswith ('?xml' ) or not data .endswith ('?' ):
116+ html5parser .InitialPhase .processComment (self , data )
117+
105118 """ Prime the Xml parser """
106119 def __getattr__ (self , name ):
107120 self .tree .openElements .append (self .tree .document )
0 commit comments