xslt-processor 1.0.1 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -0
- package/dom/functions.d.ts +12 -0
- package/dom/functions.js +54 -9
- package/dom/functions.js.map +1 -1
- package/dom/index.d.ts +1 -0
- package/dom/index.js +1 -0
- package/dom/index.js.map +1 -1
- package/dom/util.d.ts +0 -21
- package/dom/util.js +4 -169
- package/dom/util.js.map +1 -1
- package/dom/xdocument.d.ts +3 -2
- package/dom/xdocument.js +5 -0
- package/dom/xdocument.js.map +1 -1
- package/dom/xml-functions.d.ts +46 -0
- package/dom/xml-functions.js +317 -0
- package/dom/xml-functions.js.map +1 -0
- package/dom/xnode.d.ts +36 -12
- package/dom/xnode.js +56 -7
- package/dom/xnode.js.map +1 -1
- package/index.d.ts +1 -2
- package/index.js +1 -2
- package/index.js.map +1 -1
- package/package.json +4 -2
- package/umd/dom/functions.d.ts +12 -0
- package/umd/dom/index.d.ts +1 -0
- package/umd/dom/util.d.ts +0 -21
- package/umd/dom/xdocument.d.ts +3 -2
- package/umd/dom/xml-functions.d.ts +46 -0
- package/umd/dom/xnode.d.ts +36 -12
- package/umd/index.d.ts +1 -2
- package/umd/xpath/expr-context.d.ts +6 -7
- package/umd/xpath/expressions/function-call-expr.d.ts +34 -34
- package/umd/xpath/expressions/location-expr.d.ts +1 -1
- package/umd/xpath/expressions/step-expr.d.ts +1 -1
- package/umd/xpath/node-test-element-or-attribute.d.ts +2 -1
- package/umd/xpath/node-test-name.d.ts +1 -1
- package/umd/xpath/xpath.d.ts +4 -4
- package/umd/xslt-processor.js +15 -1
- package/umd/xslt-processor.js.map +1 -1
- package/umd/xslt.d.ts +52 -50
- package/xpath/expr-context.d.ts +6 -7
- package/xpath/expr-context.js +7 -9
- package/xpath/expr-context.js.map +1 -1
- package/xpath/expressions/binary-expr.js +6 -6
- package/xpath/expressions/binary-expr.js.map +1 -1
- package/xpath/expressions/filter-expr.js +1 -1
- package/xpath/expressions/filter-expr.js.map +1 -1
- package/xpath/expressions/function-call-expr.d.ts +34 -34
- package/xpath/expressions/function-call-expr.js +24 -37
- package/xpath/expressions/function-call-expr.js.map +1 -1
- package/xpath/expressions/location-expr.d.ts +1 -1
- package/xpath/expressions/location-expr.js +4 -4
- package/xpath/expressions/location-expr.js.map +1 -1
- package/xpath/expressions/path-expr.js +6 -8
- package/xpath/expressions/path-expr.js.map +1 -1
- package/xpath/expressions/step-expr.d.ts +1 -1
- package/xpath/expressions/step-expr.js +11 -12
- package/xpath/expressions/step-expr.js.map +1 -1
- package/xpath/node-test-element-or-attribute.d.ts +2 -1
- package/xpath/node-test-element-or-attribute.js +3 -2
- package/xpath/node-test-element-or-attribute.js.map +1 -1
- package/xpath/node-test-name.d.ts +1 -1
- package/xpath/node-test-name.js +4 -6
- package/xpath/node-test-name.js.map +1 -1
- package/xpath/values/boolean-value.js.map +1 -1
- package/xpath/values/node-set-value.js +2 -2
- package/xpath/values/node-set-value.js.map +1 -1
- package/xpath/values/number-value.js.map +1 -1
- package/xpath/xpath.d.ts +4 -4
- package/xpath/xpath.js +26 -27
- package/xpath/xpath.js.map +1 -1
- package/xslt.d.ts +52 -50
- package/xslt.js +206 -186
- package/xslt.js.map +1 -1
package/README.md
CHANGED
|
@@ -2,6 +2,19 @@
|
|
|
2
2
|
|
|
3
3
|
_A JavaScript XSLT processor without native library dependencies._
|
|
4
4
|
|
|
5
|
+
<p align="center">
|
|
6
|
+
<a href="https://github.com/DesignLiquido/xslt-processor/issues" target="_blank">
|
|
7
|
+
<img src="https://img.shields.io/github/issues/Designliquido/xslt-processor" />
|
|
8
|
+
</a>
|
|
9
|
+
<img src="https://img.shields.io/github/stars/Designliquido/xslt-processor" />
|
|
10
|
+
<img src="https://img.shields.io/github/forks/Designliquido/xslt-processor" />
|
|
11
|
+
<a href="https://www.npmjs.com/package/xslt-processor" target="_blank">
|
|
12
|
+
<img src="https://img.shields.io/npm/v/xslt-processor" />
|
|
13
|
+
</a>
|
|
14
|
+
<img src="https://img.shields.io/npm/dw/xslt-processor" />
|
|
15
|
+
<img src="https://img.shields.io/github/license/DesignLiquido/xslt-processor" />
|
|
16
|
+
</p>
|
|
17
|
+
|
|
5
18
|
## How to
|
|
6
19
|
|
|
7
20
|
Install xslt-processor using npm or yarn:
|
package/dom/functions.d.ts
CHANGED
|
@@ -1,3 +1,15 @@
|
|
|
1
1
|
import { XDocument } from "./xdocument";
|
|
2
|
+
import { XNode } from './xnode';
|
|
3
|
+
export declare function domGetAttributeValue(node: any, name: any): any;
|
|
4
|
+
export declare function domSetAttribute(node: XNode, name: any, value: any): void;
|
|
5
|
+
export declare function domSetTransformedAttribute(node: XNode, name: any, value: any): void;
|
|
6
|
+
export declare function domAppendChild(node: XNode, child: any): void;
|
|
7
|
+
export declare function domAppendTransformedChild(node: XNode, child: any): void;
|
|
8
|
+
export declare function domCreateTextNode(node: XDocument, text: string): any;
|
|
9
|
+
export declare function domCreateTransformedTextNode(node: XDocument, text: string): any;
|
|
10
|
+
export declare function domCreateElement(doc: any, name: any): any;
|
|
11
|
+
export declare function domCreateCDATASection(doc: any, data: any): any;
|
|
12
|
+
export declare function domCreateComment(doc: any, text: any): any;
|
|
13
|
+
export declare function domCreateDocumentFragment(doc: XDocument): XNode;
|
|
2
14
|
export declare function domTraverseElements(node: any, opt_pre: any, opt_post: any): boolean;
|
|
3
15
|
export declare function xmlParse(xml: any): XDocument;
|
package/dom/functions.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.xmlParse = exports.domTraverseElements = void 0;
|
|
6
|
+
exports.xmlParse = exports.domTraverseElements = exports.domCreateDocumentFragment = exports.domCreateComment = exports.domCreateCDATASection = exports.domCreateElement = exports.domCreateTransformedTextNode = exports.domCreateTextNode = exports.domAppendTransformedChild = exports.domAppendChild = exports.domSetTransformedAttribute = exports.domSetAttribute = exports.domGetAttributeValue = void 0;
|
|
7
7
|
// Copyright 2023 Design Liquido
|
|
8
8
|
// Copyright 2018 Johannes Wilm
|
|
9
9
|
// Copyright 2005 Google Inc.
|
|
@@ -22,6 +22,51 @@ var XML10_TAGNAME_REGEXP = new RegExp("^(".concat(xmltoken_1.XML10_NAME, ")"));
|
|
|
22
22
|
var XML10_ATTRIBUTE_REGEXP = new RegExp(xmltoken_1.XML10_ATTRIBUTE, 'g');
|
|
23
23
|
var XML11_TAGNAME_REGEXP = new RegExp("^(".concat(xmltoken_1.XML11_NAME, ")"));
|
|
24
24
|
var XML11_ATTRIBUTE_REGEXP = new RegExp(xmltoken_1.XML11_ATTRIBUTE, 'g');
|
|
25
|
+
// Wrapper around DOM methods so we can condense their invocations.
|
|
26
|
+
function domGetAttributeValue(node, name) {
|
|
27
|
+
return node.getAttributeValue(name);
|
|
28
|
+
}
|
|
29
|
+
exports.domGetAttributeValue = domGetAttributeValue;
|
|
30
|
+
function domSetAttribute(node, name, value) {
|
|
31
|
+
return node.setAttribute(name, value);
|
|
32
|
+
}
|
|
33
|
+
exports.domSetAttribute = domSetAttribute;
|
|
34
|
+
function domSetTransformedAttribute(node, name, value) {
|
|
35
|
+
return node.setTransformedAttribute(name, value);
|
|
36
|
+
}
|
|
37
|
+
exports.domSetTransformedAttribute = domSetTransformedAttribute;
|
|
38
|
+
function domAppendChild(node, child) {
|
|
39
|
+
return node.appendChild(child);
|
|
40
|
+
}
|
|
41
|
+
exports.domAppendChild = domAppendChild;
|
|
42
|
+
function domAppendTransformedChild(node, child) {
|
|
43
|
+
return node.appendTransformedChild(child);
|
|
44
|
+
}
|
|
45
|
+
exports.domAppendTransformedChild = domAppendTransformedChild;
|
|
46
|
+
function domCreateTextNode(node, text) {
|
|
47
|
+
return node.createTextNode(text);
|
|
48
|
+
}
|
|
49
|
+
exports.domCreateTextNode = domCreateTextNode;
|
|
50
|
+
function domCreateTransformedTextNode(node, text) {
|
|
51
|
+
return node.createTransformedTextNode(text);
|
|
52
|
+
}
|
|
53
|
+
exports.domCreateTransformedTextNode = domCreateTransformedTextNode;
|
|
54
|
+
function domCreateElement(doc, name) {
|
|
55
|
+
return doc.createElement(name);
|
|
56
|
+
}
|
|
57
|
+
exports.domCreateElement = domCreateElement;
|
|
58
|
+
function domCreateCDATASection(doc, data) {
|
|
59
|
+
return doc.createCDATASection(data);
|
|
60
|
+
}
|
|
61
|
+
exports.domCreateCDATASection = domCreateCDATASection;
|
|
62
|
+
function domCreateComment(doc, text) {
|
|
63
|
+
return doc.createComment(text);
|
|
64
|
+
}
|
|
65
|
+
exports.domCreateComment = domCreateComment;
|
|
66
|
+
function domCreateDocumentFragment(doc) {
|
|
67
|
+
return doc.createDocumentFragment();
|
|
68
|
+
}
|
|
69
|
+
exports.domCreateDocumentFragment = domCreateDocumentFragment;
|
|
25
70
|
// Traverses the element nodes in the DOM section underneath the given
|
|
26
71
|
// node and invokes the given callbacks as methods on every element
|
|
27
72
|
// node encountered. Function opt_pre is invoked before a node's
|
|
@@ -110,13 +155,13 @@ function xmlParse(xml) {
|
|
|
110
155
|
else {
|
|
111
156
|
var empty = text.match(regex_empty);
|
|
112
157
|
var tagname = regex_tagname.exec(text)[1];
|
|
113
|
-
var node =
|
|
158
|
+
var node = domCreateElement(xmldoc, tagname);
|
|
114
159
|
var att = void 0;
|
|
115
160
|
while ((att = regex_attribute.exec(text))) {
|
|
116
161
|
var val = he_1.default.decode(att[5] || att[7] || '');
|
|
117
|
-
|
|
162
|
+
domSetAttribute(node, att[1], val);
|
|
118
163
|
}
|
|
119
|
-
|
|
164
|
+
domAppendChild(parent, node);
|
|
120
165
|
if (!empty) {
|
|
121
166
|
parent = node;
|
|
122
167
|
stack.push(node);
|
|
@@ -149,21 +194,21 @@ function xmlParse(xml) {
|
|
|
149
194
|
else if (!tag && char === '<') {
|
|
150
195
|
var text = xml.slice(start, i);
|
|
151
196
|
if (text && parent != root) {
|
|
152
|
-
|
|
197
|
+
domAppendChild(parent, domCreateTextNode(xmldoc, text));
|
|
153
198
|
}
|
|
154
199
|
if (xml.slice(i + 1, i + 4) === '!--') {
|
|
155
200
|
var endTagIndex = xml.slice(i + 4).indexOf('-->');
|
|
156
201
|
if (endTagIndex) {
|
|
157
|
-
var node =
|
|
158
|
-
|
|
202
|
+
var node = domCreateComment(xmldoc, xml.slice(i + 4, i + endTagIndex + 4));
|
|
203
|
+
domAppendChild(parent, node);
|
|
159
204
|
i += endTagIndex + 6;
|
|
160
205
|
}
|
|
161
206
|
}
|
|
162
207
|
else if (xml.slice(i + 1, i + 9) === '![CDATA[') {
|
|
163
208
|
var endTagIndex = xml.slice(i + 9).indexOf(']]>');
|
|
164
209
|
if (endTagIndex) {
|
|
165
|
-
var node =
|
|
166
|
-
|
|
210
|
+
var node = domCreateCDATASection(xmldoc, xml.slice(i + 9, i + endTagIndex + 9));
|
|
211
|
+
domAppendChild(parent, node);
|
|
167
212
|
i += endTagIndex + 11;
|
|
168
213
|
}
|
|
169
214
|
}
|
package/dom/functions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../src/dom/functions.ts"],"names":[],"mappings":";;;;;;AAAA,gCAAgC;AAChC,+BAA+B;AAC/B,6BAA6B;AAC7B,sBAAsB;AACtB,EAAE;AACF,uDAAuD;AACvD,EAAE;AACF,mEAAmE;AACnE,qEAAqE;AACrE,0CAAoB;AAEpB,0CAAgD;AAEhD,+
|
|
1
|
+
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../src/dom/functions.ts"],"names":[],"mappings":";;;;;;AAAA,gCAAgC;AAChC,+BAA+B;AAC/B,6BAA6B;AAC7B,sBAAsB;AACtB,EAAE;AACF,uDAAuD;AACvD,EAAE;AACF,mEAAmE;AACnE,qEAAqE;AACrE,0CAAoB;AAEpB,0CAAgD;AAEhD,+BAEgB;AAChB,yCAAwC;AACxC,uCAOoB;AAGpB,IAAM,oBAAoB,GAAG,IAAI,MAAM,CAAC,YAAK,qBAAU,MAAG,CAAC,CAAC;AAC5D,IAAM,sBAAsB,GAAG,IAAI,MAAM,CAAC,0BAAe,EAAE,GAAG,CAAC,CAAC;AAEhE,IAAM,oBAAoB,GAAG,IAAI,MAAM,CAAC,YAAK,qBAAU,MAAG,CAAC,CAAC;AAC5D,IAAM,sBAAsB,GAAG,IAAI,MAAM,CAAC,0BAAe,EAAE,GAAG,CAAC,CAAC;AAEhE,mEAAmE;AACnE,SAAgB,oBAAoB,CAAC,IAAS,EAAE,IAAS;IACrD,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC;AAFD,oDAEC;AAED,SAAgB,eAAe,CAAC,IAAW,EAAE,IAAS,EAAE,KAAU;IAC9D,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC1C,CAAC;AAFD,0CAEC;AAED,SAAgB,0BAA0B,CAAC,IAAW,EAAE,IAAS,EAAE,KAAU;IACzE,OAAO,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACrD,CAAC;AAFD,gEAEC;AAED,SAAgB,cAAc,CAAC,IAAW,EAAE,KAAU;IAClD,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AACnC,CAAC;AAFD,wCAEC;AAED,SAAgB,yBAAyB,CAAC,IAAW,EAAE,KAAU;IAC7D,OAAO,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;AAC9C,CAAC;AAFD,8DAEC;AAED,SAAgB,iBAAiB,CAAC,IAAe,EAAE,IAAY;IAC3D,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;AACrC,CAAC;AAFD,8CAEC;AAED,SAAgB,4BAA4B,CAAC,IAAe,EAAE,IAAY;IACtE,OAAO,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;AAChD,CAAC;AAFD,oEAEC;AAED,SAAgB,gBAAgB,CAAC,GAAQ,EAAE,IAAS;IAChD,OAAO,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AACnC,CAAC;AAFD,4CAEC;AAED,SAAgB,qBAAqB,CAAC,GAAQ,EAAE,IAAS;IACrD,OAAO,GAAG,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC;AAFD,sDAEC;AAED,SAAgB,gBAAgB,CAAC,GAAQ,EAAE,IAAS;IAChD,OAAO,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AACnC,CAAC;AAFD,4CAEC;AAED,SAAgB,yBAAyB,CAAC,GAAc;IACpD,OAAO,GAAG,CAAC,sBAAsB,EAAE,CAAC;AACxC,CAAC;AAFD,8DAEC;AAED,sEAAsE;AACtE,mEAAmE;AACnE,gEAAgE;AAChE,6DAA6D;AAC7D,oEAAoE;AACpE,kDAAkD;AAClD,8CAA8C;AAC9C,SAAgB,mBAAmB,CAAC,IAAS,EAAE,OAAY,EAAE,QAAa;IACtE,IAAI,GAAG,CAAC;IACR,IAAI,OAAO,EAAE;QACT,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC/B,IAAI,OAAO,GAAG,IAAI,SAAS,IAAI,CAAC,GAAG,EAAE;YACjC,OAAO,KAAK,CAAC;SAChB;KACJ;IAED,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE;QAChD,IAAI,CAAC,CAAC,QAAQ,IAAI,4BAAgB,EAAE;YAChC,GAAG,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC3D,IAAI,OAAO,GAAG,IAAI,SAAS,IAAI,CAAC,GAAG,EAAE;gBACjC,OAAO,KAAK,CAAC;aAChB;SACJ;KACJ;IAED,IAAI,QAAQ,EAAE;QACV,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAChC,IAAI,OAAO,GAAG,IAAI,SAAS,IAAI,CAAC,GAAG,EAAE;YACjC,OAAO,KAAK,CAAC;SAChB;KACJ;AACL,CAAC;AAxBD,kDAwBC;AAED,8EAA8E;AAC9E,0CAA0C;AAC1C,SAAgB,QAAQ,CAAC,GAAQ;IAC7B,IAAM,WAAW,GAAG,KAAK,CAAC;IAE1B,IAAI,aAAa,CAAC;IAClB,IAAI,eAAe,CAAC;IACpB,IAAI,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;QACtB,sDAAsD;QACtD,2BAA2B;QAC3B,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,6BAAkB,CAAC,CAAC,IAAI,CAAC,EAAE;YACjD,aAAa,GAAG,oBAAoB,CAAC;YACrC,eAAe,GAAG,sBAAsB,CAAC;SAC5C;aAAM,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,6BAAkB,CAAC,CAAC,IAAI,CAAC,EAAE;YACxD,aAAa,GAAG,oBAAoB,CAAC;YACrC,eAAe,GAAG,sBAAsB,CAAC;SAC5C;aAAM;YACH,qDAAqD;YACrD,8DAA8D;YAC9D,MAAM,oDAAoD,CAAC;SAC9D;KACJ;SAAM;QACH,+DAA+D;QAC/D,aAAa,GAAG,oBAAoB,CAAC;QACrC,eAAe,GAAG,sBAAsB,CAAC;KAC5C;IAED,IAAM,MAAM,GAAG,IAAI,qBAAS,EAAE,CAAC;IAC/B,IAAM,IAAI,GAAG,MAAM,CAAC;IACpB,IAAM,KAAK,GAAG,EAAE,CAAC;IAEjB,IAAI,MAAM,GAAG,IAAI,CAAC;IAClB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEnB,IAAI,GAAG,GAAG,KAAK,EACX,MAAM,GAAG,KAAK,EACd,YAAY,GAAG,KAAK,EACpB,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;QACjC,IAAI,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,KAAK,GAAG,EAAE;YACtC,MAAM,GAAG,CAAC,MAAM,CAAC;SACpB;aAAM,IAAI,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,KAAK,GAAG,EAAE;YACvC,YAAY,GAAG,CAAC,YAAY,CAAC;SAChC;aAAM,IAAI,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE;YACxD,IAAI,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC/B,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;gBACvB,KAAK,CAAC,GAAG,EAAE,CAAC;gBACZ,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;aACpC;iBAAM,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;gBAC9B,qDAAqD;aACxD;iBAAM,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;gBAC9B,yCAAyC;aAC5C;iBAAM;gBACH,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBACtC,IAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5C,IAAI,IAAI,GAAG,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAE7C,IAAI,GAAG,SAAA,CAAC;gBACR,OAAO,CAAC,GAAG,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;oBACvC,IAAM,GAAG,GAAG,YAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC9C,eAAe,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;iBACtC;gBAED,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBAC7B,IAAI,CAAC,KAAK,EAAE;oBACR,MAAM,GAAG,IAAI,CAAC;oBACd,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACpB;gBAED,IAAM,YAAY,GAAG,IAAA,qBAAc,EAAC,IAAI,CAAC,CAAC;gBAC1C,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE;oBACtB,IAAI,IAAI,CAAC,MAAM,IAAI,YAAY;wBAAE,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAC/E,0CAA0C;iBAC7C;qBAAM;oBACH,IAAI,EAAE,IAAI,YAAY;wBAAE,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;iBAChE;gBACD,KAAK,IAAI,GAAC,GAAG,CAAC,EAAE,GAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,GAAC,EAAE;oBAC7C,IAAI,IAAI,CAAC,UAAU,CAAC,GAAC,CAAC,CAAC,MAAM,KAAK,IAAI,EAAE;wBACpC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAC,CAAC,CAAC,MAAM,IAAI,YAAY,EAAE;4BAC3C,IAAI,CAAC,UAAU,CAAC,GAAC,CAAC,CAAC,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,GAAC,CAAC,CAAC,MAAM,CAAC,CAAC;yBAC7E;wBACD,0BAA0B;qBAC7B;oBACD,wEAAwE;iBAC3E;aACJ;YACD,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,GAAG,GAAG,KAAK,CAAC;YACZ,MAAM,GAAG,KAAK,CAAC;YACf,YAAY,GAAG,KAAK,CAAC;SACxB;aAAM,IAAI,CAAC,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE;YAC7B,IAAI,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC/B,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,EAAE;gBACxB,cAAc,CAAC,MAAM,EAAE,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;aAC3D;YACD,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,EAAE;gBACnC,IAAI,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAClD,IAAI,WAAW,EAAE;oBACb,IAAI,IAAI,GAAG,gBAAgB,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC;oBAC3E,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;oBAC7B,CAAC,IAAI,WAAW,GAAG,CAAC,CAAC;iBACxB;aACJ;iBAAM,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,UAAU,EAAE;gBAC/C,IAAI,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAClD,IAAI,WAAW,EAAE;oBACb,IAAI,IAAI,GAAG,qBAAqB,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC;oBAChF,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;oBAC7B,CAAC,IAAI,WAAW,GAAG,EAAE,CAAC;iBACzB;aACJ;iBAAM;gBACH,GAAG,GAAG,IAAI,CAAC;aACd;YACD,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;SACjB;KACJ;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AApHD,4BAoHC;AAED,kEAAkE"}
|
package/dom/index.d.ts
CHANGED
package/dom/index.js
CHANGED
|
@@ -16,5 +16,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./functions"), exports);
|
|
18
18
|
__exportStar(require("./xdocument"), exports);
|
|
19
|
+
__exportStar(require("./xml-functions"), exports);
|
|
19
20
|
__exportStar(require("./xnode"), exports);
|
|
20
21
|
//# sourceMappingURL=index.js.map
|
package/dom/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dom/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,8CAA4B;AAC5B,0CAAwB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dom/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,8CAA4B;AAC5B,kDAAgC;AAChC,0CAAwB"}
|
package/dom/util.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { XDocument } from './xdocument';
|
|
2
1
|
export declare function assert(b: any): void;
|
|
3
2
|
export declare function mapExec(array: any, func: any): void;
|
|
4
3
|
export declare function mapExpr(array: any, func: any): any[];
|
|
@@ -11,26 +10,6 @@ export declare function copyArray(dst: any, src: any): void;
|
|
|
11
10
|
* function, we ignore any such attributes that has an empty string value.
|
|
12
11
|
*/
|
|
13
12
|
export declare function copyArrayIgnoringAttributesWithoutValue(dst: any, src: any): void;
|
|
14
|
-
export declare function xmlValue(node: any, disallowBrowserSpecificOptimization?: boolean): any;
|
|
15
|
-
export declare function xmlText(node: any, opt_cdata?: boolean): string;
|
|
16
|
-
export declare function xmlEscapeText(s: any): string;
|
|
17
|
-
/**
|
|
18
|
-
* Wrapper function to access the owner document uniformly for document
|
|
19
|
-
* and other nodes: for the document node, the owner document is the
|
|
20
|
-
* node itself, for all others it's the ownerDocument property.
|
|
21
|
-
*
|
|
22
|
-
* @param {Node} node
|
|
23
|
-
* @return {Document}
|
|
24
|
-
*/
|
|
25
|
-
export declare function xmlOwnerDocument(node: any): any;
|
|
26
|
-
export declare function domGetAttribute(node: any, name: any): any;
|
|
27
|
-
export declare function domSetAttribute(node: any, name: any, value: any): any;
|
|
28
|
-
export declare function domAppendChild(node: any, child: any): any;
|
|
29
|
-
export declare function domCreateTextNode(doc: any, text: any): any;
|
|
30
|
-
export declare function domCreateElement(doc: any, name: any): any;
|
|
31
|
-
export declare function domCreateCDATASection(doc: any, data: any): any;
|
|
32
|
-
export declare function domCreateComment(doc: any, text: any): any;
|
|
33
|
-
export declare function domCreateDocumentFragment(doc: XDocument): any;
|
|
34
13
|
export declare function regExpEscape(text: string): string;
|
|
35
14
|
/**
|
|
36
15
|
* Determines whether a predicate expression contains a "positional selector".
|
package/dom/util.js
CHANGED
|
@@ -9,8 +9,7 @@
|
|
|
9
9
|
// Dummy implmentation for the logging functions. Replace by something
|
|
10
10
|
// useful when you want to debug.
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.namespaceMapAt = exports.predicateExprHasPositionalSelector = exports.regExpEscape = exports.
|
|
13
|
-
var constants_1 = require("../constants");
|
|
12
|
+
exports.namespaceMapAt = exports.predicateExprHasPositionalSelector = exports.regExpEscape = exports.copyArrayIgnoringAttributesWithoutValue = exports.copyArray = exports.reverseInplace = exports.mapExpr = exports.mapExec = exports.assert = void 0;
|
|
14
13
|
var expressions_1 = require("../xpath/expressions");
|
|
15
14
|
// Throws an exception if false.
|
|
16
15
|
function assert(b) {
|
|
@@ -76,170 +75,6 @@ function copyArrayIgnoringAttributesWithoutValue(dst, src) {
|
|
|
76
75
|
}
|
|
77
76
|
}
|
|
78
77
|
exports.copyArrayIgnoringAttributesWithoutValue = copyArrayIgnoringAttributesWithoutValue;
|
|
79
|
-
// Returns the text value of a node; for nodes without children this
|
|
80
|
-
// is the nodeValue, for nodes with children this is the concatenation
|
|
81
|
-
// of the value of all children. Browser-specific optimizations are used by
|
|
82
|
-
// default; they can be disabled by passing "true" in as the second parameter.
|
|
83
|
-
function xmlValue(node, disallowBrowserSpecificOptimization) {
|
|
84
|
-
if (disallowBrowserSpecificOptimization === void 0) { disallowBrowserSpecificOptimization = false; }
|
|
85
|
-
if (!node) {
|
|
86
|
-
return '';
|
|
87
|
-
}
|
|
88
|
-
var ret = '';
|
|
89
|
-
if (node.nodeType == constants_1.DOM_TEXT_NODE || node.nodeType == constants_1.DOM_CDATA_SECTION_NODE) {
|
|
90
|
-
ret += node.nodeValue;
|
|
91
|
-
}
|
|
92
|
-
else if (node.nodeType == constants_1.DOM_ATTRIBUTE_NODE) {
|
|
93
|
-
ret += node.nodeValue;
|
|
94
|
-
}
|
|
95
|
-
else if (node.nodeType == constants_1.DOM_ELEMENT_NODE ||
|
|
96
|
-
node.nodeType == constants_1.DOM_DOCUMENT_NODE ||
|
|
97
|
-
node.nodeType == constants_1.DOM_DOCUMENT_FRAGMENT_NODE) {
|
|
98
|
-
if (!disallowBrowserSpecificOptimization) {
|
|
99
|
-
// IE, Safari, Opera, and friends
|
|
100
|
-
var innerText = node.innerText;
|
|
101
|
-
if (innerText != undefined) {
|
|
102
|
-
return innerText;
|
|
103
|
-
}
|
|
104
|
-
// Firefox
|
|
105
|
-
var textContent = node.textContent;
|
|
106
|
-
if (textContent != undefined) {
|
|
107
|
-
return textContent;
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
// pobrecito!
|
|
111
|
-
var len = node.childNodes.length;
|
|
112
|
-
for (var i = 0; i < len; ++i) {
|
|
113
|
-
ret += xmlValue(node.childNodes[i]);
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
return ret;
|
|
117
|
-
}
|
|
118
|
-
exports.xmlValue = xmlValue;
|
|
119
|
-
// Returns the representation of a node as XML text.
|
|
120
|
-
function xmlText(node, opt_cdata) {
|
|
121
|
-
if (opt_cdata === void 0) { opt_cdata = false; }
|
|
122
|
-
var buf = [];
|
|
123
|
-
xmlTextR(node, buf, opt_cdata);
|
|
124
|
-
return buf.join('');
|
|
125
|
-
}
|
|
126
|
-
exports.xmlText = xmlText;
|
|
127
|
-
function xmlTextR(node, buf, cdata) {
|
|
128
|
-
if (node.nodeType == constants_1.DOM_TEXT_NODE) {
|
|
129
|
-
buf.push(xmlEscapeText(node.nodeValue));
|
|
130
|
-
}
|
|
131
|
-
else if (node.nodeType == constants_1.DOM_CDATA_SECTION_NODE) {
|
|
132
|
-
if (cdata) {
|
|
133
|
-
buf.push(node.nodeValue);
|
|
134
|
-
}
|
|
135
|
-
else {
|
|
136
|
-
buf.push("<![CDATA[".concat(node.nodeValue, "]]>"));
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
else if (node.nodeType == constants_1.DOM_COMMENT_NODE) {
|
|
140
|
-
buf.push("<!--".concat(node.nodeValue, "-->"));
|
|
141
|
-
}
|
|
142
|
-
else if (node.nodeType == constants_1.DOM_ELEMENT_NODE) {
|
|
143
|
-
buf.push("<".concat(xmlFullNodeName(node)));
|
|
144
|
-
for (var i = 0; i < node.attributes.length; ++i) {
|
|
145
|
-
var a = node.attributes[i];
|
|
146
|
-
if (a && a.nodeName && a.nodeValue) {
|
|
147
|
-
buf.push(" ".concat(xmlFullNodeName(a), "=\"").concat(xmlEscapeAttr(a.nodeValue), "\""));
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
if (node.childNodes.length == 0) {
|
|
151
|
-
buf.push('/>');
|
|
152
|
-
}
|
|
153
|
-
else {
|
|
154
|
-
buf.push('>');
|
|
155
|
-
for (var i = 0; i < node.childNodes.length; ++i) {
|
|
156
|
-
xmlTextR(node.childNodes[i], buf, cdata);
|
|
157
|
-
}
|
|
158
|
-
buf.push("</".concat(xmlFullNodeName(node), ">"));
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
else if (node.nodeType == constants_1.DOM_DOCUMENT_NODE || node.nodeType == constants_1.DOM_DOCUMENT_FRAGMENT_NODE) {
|
|
162
|
-
for (var i = 0; i < node.childNodes.length; ++i) {
|
|
163
|
-
xmlTextR(node.childNodes[i], buf, cdata);
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
function xmlFullNodeName(n) {
|
|
168
|
-
if (n.prefix && n.nodeName.indexOf("".concat(n.prefix, ":")) != 0) {
|
|
169
|
-
return "".concat(n.prefix, ":").concat(n.nodeName);
|
|
170
|
-
}
|
|
171
|
-
else {
|
|
172
|
-
return n.nodeName;
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
// Escape XML special markup chracters: tag delimiter < > and entity
|
|
176
|
-
// reference start delimiter &. The escaped string can be used in XML
|
|
177
|
-
// text portions (i.e. between tags).
|
|
178
|
-
function xmlEscapeText(s) {
|
|
179
|
-
return "".concat(s)
|
|
180
|
-
.replace(/&/g, '&')
|
|
181
|
-
.replace(/&amp;/g, '&')
|
|
182
|
-
.replace(/</g, '<')
|
|
183
|
-
.replace(/>/g, '>');
|
|
184
|
-
}
|
|
185
|
-
exports.xmlEscapeText = xmlEscapeText;
|
|
186
|
-
// Escape XML special markup characters: tag delimiter < > entity
|
|
187
|
-
// reference start delimiter & and quotes ". The escaped string can be
|
|
188
|
-
// used in double quoted XML attribute value portions (i.e. in
|
|
189
|
-
// attributes within start tags).
|
|
190
|
-
function xmlEscapeAttr(s) {
|
|
191
|
-
return xmlEscapeText(s).replace(/"/g, '"');
|
|
192
|
-
}
|
|
193
|
-
/**
|
|
194
|
-
* Wrapper function to access the owner document uniformly for document
|
|
195
|
-
* and other nodes: for the document node, the owner document is the
|
|
196
|
-
* node itself, for all others it's the ownerDocument property.
|
|
197
|
-
*
|
|
198
|
-
* @param {Node} node
|
|
199
|
-
* @return {Document}
|
|
200
|
-
*/
|
|
201
|
-
function xmlOwnerDocument(node) {
|
|
202
|
-
if (node.nodeType == constants_1.DOM_DOCUMENT_NODE) {
|
|
203
|
-
return node;
|
|
204
|
-
}
|
|
205
|
-
else {
|
|
206
|
-
return node.ownerDocument;
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
exports.xmlOwnerDocument = xmlOwnerDocument;
|
|
210
|
-
// Wrapper around DOM methods so we can condense their invocations.
|
|
211
|
-
function domGetAttribute(node, name) {
|
|
212
|
-
return node.getAttribute(name);
|
|
213
|
-
}
|
|
214
|
-
exports.domGetAttribute = domGetAttribute;
|
|
215
|
-
function domSetAttribute(node, name, value) {
|
|
216
|
-
return node.setAttribute(name, value);
|
|
217
|
-
}
|
|
218
|
-
exports.domSetAttribute = domSetAttribute;
|
|
219
|
-
function domAppendChild(node, child) {
|
|
220
|
-
return node.appendChild(child);
|
|
221
|
-
}
|
|
222
|
-
exports.domAppendChild = domAppendChild;
|
|
223
|
-
function domCreateTextNode(doc, text) {
|
|
224
|
-
return doc.createTextNode(text);
|
|
225
|
-
}
|
|
226
|
-
exports.domCreateTextNode = domCreateTextNode;
|
|
227
|
-
function domCreateElement(doc, name) {
|
|
228
|
-
return doc.createElement(name);
|
|
229
|
-
}
|
|
230
|
-
exports.domCreateElement = domCreateElement;
|
|
231
|
-
function domCreateCDATASection(doc, data) {
|
|
232
|
-
return doc.createCDATASection(data);
|
|
233
|
-
}
|
|
234
|
-
exports.domCreateCDATASection = domCreateCDATASection;
|
|
235
|
-
function domCreateComment(doc, text) {
|
|
236
|
-
return doc.createComment(text);
|
|
237
|
-
}
|
|
238
|
-
exports.domCreateComment = domCreateComment;
|
|
239
|
-
function domCreateDocumentFragment(doc) {
|
|
240
|
-
return doc.createDocumentFragment();
|
|
241
|
-
}
|
|
242
|
-
exports.domCreateDocumentFragment = domCreateDocumentFragment;
|
|
243
78
|
/**
|
|
244
79
|
* Escape the special regular expression characters when the regular expression
|
|
245
80
|
* is specified as a string.
|
|
@@ -293,10 +128,10 @@ function exprReturnsNumberValue(expr) {
|
|
|
293
128
|
};
|
|
294
129
|
return isMember[expr.name.value];
|
|
295
130
|
}
|
|
296
|
-
|
|
131
|
+
if (expr instanceof expressions_1.UnaryMinusExpr) {
|
|
297
132
|
return true;
|
|
298
133
|
}
|
|
299
|
-
|
|
134
|
+
if (expr instanceof expressions_1.BinaryExpr) {
|
|
300
135
|
var isMember = {
|
|
301
136
|
'+': true,
|
|
302
137
|
'-': true,
|
|
@@ -306,7 +141,7 @@ function exprReturnsNumberValue(expr) {
|
|
|
306
141
|
};
|
|
307
142
|
return isMember[expr.op.value];
|
|
308
143
|
}
|
|
309
|
-
|
|
144
|
+
if (expr instanceof expressions_1.NumberExpr) {
|
|
310
145
|
return true;
|
|
311
146
|
}
|
|
312
147
|
return false;
|
package/dom/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/dom/util.ts"],"names":[],"mappings":";AAAA,gCAAgC;AAChC,+BAA+B;AAC/B,wBAAwB;AACxB,EAAE;AACF,uDAAuD;AACvD,EAAE;AACF,mDAAmD;AACnD,sEAAsE;AACtE,iCAAiC;;;
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/dom/util.ts"],"names":[],"mappings":"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"}
|
package/dom/xdocument.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { XNode } from
|
|
1
|
+
import { XNode } from './xnode';
|
|
2
2
|
export declare class XDocument extends XNode {
|
|
3
3
|
documentElement: any;
|
|
4
4
|
constructor();
|
|
@@ -6,8 +6,9 @@ export declare class XDocument extends XNode {
|
|
|
6
6
|
appendChild(node: any): void;
|
|
7
7
|
createElement(name: any): any;
|
|
8
8
|
createElementNS(namespace: any, name: any): any;
|
|
9
|
-
createDocumentFragment():
|
|
9
|
+
createDocumentFragment(): XNode;
|
|
10
10
|
createTextNode(value: any): any;
|
|
11
|
+
createTransformedTextNode(value: any): any;
|
|
11
12
|
createAttribute(name: any): any;
|
|
12
13
|
createAttributeNS(namespace: any, name: any): any;
|
|
13
14
|
createComment(data: any): any;
|
package/dom/xdocument.js
CHANGED
|
@@ -48,6 +48,11 @@ var XDocument = /** @class */ (function (_super) {
|
|
|
48
48
|
XDocument.prototype.createTextNode = function (value) {
|
|
49
49
|
return xnode_1.XNode.create(constants_1.DOM_TEXT_NODE, '#text', value, this);
|
|
50
50
|
};
|
|
51
|
+
XDocument.prototype.createTransformedTextNode = function (value) {
|
|
52
|
+
var node = xnode_1.XNode.create(constants_1.DOM_TEXT_NODE, '#text', value, this);
|
|
53
|
+
node.transformedNodeValue = value;
|
|
54
|
+
return node;
|
|
55
|
+
};
|
|
51
56
|
XDocument.prototype.createAttribute = function (name) {
|
|
52
57
|
return xnode_1.XNode.create(constants_1.DOM_ATTRIBUTE_NODE, name, null, this);
|
|
53
58
|
};
|
package/dom/xdocument.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xdocument.js","sourceRoot":"","sources":["../../src/dom/xdocument.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"xdocument.js","sourceRoot":"","sources":["../../src/dom/xdocument.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,0CAQsB;AACtB,iCAAgC;AAEhC;IAA+B,6BAAK;IAGhC;QAAA;QACI,6DAA6D;QAC7D,yBAAyB;QACzB,kBAAM,6BAAiB,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,SAEpD;QADG,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC;;IAChC,CAAC;IAED,yBAAK,GAAL;QACI,aAAK,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACpC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IAChC,CAAC;IAED,+BAAW,GAAX,UAAY,IAAS;QACjB,iBAAM,WAAW,YAAC,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,iCAAa,GAAb,UAAc,IAAS;QACnB,OAAO,aAAK,CAAC,MAAM,CAAC,4BAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5D,CAAC;IAED,mCAAe,GAAf,UAAgB,SAAc,EAAE,IAAS;QACrC,OAAO,aAAK,CAAC,MAAM,CAAC,4BAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IACvE,CAAC;IAED,0CAAsB,GAAtB;QACI,OAAO,aAAK,CAAC,MAAM,CAAC,sCAA0B,EAAE,oBAAoB,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACtF,CAAC;IAED,kCAAc,GAAd,UAAe,KAAU;QACrB,OAAO,aAAK,CAAC,MAAM,CAAC,yBAAa,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED,6CAAyB,GAAzB,UAA0B,KAAU;QAChC,IAAM,IAAI,GAAG,aAAK,CAAC,MAAM,CAAC,yBAAa,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAC/D,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAClC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,mCAAe,GAAf,UAAgB,IAAS;QACrB,OAAO,aAAK,CAAC,MAAM,CAAC,8BAAkB,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC9D,CAAC;IAED,qCAAiB,GAAjB,UAAkB,SAAc,EAAE,IAAS;QACvC,OAAO,aAAK,CAAC,MAAM,CAAC,8BAAkB,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IACzE,CAAC;IAED,iCAAa,GAAb,UAAc,IAAS;QACnB,OAAO,aAAK,CAAC,MAAM,CAAC,4BAAgB,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAClE,CAAC;IAED,sCAAkB,GAAlB,UAAmB,IAAS;QACxB,OAAO,aAAK,CAAC,MAAM,CAAC,kCAAsB,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC9E,CAAC;IACL,gBAAC;AAAD,CAAC,AAzDD,CAA+B,aAAK,GAyDnC;AAzDY,8BAAS"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { XNode } from './xnode';
|
|
2
|
+
import { XDocument } from './xdocument';
|
|
3
|
+
export declare function xmlValue(node: any, disallowBrowserSpecificOptimization?: boolean): any;
|
|
4
|
+
export declare function xmlValue2(node: any, disallowBrowserSpecificOptimization?: boolean): any;
|
|
5
|
+
/**
|
|
6
|
+
* Returns the representation of a node as XML text.
|
|
7
|
+
* @param node The starting node.
|
|
8
|
+
* @param opt_cdata If using CDATA configuration.
|
|
9
|
+
* @returns The XML string.
|
|
10
|
+
*/
|
|
11
|
+
export declare function xmlText(node: XNode, opt_cdata?: boolean): string;
|
|
12
|
+
/**
|
|
13
|
+
* Returns the representation of a node as XML text.
|
|
14
|
+
* @param node The starting node.
|
|
15
|
+
* @param opt_cdata If using CDATA configuration.
|
|
16
|
+
* @returns The XML string.
|
|
17
|
+
*/
|
|
18
|
+
export declare function xmlTransformedText(node: XNode, opt_cdata?: boolean): string;
|
|
19
|
+
/**
|
|
20
|
+
* Escape XML special markup chracters: tag delimiter < > and entity
|
|
21
|
+
* reference start delimiter &. The escaped string can be used in XML
|
|
22
|
+
* text portions (i.e. between tags).
|
|
23
|
+
* @param s The string to be escaped.
|
|
24
|
+
* @returns The escaped string.
|
|
25
|
+
*/
|
|
26
|
+
export declare function xmlEscapeText(s: string): string;
|
|
27
|
+
/**
|
|
28
|
+
* Wrapper function to access attribute values of template element
|
|
29
|
+
* nodes. Currently this calls he.decode because in some DOM
|
|
30
|
+
* implementations the return value of node.getAttributeValue()
|
|
31
|
+
* contains unresolved XML entities, although the DOM spec requires
|
|
32
|
+
* that entity references are resolved by the DOM.
|
|
33
|
+
* @param node TODO
|
|
34
|
+
* @param name TODO
|
|
35
|
+
* @returns TODO
|
|
36
|
+
*/
|
|
37
|
+
export declare function xmlGetAttribute(node: XNode, name: string): any;
|
|
38
|
+
/**
|
|
39
|
+
* Wrapper function to access the owner document uniformly for document
|
|
40
|
+
* and other nodes: for the document node, the owner document is the
|
|
41
|
+
* node itself, for all others it's the ownerDocument property.
|
|
42
|
+
*
|
|
43
|
+
* @param {XNode} node
|
|
44
|
+
* @return {XDocument}
|
|
45
|
+
*/
|
|
46
|
+
export declare function xmlOwnerDocument(node: XNode): XDocument;
|