30 lines
1.2 KiB
JavaScript
30 lines
1.2 KiB
JavaScript
'use strict';
|
|
|
|
const nodeToJson = require('./node2json');
|
|
const xmlToNodeobj = require('./xmlstr2xmlnode');
|
|
const x2xmlnode = require('./xmlstr2xmlnode');
|
|
const buildOptions = require('./util').buildOptions;
|
|
const validator = require('./validator');
|
|
|
|
exports.parse = function(xmlData, options, validationOption) {
|
|
if( validationOption){
|
|
if(validationOption === true) validationOption = {}
|
|
|
|
const result = validator.validate(xmlData, validationOption);
|
|
if (result !== true) {
|
|
throw Error( result.err.msg)
|
|
}
|
|
}
|
|
options = buildOptions(options, x2xmlnode.defaultOptions, x2xmlnode.props);
|
|
return nodeToJson.convertToJson(xmlToNodeobj.getTraversalObj(xmlData, options), options);
|
|
};
|
|
exports.convertTonimn = require('../src/nimndata').convert2nimn;
|
|
exports.getTraversalObj = xmlToNodeobj.getTraversalObj;
|
|
exports.convertToJson = nodeToJson.convertToJson;
|
|
exports.convertToJsonString = require('./node2json_str').convertToJsonString;
|
|
exports.validate = validator.validate;
|
|
exports.j2xParser = require('./json2xml');
|
|
exports.parseToNimn = function(xmlData, schema, options) {
|
|
return exports.convertTonimn(exports.getTraversalObj(xmlData, options), schema, options);
|
|
};
|