From 648ae8838f35f45e57b9a41f41f30a3b6ade3037 Mon Sep 17 00:00:00 2001 From: Tor Andersson Date: Wed, 16 Apr 2014 16:10:57 +0200 Subject: Fix bug 693580 by skipping xml tag namespace prefixes. fts_5904.xps and fts_5905.xps use namespace prefixes. Work around that by ignoring the namespace prefix for tag names. A more robust solution would be to expand or record the tag and attribute namespaces in the fz_xml node structure, but that's a overkill for our current needs. --- source/xps/xps-common.c | 6 +++--- source/xps/xps-doc.c | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'source/xps') diff --git a/source/xps/xps-common.c b/source/xps/xps-common.c index 32a30baa..63e4dc40 100644 --- a/source/xps/xps-common.c +++ b/source/xps/xps-common.c @@ -13,7 +13,7 @@ xps_lookup_alternate_content(fz_xml *node) { for (node = fz_xml_down(node); node; node = fz_xml_next(node)) { - if (!strcmp(fz_xml_tag(node), "mc:Choice") && fz_xml_att(node, "Requires")) + if (!strcmp(fz_xml_tag(node), "Choice") && fz_xml_att(node, "Requires")) { char list[64]; char *next = list, *item; @@ -22,7 +22,7 @@ xps_lookup_alternate_content(fz_xml *node) if (!item) return fz_xml_down(node); } - else if (!strcmp(fz_xml_tag(node), "mc:Fallback")) + else if (!strcmp(fz_xml_tag(node), "Fallback")) return fz_xml_down(node); } return NULL; @@ -57,7 +57,7 @@ xps_parse_element(xps_document *doc, const fz_matrix *ctm, const fz_rect *area, xps_parse_glyphs(doc, ctm, base_uri, dict, node); if (!strcmp(fz_xml_tag(node), "Canvas")) xps_parse_canvas(doc, ctm, area, base_uri, dict, node); - if (!strcmp(fz_xml_tag(node), "mc:AlternateContent")) + if (!strcmp(fz_xml_tag(node), "AlternateContent")) { node = xps_lookup_alternate_content(node); if (node) diff --git a/source/xps/xps-doc.c b/source/xps/xps-doc.c index af5bfe5a..5aa2604c 100644 --- a/source/xps/xps-doc.c +++ b/source/xps/xps-doc.c @@ -453,7 +453,7 @@ xps_load_fixed_page(xps_document *doc, xps_page *page) if (!root) fz_throw(doc->ctx, FZ_ERROR_GENERIC, "FixedPage missing root element"); - if (!strcmp(fz_xml_tag(root), "mc:AlternateContent")) + if (!strcmp(fz_xml_tag(root), "AlternateContent")) { fz_xml *node = xps_lookup_alternate_content(root); if (!node) -- cgit v1.2.3