@@ -457,28 +457,18 @@ maybe_append_delay(Packet = #xmlel{children = Children}, From, TS, Desc) ->
457
457
Packet
458
458
end .
459
459
460
- remove_delay_tags (# xmlel {children = Els } = Packet ) ->
461
- NEl = lists :foldl (
462
- fun (# xmlel {name = <<" delay" >>} = R , El ) ->
463
- case exml_query :attr (R , <<" xmlns" >>) of
464
- ? NS_DELAY ->
465
- El ;
466
- _ ->
467
- El ++ [R ]
468
- end ;
469
- (# xmlel {name = <<" x" >>} = R , El ) ->
470
- case exml_query :attr (R , <<" xmlns" >>) of
471
- ? NS_DELAY91 ->
472
- El ;
473
- _ ->
474
- El ++ [R ]
475
- end ;
476
- (R , El ) ->
477
- El ++ [R ]
478
- end , [], Els ),
479
- Packet # xmlel {children = NEl }.
480
-
481
- -spec remove_cdata ([exml :child ()]) -> [exml :child ()].
460
+ remove_delay_tags (# xmlel {children = Children } = Packet ) ->
461
+ Fun = fun (# xmlel {name = <<" delay" >>, attrs = #{<<" xmlns" >> := ? NS_DELAY }}, Els ) ->
462
+ Els ;
463
+ (# xmlel {name = <<" x" >>, attrs = #{<<" xmlns" >> := ? NS_DELAY91 }}, Els ) ->
464
+ Els ;
465
+ (R , Els ) ->
466
+ [R | Els ]
467
+ end ,
468
+ NEls = lists :foldl (Fun , [], Children ),
469
+ Packet # xmlel {children = lists :reverse (NEls )}.
470
+
471
+ -spec remove_cdata ([exml :child ()]) -> [exml :element ()].
482
472
remove_cdata (L ) ->
483
473
[E || E <- L , remove_cdata_p (E )].
484
474
@@ -490,8 +480,7 @@ remove_cdata_p(_) -> false.
490
480
append_subtags (XE = # xmlel {children = SubTags1 }, SubTags2 ) ->
491
481
XE # xmlel {children = SubTags1 ++ SubTags2 }.
492
482
493
- -spec replace_tag_attr (Attr :: binary (), Value :: binary (), exml :element ()
494
- ) -> exml :element ().
483
+ -spec replace_tag_attr (Attr :: binary (), Value :: binary (), exml :element ()) -> exml :element ().
495
484
replace_tag_attr (Attr , Value , XE = # xmlel {attrs = Attrs }) ->
496
485
Attrs1 = Attrs #{Attr => Value },
497
486
XE # xmlel {attrs = Attrs1 }.
0 commit comments