UNPKG

@wikipathways/cxml

Version:

Advanced schema-aware streaming XML parser

29 lines 5.27 kB
"use strict"; // This file is part of cxml, copyright (c) 2016 BusFaster Ltd. // Released under the MIT license, see LICENSE. Object.defineProperty(exports, "__esModule", { value: true }); /** Base class inherited by all schema type classes, not defining custom hooks. */ var Member = /** @class */ (function () { function Member() { } return Member; }()); exports.Member = Member; /** Parser rule, defines a handler class, valid attributes and children * for an XSD tag. */ var Rule = /** @class */ (function () { function Rule(handler) { /** Table of allowed attributes. */ this.attributeTbl = {}; this.handler = handler; } Rule.prototype.addAttribute = function (ref) { this.attributeTbl[ref.member.namespace.getPrefix() + ref.member.name] = ref; }; Rule.prototype.addChild = function (ref) { this.childTbl[ref.member.namespace.getPrefix() + ref.member.name] = ref; }; return Rule; }()); exports.Rule = Rule; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYXJzZXIvUnVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsK0RBQStEO0FBQy9ELCtDQUErQzs7QUFvQi9DLGtGQUFrRjtBQUVsRjtJQUFBO0lBT0EsQ0FBQztJQUFELGFBQUM7QUFBRCxDQUFDLEFBUEQsSUFPQztBQVBZLHdCQUFNO0FBeUJuQjtzQkFDc0I7QUFFdEI7SUFDQyxjQUFZLE9BQWtCO1FBaUI5QixtQ0FBbUM7UUFDbkMsaUJBQVksR0FBaUMsRUFBRSxDQUFDO1FBakIvQyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUN4QixDQUFDO0lBRUQsMkJBQVksR0FBWixVQUFhLEdBQWM7UUFDMUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQztJQUM3RSxDQUFDO0lBRUQsdUJBQVEsR0FBUixVQUFTLEdBQWM7UUFDdEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQztJQUN6RSxDQUFDO0lBdUJGLFdBQUM7QUFBRCxDQUFDLEFBbENELElBa0NDO0FBbENZLG9CQUFJIiwic291cmNlc0NvbnRlbnQiOlsiLy8gVGhpcyBmaWxlIGlzIHBhcnQgb2YgY3htbCwgY29weXJpZ2h0IChjKSAyMDE2IEJ1c0Zhc3RlciBMdGQuXG4vLyBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UsIHNlZSBMSUNFTlNFLlxuXG5pbXBvcnQge05hbWVzcGFjZX0gZnJvbSAnLi4veG1sL05hbWVzcGFjZSc7XG5pbXBvcnQge01lbWJlclJlZn0gZnJvbSAnLi4veG1sL01lbWJlclJlZic7XG5cbi8qKiBJbnRlcmZhY2UgaW1wbGVtZW50ZWQgYnkgc2NoZW1hIHR5cGUgY2xhc3NlcywgYWxsb3dpbmcgY3VzdG9tIGhvb2tzLiAqL1xuXG5leHBvcnQgaW50ZXJmYWNlIEhhbmRsZXJJbnN0YW5jZSB7XG5cdFtrZXk6IHN0cmluZ106IGFueTtcblxuXHRjb250ZW50PzogYW55O1xuXHRfZXhpc3RzOiBib29sZWFuO1xuXHRfbmFtZXNwYWNlOiBzdHJpbmc7XG5cdF9wYXJlbnQ/OiBIYW5kbGVySW5zdGFuY2U7XG5cdF9uYW1lPzogc3RyaW5nO1xuXG5cdF9iZWZvcmU/KCk6IHZvaWQ7XG5cdF9hZnRlcj8oKTogdm9pZDtcbn1cblxuLyoqIEJhc2UgY2xhc3MgaW5oZXJpdGVkIGJ5IGFsbCBzY2hlbWEgdHlwZSBjbGFzc2VzLCBub3QgZGVmaW5pbmcgY3VzdG9tIGhvb2tzLiAqL1xuXG5leHBvcnQgY2xhc3MgTWVtYmVyIGltcGxlbWVudHMgSGFuZGxlckluc3RhbmNlIHtcblx0LyoqIE5hbWUgb2YgdGhlIHR5cGUsIHBvaW50aW5nIHRvIHRoZSBuYW1lIG9mIHRoZSBjb25zdHJ1Y3RvciBmdW5jdGlvbi5cblx0ICAqIE1pZ2h0IGNvbnRhaW4gZ2FyYmFnZS4uLiAqL1xuXHQvLyBzdGF0aWMgbmFtZTogc3RyaW5nO1xuXHQvLyBzdGF0aWMgdHlwZTogVHlwZTtcblx0X2V4aXN0czogYm9vbGVhbjtcblx0X25hbWVzcGFjZTogc3RyaW5nO1xufVxuXG4vKiogQ2xhc3MgdHlwZSBjb21wYXRpYmxlIHdpdGggc2NoZW1hIHR5cGUgY2xhc3Nlcy4gKi9cblxuZXhwb3J0IGludGVyZmFjZSBSdWxlQ2xhc3Mge1xuXHRuZXcoKTogTWVtYmVyO1xuXG5cdHJ1bGU/OiBSdWxlO1xufVxuXG4vKiogQ2xhc3MgdHlwZSBjb21wYXRpYmxlIHdpdGggc2NoZW1hIHR5cGUgY2xhc3NlcywgYWxsb3dpbmcgY3VzdG9tIGhvb2tzLiAqL1xuXG5leHBvcnQgaW50ZXJmYWNlIEhhbmRsZXJDbGFzcyBleHRlbmRzIFJ1bGVDbGFzcyB7XG5cdG5ldygpOiBIYW5kbGVySW5zdGFuY2U7XG5cblx0X2N1c3RvbT86IGJvb2xlYW47XG59XG5cbi8qKiBQYXJzZXIgcnVsZSwgZGVmaW5lcyBhIGhhbmRsZXIgY2xhc3MsIHZhbGlkIGF0dHJpYnV0ZXMgYW5kIGNoaWxkcmVuXG4gICogZm9yIGFuIFhTRCB0YWcuICovXG5cbmV4cG9ydCBjbGFzcyBSdWxlIHtcblx0Y29uc3RydWN0b3IoaGFuZGxlcjogUnVsZUNsYXNzKSB7XG5cdFx0dGhpcy5oYW5kbGVyID0gaGFuZGxlcjtcblx0fVxuXG5cdGFkZEF0dHJpYnV0ZShyZWY6IE1lbWJlclJlZikge1xuXHRcdHRoaXMuYXR0cmlidXRlVGJsW3JlZi5tZW1iZXIubmFtZXNwYWNlLmdldFByZWZpeCgpICsgcmVmLm1lbWJlci5uYW1lXSA9IHJlZjtcblx0fVxuXG5cdGFkZENoaWxkKHJlZjogTWVtYmVyUmVmKSB7XG5cdFx0dGhpcy5jaGlsZFRibFtyZWYubWVtYmVyLm5hbWVzcGFjZS5nZXRQcmVmaXgoKSArIHJlZi5tZW1iZXIubmFtZV0gPSByZWY7XG5cdH1cblxuXHRuYW1lc3BhY2U6IE5hbWVzcGFjZTtcblxuXHQvKiogQ29uc3RydWN0b3IgZnVuY3Rpb24gZm9yIGNyZWF0aW5nIG9iamVjdHMgaGFuZGxpbmcgYW5kIHJlcHJlc2VudGluZyB0aGUgcmVzdWx0cyBvZiB0aGlzIHBhcnNpbmcgcnVsZS4gKi9cblx0aGFuZGxlcjogSGFuZGxlckNsYXNzO1xuXG5cdC8qKiBUYWJsZSBvZiBhbGxvd2VkIGF0dHJpYnV0ZXMuICovXG5cdGF0dHJpYnV0ZVRibDogeyBba2V5OiBzdHJpbmddOiBNZW1iZXJSZWYgfSA9IHt9O1xuXG5cdC8qKiBUYWJsZSBtYXBwaW5nIHRoZSBuYW1lcyBvZiBhbGxvd2VkIGNoaWxkIHRhZ3MsIHRvIHRoZWlyIHBhcnNpbmcgcnVsZXMuICovXG5cdGNoaWxkVGJsOiB7IFtrZXk6IHN0cmluZ106IE1lbWJlclJlZiB9O1xuXG5cdC8qKiBUeXBlIGhhcyB0ZXh0IGNvbnRlbnQgcmVwcmVzZW50YWJsZSBhcyBKYXZhU2NyaXB0IHByaW1pdGl2ZXMuICovXG5cdGlzUHJpbWl0aXZlOiBib29sZWFuO1xuXHQvKiogUHJpbWl0aXZlIHR5cGUgaXMgaW5oZXJpdGVkIHdpdGhvdXQgYW55IGFkZGl0aW9uYWwgYXR0cmlidXRlc1xuXHQgICogb3IgY2hpbGRyZW4sIHNvIGlzIGNhbiBiZSByZXByZXNlbnRlZCBhcyBhIEphdmFTY3JpcHQgcHJpbWl0aXZlLiAqL1xuXHRpc1BsYWluUHJpbWl0aXZlOiBib29sZWFuO1xuXHQvKiogVGV4dCBjb250ZW50IGlzIGEgd2hpdGVzcGFjZS1zZXBhcmF0ZWQgbGlzdCBvZiBwcmltaXRpdmUgdHlwZXMuICovXG5cdGlzTGlzdDogYm9vbGVhbjtcblxuXHQvKiogSmF2YVNjcmlwdCBwcmltaXRpdmUgdHlwZSB0aGF0IGNhbiByZXByZXNlbnQgdGhlIHRleHQgY29udGVudC4gKi9cblx0cHJpbWl0aXZlVHlwZTogc3RyaW5nO1xufVxuIl19