@@ -151,12 +151,12 @@ def insertDoctype(self, token):
151
151
systemId = token ["systemId" ]
152
152
153
153
if 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 "" )))
155
155
elif systemId :
156
- self .soup .insert (0 , Declaration ("%s SYSTEM \" %s\" " %
156
+ self .soup .insert (0 , Declaration ("DOCTYPE %s SYSTEM \" %s\" " %
157
157
(name , systemId )))
158
158
else :
159
- self .soup .insert (0 , Declaration (name ))
159
+ self .soup .insert (0 , Declaration ("DOCTYPE %s" % name ))
160
160
161
161
def elementClass (self , name , namespace ):
162
162
if namespace is not None :
@@ -188,7 +188,7 @@ def testSerializer(element):
188
188
rv = []
189
189
def serializeElement (element , indent = 0 ):
190
190
if 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>.*)")?'
192
192
m = re .compile (doctype_regexp ).match (element .string )
193
193
assert m is not None , "DOCTYPE did not match expected format"
194
194
name = m .group ('name' )
0 commit comments