diff --git a/src/html_parser.ml b/src/html_parser.ml index 16dd3fd..0920d17 100644 --- a/src/html_parser.ml +++ b/src/html_parser.ml @@ -319,8 +319,6 @@ struct let adjust_svg_attributes attributes = attributes |> List.map (fun ((ns, name), value) -> - if ns <> svg_ns then (ns, name), value - else let name = match name with | "attributename" -> "attributeName" diff --git a/test/test_html_parser.ml b/test/test_html_parser.ml index 7def980..c4be125 100644 --- a/test/test_html_parser.ml +++ b/test/test_html_parser.ml @@ -811,6 +811,19 @@ let tests = [ 1, 29, S `End_element; 1, 29, S `End_element]); + ("html.parser.foreign.attribute" >:: fun _ -> + expect "" + [ 1, 1, S (start_element "html"); + 1, 1, S (start_element "head"); + 1, 1, S `End_element; + 1, 1, S (start_element "body"); + 1, 7, S (`Start_element ((svg_ns, "svg"), [("", "refX"), ""])); + 1, 20, S (`Start_element ((svg_ns, "g"), [])); + 1, 20, S `End_element; + 1, 24, S `End_element; + 1, 37, S `End_element; + 1, 37, S `End_element]); + ("html.parser.foreign.svg-followed-by-html" >:: fun _ -> expect ~context:(Some (`Fragment "body")) ""