@@ -151,12 +151,12 @@ def insertDoctype(self, token):
151151systemId = token ["systemId" ]
152152
153153if publicId :
154- self .soup .insert (0 ,Declaration ("%s PUBLIC\" %s\" \" %s\" " % (name ,publicId ,systemId or "" )))
154+ self .soup .insert (0 ,Declaration ("DOCTYPE %s PUBLIC\" %s\" \" %s\" " % (name ,publicId ,systemId or "" )))
155155elif systemId :
156- self .soup .insert (0 ,Declaration ("%s SYSTEM\" %s\" " %
156+ self .soup .insert (0 ,Declaration ("DOCTYPE %s SYSTEM\" %s\" " %
157157 (name ,systemId )))
158158else :
159- self .soup .insert (0 ,Declaration (name ))
159+ self .soup .insert (0 ,Declaration ("DOCTYPE %s" % name ))
160160
161161def elementClass (self ,name ,namespace ):
162162if namespace is not None :
@@ -188,7 +188,7 @@ def testSerializer(element):
188188rv = []
189189def serializeElement (element ,indent = 0 ):
190190if isinstance (element ,Declaration ):
191- doctype_regexp = r'(?P<name>[^\s]*)( PUBLIC "(?P<publicId>.*)" "(?P<systemId1>.*)"| SYSTEM "(?P<systemId2>.*)")?'
191+ doctype_regexp = r'DOCTYPE\s+ (?P<name>[^\s]*)( PUBLIC "(?P<publicId>.*)" "(?P<systemId1>.*)"| SYSTEM "(?P<systemId2>.*)")?'
192192m = re .compile (doctype_regexp ).match (element .string )
193193assert m is not None ,"DOCTYPE did not match expected format"
194194name = m .group ('name' )