diff --git a/frontend/src/Metamaps/Import.js b/frontend/src/Metamaps/Import.js index d4051ddb..b499d462 100644 --- a/frontend/src/Metamaps/Import.js +++ b/frontend/src/Metamaps/Import.js @@ -70,6 +70,11 @@ const Import = { Import.handle(results) }, + handleXML: function(text) { + const results = XMLParser.parseSchema(text) + Import.handle(results) + }, + handle: function(results) { var self = Import var topics = results.topics.map(topic => self.normalizeKeys(topic)) diff --git a/frontend/src/Metamaps/XMLParser.js b/frontend/src/Metamaps/XMLParser.js new file mode 100644 index 00000000..3897e3f6 --- /dev/null +++ b/frontend/src/Metamaps/XMLParser.js @@ -0,0 +1,18 @@ +import parseXML from 'xml-parser' + +const XMLParser = { + parseSchema = (text) => { + // see format of data at https://www.npmjs.com/package/xml-parser + const data = parseXML(text) + + // TODO algorithm to transform `data` to `returnValue` + + // TODO this is the output format, but we still need to fill it in with real data + const returnValue = { + topics: [], + synapses: [] + } + } +} + +export default XMLParser diff --git a/package.json b/package.json index dfa67ded..813e389b 100644 --- a/package.json +++ b/package.json @@ -52,7 +52,8 @@ "riek": "1.0.7", "simplewebrtc": "2.2.2", "socket.io": "1.3.7", - "webpack": "2.2.1" + "webpack": "2.2.1", + "xml-parser": "^1.2.1" }, "devDependencies": { "babel-eslint": "^7.1.1",