From 8ebb9db43193074d2b7927bf69c872a5d4c6dcd9 Mon Sep 17 00:00:00 2001 From: artemp Date: Tue, 21 Jul 2015 10:25:19 +0200 Subject: [PATCH] add `xml:id` support ( ref #2989 ) --- src/svg/svg_parser.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/svg/svg_parser.cpp b/src/svg/svg_parser.cpp index a96fb9a89..548ccd294 100644 --- a/src/svg/svg_parser.cpp +++ b/src/svg/svg_parser.cpp @@ -489,7 +489,8 @@ void parse_path(svg_parser & parser, xmlTextReaderPtr reader) { xmlFree(value); xmlChar *id_value; - id_value = xmlTextReaderGetAttribute(reader, BAD_CAST "id"); + id_value = xmlTextReaderGetAttribute(reader, BAD_CAST "xml:id"); + if (!id_value) id_value = xmlTextReaderGetAttribute(reader, BAD_CAST "id"); if (id_value) { std::string id_string((const char *) id_value); @@ -859,7 +860,9 @@ bool parse_common_gradient(svg_parser & parser, xmlTextReaderPtr reader) xmlChar *value; std::string id; - value = xmlTextReaderGetAttribute(reader, BAD_CAST "id"); + value = xmlTextReaderGetAttribute(reader, BAD_CAST "xml:id"); + if (!value) value = xmlTextReaderGetAttribute(reader, BAD_CAST "id"); + if (value) { // start a new gradient