typesxml
Version:
Open source XML library written in TypeScript
66 lines • 2.05 kB
JavaScript
;
/*******************************************************************************
* Copyright (c) 2023-2026 Maxprograms.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 1.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/org/documents/epl-v10.html
*
* Contributors:
* Maxprograms - initial API and implementation
*******************************************************************************/
Object.defineProperty(exports, "__esModule", { value: true });
exports.DTDName = void 0;
const ContentModel_js_1 = require("./ContentModel.js");
const contentParticle_js_1 = require("./contentParticle.js");
class DTDName {
name;
cardinality;
constructor(name) {
this.name = name;
this.cardinality = ContentModel_js_1.Cardinality.NONE;
}
getName() {
return this.name;
}
getType() {
return contentParticle_js_1.ContentParticleType.NAME;
}
addParticle(particle) {
// TODO: implement if needed
}
getParticles() {
let result = new Array();
result.push(this);
return result;
}
getChildren() {
const children = new Set();
children.add(this.name);
return children;
}
getCardinality() {
return this.cardinality;
}
setCardinality(cardinality) {
this.cardinality = cardinality;
}
toString() {
switch (this.cardinality) {
case ContentModel_js_1.Cardinality.NONE:
return this.name;
case ContentModel_js_1.Cardinality.OPTIONAL:
return this.name + '?';
case ContentModel_js_1.Cardinality.ONEMANY:
return this.name + '+';
case ContentModel_js_1.Cardinality.ZEROMANY:
return this.name + '*';
default:
// ignore
return '';
}
}
}
exports.DTDName = DTDName;
//# sourceMappingURL=dtdName.js.map