XmlEntityRef.js
3.96 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
var utils_1 = require("../utils");
var validate_1 = require("../validate");
var XmlNode_1 = require("./XmlNode");
/**
* Represents an XML entity reference.
*
* An XML entity reference is structured as follows, where
* `{entity}` is name of the entity to be referenced:
*
* ```xml
* &{entity};
* ```
*
* The `{entity}` value is a property of this node.
*
* XmlEntityRef nodes cannot have any children.
*/
var XmlEntityRef = (function (_super) {
__extends(XmlEntityRef, _super);
/**
* Initializes a new instance of the {@link XmlEntityRef} class.
*
* @param entity The entity to be referenced.
*/
function XmlEntityRef(entity) {
var _this = _super.call(this) || this;
_this.entity = entity;
return _this;
}
Object.defineProperty(XmlEntityRef.prototype, "entity", {
/**
* Gets the entity to be referenced.
*
* @returns The entity to be referenced.
*/
get: function () {
return this._entity;
},
/**
* Sets the entity to be referenced.
*
* @param entity The entity to be referenced.
*/
set: function (entity) {
if (!utils_1.isString(entity)) {
throw new TypeError("entity should be a string");
}
else if (!validate_1.validateName(entity)) {
throw new Error("entity should not contain characters" +
" not allowed in XML names");
}
this._entity = entity;
},
enumerable: true,
configurable: true
});
/**
* Throws an exception since {@link XmlEntityRef} nodes cannot have any
* children.
*
* @returns This method does not return.
*/
XmlEntityRef.prototype.children = function () {
throw new Error("XmlEntityRef nodes cannot have children");
};
/**
* Throws an exception since {@link XmlEntityRef} nodes cannot have any
* children.
*
* @param node This parameter is unused.
* @param index This parameter is unused.
*
* @returns This method does not return.
*/
XmlEntityRef.prototype.insertChild = function (node, index) {
throw new Error("XmlEntityRef nodes cannot have children");
};
/**
* Throws an exception since {@link XmlEntityRef} nodes cannot have any
* children.
*
* @param node This parameter is unused.
*
* @returns This method does not return.
*/
XmlEntityRef.prototype.removeChild = function (node) {
throw new Error("XmlEntityRef nodes cannot have children");
};
/**
* Throws an exception since {@link XmlEntityRef} nodes cannot have any
* children.
*
* @param index This parameter is unused.
*
* @returns This method does not return.
*/
XmlEntityRef.prototype.removeChildAtIndex = function (index) {
throw new Error("XmlEntityRef nodes cannot have children");
};
/**
* Returns an XML string representation of this node.
*
* @param options Formatting options for the string representation.
*
* @returns {string} An XML string representation of this node.
*/
XmlEntityRef.prototype.toString = function (options) {
if (options === void 0) { options = {}; }
return "&" + this.entity + ";";
};
return XmlEntityRef;
}(XmlNode_1.default));
exports.default = XmlEntityRef;