From df90308b0e40817b38273102f30a6ccc4f240809 Mon Sep 17 00:00:00 2001 From: rlskoeser Date: Mon, 18 Aug 2014 14:10:36 -0400 Subject: [PATCH] use getElementsByTagNameNS for namespaced DZI xml when getElementsByTagName fails --- src/dzitilesource.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/dzitilesource.js b/src/dzitilesource.js index f5b75d69..1becfa4a 100644 --- a/src/dzitilesource.js +++ b/src/dzitilesource.js @@ -222,6 +222,7 @@ function configureFromXML( tileSource, xmlDoc ){ var root = xmlDoc.documentElement, rootName = root.localName, + ns = xmlDoc.documentElement.namespaceURI, configuration = null, displayRects = [], dispRectNodes, @@ -234,6 +235,11 @@ function configureFromXML( tileSource, xmlDoc ){ try { sizeNode = root.getElementsByTagName( "Size" )[ 0 ]; + // if finding by tag name failed, attempt to find with namespace + if (sizeNode === undefined) { + sizeNode = root.getElementsByTagNameNS(ns, "Size" )[ 0 ]; + } + configuration = { Image: { xmlns: "http://schemas.microsoft.com/deepzoom/2008", @@ -256,9 +262,15 @@ function configureFromXML( tileSource, xmlDoc ){ } dispRectNodes = root.getElementsByTagName( "DisplayRect" ); + if (dispRectNodes === undefined) { + dispRectNodes = root.getElementsByTagNameNS(ns, "DisplayRect" )[ 0 ]; + } for ( i = 0; i < dispRectNodes.length; i++ ) { dispRectNode = dispRectNodes[ i ]; rectNode = dispRectNode.getElementsByTagName( "Rect" )[ 0 ]; + if (rectNode === undefined) { + rectNode = dispRectNode.getElementsByTagNameNS(ns, "Rect" )[ 0 ]; + } displayRects.push({ Rect: {