From 54f380ef2cef0847701a37b8a45dca981c8247e2 Mon Sep 17 00:00:00 2001 From: Hugh Greenish Date: Tue, 8 Aug 2017 16:57:33 +0100 Subject: [PATCH] new tag regex handles angle brackets in attributes fixes #768 --- bits/22_xmlutils.js | 2 +- xlsx.flow.js | 2 +- xlsx.js | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/bits/22_xmlutils.js b/bits/22_xmlutils.js index ebbc418..6670d0c 100644 --- a/bits/22_xmlutils.js +++ b/bits/22_xmlutils.js @@ -1,5 +1,5 @@ var attregexg=/([^"\s?>\/]+)=((?:")([^"]*)(?:")|(?:')([^']*)(?:')|([^'">\s]+))/g; -var tagregex=/<[^>]*>/g; +var tagregex=/<[\/\?]?[a-zA-Z0-9:]+(?:\s+[^"\s?>\/]+=(?:"[^"]*"|'[^']*'|[^'">\s]+))*\s?[\/\?]?>/g; var nsregex=/<\w*:/, nsregex2 = /<(\/?)\w+:/; function parsexmltag(tag/*:string*/, skip_root/*:?boolean*/)/*:any*/ { var z = ({}/*:any*/); diff --git a/xlsx.flow.js b/xlsx.flow.js index 19f1f70..14de743 100644 --- a/xlsx.flow.js +++ b/xlsx.flow.js @@ -1664,7 +1664,7 @@ function resolve_path(path/*:string*/, base/*:string*/)/*:string*/ { return result.join('/'); } var attregexg=/([^"\s?>\/]+)=((?:")([^"]*)(?:")|(?:')([^']*)(?:')|([^'">\s]+))/g; -var tagregex=/<[^>]*>/g; +var tagregex=/<[\/\?]?[a-zA-Z0-9:]+(?:\s+[^"\s?>\/]+=(?:"[^"]*"|'[^']*'|[^'">\s]+))*\s?[\/\?]?>/g; var nsregex=/<\w*:/, nsregex2 = /<(\/?)\w+:/; function parsexmltag(tag/*:string*/, skip_root/*:?boolean*/)/*:any*/ { var z = ({}/*:any*/); diff --git a/xlsx.js b/xlsx.js index 73b7d71..0504375 100644 --- a/xlsx.js +++ b/xlsx.js @@ -1600,7 +1600,7 @@ function resolve_path(path, base) { return result.join('/'); } var attregexg=/([^"\s?>\/]+)=((?:")([^"]*)(?:")|(?:')([^']*)(?:')|([^'">\s]+))/g; -var tagregex=/<[^>]*>/g; +var tagregex=/<[\/\?]?[a-zA-Z0-9:]+(?:\s+[^"\s?>\/]+=(?:"[^"]*"|'[^']*'|[^'">\s]+))*\s?[\/\?]?>/g; var nsregex=/<\w*:/, nsregex2 = /<(\/?)\w+:/; function parsexmltag(tag, skip_root) { var z = ({});