@@ -184,6 +184,12 @@ def serialize(self, treewalker, encoding=None):
184
184
if encoding and self .inject_meta_charset :
185
185
from ..filters .inject_meta_charset import Filter
186
186
treewalker = Filter (treewalker , encoding )
187
+ # Alphabetical attributes is here under the assumption that none of
188
+ # the later filters add or change order of attributes; it needs to be
189
+ # before the sanitizer so escaped elements come out correctly
190
+ if self .alphabetical_attributes :
191
+ from ..filters .alphabeticalattributes import Filter
192
+ treewalker = Filter (treewalker )
187
193
# WhitespaceFilter should be used before OptionalTagFilter
188
194
# for maximum efficiently of this latter filter
189
195
if self .strip_whitespace :
@@ -195,11 +201,6 @@ def serialize(self, treewalker, encoding=None):
195
201
if self .omit_optional_tags :
196
202
from ..filters .optionaltags import Filter
197
203
treewalker = Filter (treewalker )
198
- # Alphabetical attributes must be last, as other filters
199
- # could add attributes and alter the order
200
- if self .alphabetical_attributes :
201
- from ..filters .alphabeticalattributes import Filter
202
- treewalker = Filter (treewalker )
203
204
204
205
for token in treewalker :
205
206
type = token ["type" ]
0 commit comments