@breakside/jskit 2022.22.3 → 2022.25.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/Frameworks/DOM.jsframework/Info.json +2 -2
- package/Frameworks/DOM.jsframework/JS/XMLSerializer.js +9 -4
- package/Frameworks/DOM.jsframework/io.breakside.JSKit.DOM-bundle.js +2 -2
- package/Frameworks/FontKit.jsframework/Info.json +2 -2
- package/Frameworks/FontKit.jsframework/io.breakside.JSKit.FontKit-bundle.js +2 -2
- package/Frameworks/Foundation.jsframework/Info.json +2 -2
- package/Frameworks/Foundation.jsframework/JS/JSAttributedString.js +279 -6
- package/Frameworks/Foundation.jsframework/JS/JSFileManager+Node.js +2 -2
- package/Frameworks/Foundation.jsframework/JS/JSFont.js +39 -15
- package/Frameworks/Foundation.jsframework/JS/JSFontDescriptor+HTML.js +8 -0
- package/Frameworks/Foundation.jsframework/JS/JSFontDescriptor.js +105 -27
- package/Frameworks/Foundation.jsframework/JS/JSParagraphStyle.js +71 -0
- package/Frameworks/Foundation.jsframework/JS/JSTextAttachment.js +1 -1
- package/Frameworks/Foundation.jsframework/JS/JSTextContainer.js +56 -29
- package/Frameworks/Foundation.jsframework/JS/JSTextFrame.js +2 -32
- package/Frameworks/Foundation.jsframework/JS/JSTextFramesetter.js +125 -22
- package/Frameworks/Foundation.jsframework/JS/JSTextLayoutManager.js +11 -3
- package/Frameworks/Foundation.jsframework/JS/JSTextLine.js +4 -3
- package/Frameworks/Foundation.jsframework/JS/JSTextRun.js +5 -3
- package/Frameworks/Foundation.jsframework/JS/JSTextTypesetter.js +41 -25
- package/Frameworks/Foundation.jsframework/JS/JSZip.js +97 -76
- package/Frameworks/Foundation.jsframework/JS/String+JS.js +69 -0
- package/Frameworks/Foundation.jsframework/JS/UnicodeChar.js +8 -0
- package/Frameworks/Foundation.jsframework/io.breakside.JSKit.Foundation-bundle.js +2 -2
- package/Frameworks/Foundation.jsframework/sources.json +26 -22
- package/Frameworks/SecurityKit.jsframework/Info.json +2 -2
- package/Frameworks/SecurityKit.jsframework/io.breakside.JSKit.SecurityKit-bundle.js +2 -2
- package/Info.json +2 -2
- package/Node/io.breakside.jskit-bundle.js +2 -2
- package/Node/jskit +8 -7
- package/Root/Frameworks/APIKit/Info.yaml +1 -1
- package/Root/Frameworks/APIKitTesting/Info.yaml +1 -1
- package/Root/Frameworks/AuthKit/Info.yaml +1 -1
- package/Root/Frameworks/CSSOM/Info.yaml +1 -1
- package/Root/Frameworks/ChartKit/CHAxis.js +5 -5
- package/Root/Frameworks/ChartKit/CHPieChart.js +1 -1
- package/Root/Frameworks/ChartKit/Info.yaml +1 -1
- package/Root/Frameworks/ConferenceKit/Info.yaml +1 -1
- package/Root/Frameworks/DBKit/Info.yaml +1 -1
- package/Root/Frameworks/DOM/Info.yaml +1 -1
- package/Root/Frameworks/DOM/XMLSerializer.js +9 -4
- package/Root/Frameworks/Dispatch/Info.yaml +1 -1
- package/Root/Frameworks/FontKit/Info.yaml +1 -1
- package/Root/Frameworks/Foundation/Info.yaml +1 -1
- package/Root/Frameworks/Foundation/JSAttributedString.js +279 -6
- package/Root/Frameworks/Foundation/JSFileManager+Node.js +2 -2
- package/Root/Frameworks/Foundation/JSFont.js +39 -15
- package/Root/Frameworks/Foundation/JSFontDescriptor+HTML.js +8 -0
- package/Root/Frameworks/Foundation/JSFontDescriptor.js +105 -27
- package/Root/Frameworks/Foundation/JSParagraphStyle.js +71 -0
- package/Root/Frameworks/Foundation/JSTextAttachment.js +1 -1
- package/Root/Frameworks/Foundation/JSTextContainer.js +56 -29
- package/Root/Frameworks/Foundation/JSTextFrame.js +2 -32
- package/Root/Frameworks/Foundation/JSTextFramesetter.js +125 -22
- package/Root/Frameworks/Foundation/JSTextLayoutManager.js +11 -3
- package/Root/Frameworks/Foundation/JSTextLine.js +4 -3
- package/Root/Frameworks/Foundation/JSTextRun.js +5 -3
- package/Root/Frameworks/Foundation/JSTextTypesetter.js +41 -25
- package/Root/Frameworks/Foundation/JSZip.js +97 -76
- package/Root/Frameworks/Foundation/String+JS.js +69 -0
- package/Root/Frameworks/Foundation/UnicodeChar.js +8 -0
- package/Root/Frameworks/ImageKit/Info.yaml +1 -1
- package/Root/Frameworks/MediaKit/Info.yaml +1 -1
- package/Root/Frameworks/MediaKitUI/Info.yaml +1 -1
- package/Root/Frameworks/NotificationKit/Info.yaml +1 -1
- package/Root/Frameworks/PDFKit/Info.yaml +1 -1
- package/Root/Frameworks/QRKit/Info.yaml +1 -1
- package/Root/Frameworks/SearchKit/Info.yaml +1 -1
- package/Root/Frameworks/SecurityKit/Info.yaml +1 -1
- package/Root/Frameworks/ServerKit/Info.yaml +1 -1
- package/Root/Frameworks/ServerKitTesting/Info.yaml +1 -1
- package/Root/Frameworks/TestKit/Info.yaml +1 -1
- package/Root/Frameworks/UIKit/Info.yaml +1 -1
- package/Root/Frameworks/UIKit/UIBasicAnimation.js +1 -1
- package/Root/Frameworks/UIKit/UIHTMLApplication.js +1 -1
- package/Root/Frameworks/UIKit/UIHTMLContentEditableTextInputManager.js +36 -0
- package/Root/Frameworks/UIKit/UIHTMLDisplayServer.js +1 -1
- package/Root/Frameworks/UIKit/UIHTMLTextField.js +1 -1
- package/Root/Frameworks/UIKit/UIHTMLTextFrame.js +19 -91
- package/Root/Frameworks/UIKit/UIHTMLTextFramesetter.js +52 -9
- package/Root/Frameworks/UIKit/UIHTMLTextLine.js +95 -30
- package/Root/Frameworks/UIKit/UIHTMLTextRun.js +22 -9
- package/Root/Frameworks/UIKit/UIHTMLTextTypesetter.js +334 -459
- package/Root/Frameworks/UIKit/UIHTMLWindowServer.js +16 -0
- package/Root/Frameworks/UIKit/UIImageLayer.js +14 -7
- package/Root/Frameworks/UIKit/UIScrollView.js +12 -0
- package/Root/Frameworks/UIKit/UISegmentedControl.js +6 -6
- package/Root/Frameworks/UIKit/UITextAttachmentView.js +1 -1
- package/Root/Frameworks/UIKit/UITextEditor.js +210 -25
- package/Root/Frameworks/UIKit/UITextField.js +58 -31
- package/Root/Frameworks/UIKit/UITextInput.js +3 -1
- package/Root/Frameworks/UIKit/UITextInputManager.js +2 -2
- package/Root/Frameworks/UIKit/UITextLayer.js +39 -26
- package/Root/Frameworks/UIKit/UITokenField.js +4 -4
- package/Root/Frameworks/UIKit/UIView.js +3 -1
- package/Root/Frameworks/UIKit/UIWindow.js +16 -3
- package/Root/Frameworks/UIKitTesting/Info.yaml +1 -1
- package/package.json +1 -1
|
@@ -48,23 +48,24 @@
|
|
|
48
48
|
"JSXMLParser.js",
|
|
49
49
|
"JSImage.js",
|
|
50
50
|
"JSTextAttachment.js",
|
|
51
|
-
"JSAttributedString.js",
|
|
52
|
-
"JSSpec.js",
|
|
53
|
-
"JSArrayController.js",
|
|
54
|
-
"JSSparseArrayController.js",
|
|
55
|
-
"JSColorSpace.js",
|
|
56
|
-
"JSColor.js",
|
|
57
|
-
"JSGradient.js",
|
|
58
51
|
"Huffman.js",
|
|
59
52
|
"Deflate.js",
|
|
60
53
|
"Adler32.js",
|
|
61
54
|
"Zlib.js",
|
|
62
55
|
"JSFontDescriptor.js",
|
|
63
56
|
"JSFont.js",
|
|
57
|
+
"JSColorSpace.js",
|
|
58
|
+
"JSColor.js",
|
|
59
|
+
"JSAttributedString.js",
|
|
60
|
+
"JSSpec.js",
|
|
61
|
+
"JSArrayController.js",
|
|
62
|
+
"JSSparseArrayController.js",
|
|
63
|
+
"JSGradient.js",
|
|
64
64
|
"JSPath.js",
|
|
65
65
|
"JSContext.js",
|
|
66
66
|
"JSDateFormatter.js",
|
|
67
67
|
"JSNumberFormatter.js",
|
|
68
|
+
"JSParagraphStyle.js",
|
|
68
69
|
"JSTextLayoutManager.js",
|
|
69
70
|
"JSTextRun.js",
|
|
70
71
|
"JSTextLine.js",
|
|
@@ -193,10 +194,18 @@
|
|
|
193
194
|
"_JSDataImage",
|
|
194
195
|
"_JSURLImage",
|
|
195
196
|
"JSTextAttachment",
|
|
196
|
-
"
|
|
197
|
-
"
|
|
198
|
-
"
|
|
199
|
-
"
|
|
197
|
+
"HuffmanTree",
|
|
198
|
+
"DeflateStream",
|
|
199
|
+
"Deflate",
|
|
200
|
+
"Adler32",
|
|
201
|
+
"Zlib",
|
|
202
|
+
"ZlibStream",
|
|
203
|
+
"JSFontDescriptor",
|
|
204
|
+
"JSDataFontDescriptor",
|
|
205
|
+
"JSResourceFontDescriptor",
|
|
206
|
+
"JSURLFontDescriptor",
|
|
207
|
+
"JSTestFontDescriptor",
|
|
208
|
+
"JSFont",
|
|
200
209
|
"JSColorSpace",
|
|
201
210
|
"JSXYZColorSpace",
|
|
202
211
|
"JSXYZScaledColorSpace",
|
|
@@ -208,25 +217,20 @@
|
|
|
208
217
|
"JSIndexedColorSpace",
|
|
209
218
|
"JSNamedColorSpace",
|
|
210
219
|
"JSColor",
|
|
220
|
+
"JSAttributedString",
|
|
221
|
+
"JSSpec",
|
|
222
|
+
"JSArrayController",
|
|
223
|
+
"JSSparseArrayController",
|
|
211
224
|
"JSGradient",
|
|
212
|
-
"HuffmanTree",
|
|
213
|
-
"DeflateStream",
|
|
214
|
-
"Deflate",
|
|
215
|
-
"Adler32",
|
|
216
|
-
"Zlib",
|
|
217
|
-
"ZlibStream",
|
|
218
|
-
"JSFontDescriptor",
|
|
219
|
-
"JSDataFontDescriptor",
|
|
220
|
-
"JSResourceFontDescriptor",
|
|
221
|
-
"JSTestFontDescriptor",
|
|
222
|
-
"JSFont",
|
|
223
225
|
"JSPath",
|
|
224
226
|
"JSContext",
|
|
225
227
|
"JSDateFormatter",
|
|
226
228
|
"JSNumberFormatter",
|
|
229
|
+
"JSParagraphStyle",
|
|
227
230
|
"JSTextLayoutManager",
|
|
228
231
|
"JSTextRun",
|
|
229
232
|
"JSTextLine",
|
|
233
|
+
"JSTextTypesetterDelegate",
|
|
230
234
|
"JSTextTypesetter",
|
|
231
235
|
"JSTextFrame",
|
|
232
236
|
"JSTextFramesetter",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"JSBundleType": "framework",
|
|
3
3
|
"JSBundleIdentifier": "io.breakside.JSKit.SecurityKit",
|
|
4
|
-
"JSBundleVersion": "2022.
|
|
4
|
+
"JSBundleVersion": "2022.25.0",
|
|
5
5
|
"JSDevelopmentLanguage": "en",
|
|
6
6
|
"JSCopyright": "Copyright © 2020 Breakside Inc.",
|
|
7
7
|
"JSBundleEnvironments": {
|
|
@@ -9,5 +9,5 @@
|
|
|
9
9
|
"node": "SecurityKit+Node.js"
|
|
10
10
|
},
|
|
11
11
|
"JSLicenseNotice": "Licensed under the Breakside Public License, Version 1.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nIf a copy of the License was not distributed with this file, you may\nobtain a copy at\n\n http://breakside.io/licenses/LICENSE-1.0.txt\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n",
|
|
12
|
-
"GitRevision": "
|
|
12
|
+
"GitRevision": "9581f64d123afcc737e61d661ef3a9f1f49ff23a"
|
|
13
13
|
}
|
|
@@ -3,7 +3,7 @@ JSBundle.bundles['io.breakside.JSKit.SecurityKit'] = {
|
|
|
3
3
|
"Info": {
|
|
4
4
|
"JSBundleType": "framework",
|
|
5
5
|
"JSBundleIdentifier": "io.breakside.JSKit.SecurityKit",
|
|
6
|
-
"JSBundleVersion": "2022.
|
|
6
|
+
"JSBundleVersion": "2022.25.0",
|
|
7
7
|
"JSDevelopmentLanguage": "en",
|
|
8
8
|
"JSCopyright": "Copyright © 2020 Breakside Inc.",
|
|
9
9
|
"JSBundleEnvironments": {
|
|
@@ -11,7 +11,7 @@ JSBundle.bundles['io.breakside.JSKit.SecurityKit'] = {
|
|
|
11
11
|
"node": "SecurityKit+Node.js"
|
|
12
12
|
},
|
|
13
13
|
"JSLicenseNotice": "Licensed under the Breakside Public License, Version 1.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nIf a copy of the License was not distributed with this file, you may\nobtain a copy at\n\n http://breakside.io/licenses/LICENSE-1.0.txt\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n",
|
|
14
|
-
"GitRevision": "
|
|
14
|
+
"GitRevision": "9581f64d123afcc737e61d661ef3a9f1f49ff23a"
|
|
15
15
|
},
|
|
16
16
|
"Resources": [],
|
|
17
17
|
"ResourceLookup": {
|
package/Info.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"JSBundleType": "node",
|
|
3
3
|
"JSBundleIdentifier": "io.breakside.jskit",
|
|
4
|
-
"JSBundleVersion": "2022.
|
|
4
|
+
"JSBundleVersion": "2022.25.0",
|
|
5
5
|
"JSExecutableName": "jskit",
|
|
6
6
|
"NPMOrganization": "breakside",
|
|
7
7
|
"JSResources": [
|
|
8
8
|
"Tests/HTMLTestRunner.js",
|
|
9
9
|
"Tests/NodeTestRunner.js"
|
|
10
10
|
],
|
|
11
|
-
"GitRevision": "
|
|
11
|
+
"GitRevision": "9581f64d123afcc737e61d661ef3a9f1f49ff23a"
|
|
12
12
|
}
|
|
@@ -3,14 +3,14 @@ JSBundle.bundles['io.breakside.jskit'] = {
|
|
|
3
3
|
"Info": {
|
|
4
4
|
"JSBundleType": "node",
|
|
5
5
|
"JSBundleIdentifier": "io.breakside.jskit",
|
|
6
|
-
"JSBundleVersion": "2022.
|
|
6
|
+
"JSBundleVersion": "2022.25.0",
|
|
7
7
|
"JSExecutableName": "jskit",
|
|
8
8
|
"NPMOrganization": "breakside",
|
|
9
9
|
"JSResources": [
|
|
10
10
|
"Tests/HTMLTestRunner.js",
|
|
11
11
|
"Tests/NodeTestRunner.js"
|
|
12
12
|
],
|
|
13
|
-
"GitRevision": "
|
|
13
|
+
"GitRevision": "9581f64d123afcc737e61d661ef3a9f1f49ff23a"
|
|
14
14
|
},
|
|
15
15
|
"Resources": [
|
|
16
16
|
{
|
package/Node/jskit
CHANGED
|
@@ -49,23 +49,24 @@ require("./../Frameworks/Foundation.jsframework/JS/JSURLResponse.js");
|
|
|
49
49
|
require("./../Frameworks/Foundation.jsframework/JS/JSXMLParser.js");
|
|
50
50
|
require("./../Frameworks/Foundation.jsframework/JS/JSImage.js");
|
|
51
51
|
require("./../Frameworks/Foundation.jsframework/JS/JSTextAttachment.js");
|
|
52
|
-
require("./../Frameworks/Foundation.jsframework/JS/JSAttributedString.js");
|
|
53
|
-
require("./../Frameworks/Foundation.jsframework/JS/JSSpec.js");
|
|
54
|
-
require("./../Frameworks/Foundation.jsframework/JS/JSArrayController.js");
|
|
55
|
-
require("./../Frameworks/Foundation.jsframework/JS/JSSparseArrayController.js");
|
|
56
|
-
require("./../Frameworks/Foundation.jsframework/JS/JSColorSpace.js");
|
|
57
|
-
require("./../Frameworks/Foundation.jsframework/JS/JSColor.js");
|
|
58
|
-
require("./../Frameworks/Foundation.jsframework/JS/JSGradient.js");
|
|
59
52
|
require("./../Frameworks/Foundation.jsframework/JS/Huffman.js");
|
|
60
53
|
require("./../Frameworks/Foundation.jsframework/JS/Deflate.js");
|
|
61
54
|
require("./../Frameworks/Foundation.jsframework/JS/Adler32.js");
|
|
62
55
|
require("./../Frameworks/Foundation.jsframework/JS/Zlib.js");
|
|
63
56
|
require("./../Frameworks/Foundation.jsframework/JS/JSFontDescriptor.js");
|
|
64
57
|
require("./../Frameworks/Foundation.jsframework/JS/JSFont.js");
|
|
58
|
+
require("./../Frameworks/Foundation.jsframework/JS/JSColorSpace.js");
|
|
59
|
+
require("./../Frameworks/Foundation.jsframework/JS/JSColor.js");
|
|
60
|
+
require("./../Frameworks/Foundation.jsframework/JS/JSAttributedString.js");
|
|
61
|
+
require("./../Frameworks/Foundation.jsframework/JS/JSSpec.js");
|
|
62
|
+
require("./../Frameworks/Foundation.jsframework/JS/JSArrayController.js");
|
|
63
|
+
require("./../Frameworks/Foundation.jsframework/JS/JSSparseArrayController.js");
|
|
64
|
+
require("./../Frameworks/Foundation.jsframework/JS/JSGradient.js");
|
|
65
65
|
require("./../Frameworks/Foundation.jsframework/JS/JSPath.js");
|
|
66
66
|
require("./../Frameworks/Foundation.jsframework/JS/JSContext.js");
|
|
67
67
|
require("./../Frameworks/Foundation.jsframework/JS/JSDateFormatter.js");
|
|
68
68
|
require("./../Frameworks/Foundation.jsframework/JS/JSNumberFormatter.js");
|
|
69
|
+
require("./../Frameworks/Foundation.jsframework/JS/JSParagraphStyle.js");
|
|
69
70
|
require("./../Frameworks/Foundation.jsframework/JS/JSTextLayoutManager.js");
|
|
70
71
|
require("./../Frameworks/Foundation.jsframework/JS/JSTextRun.js");
|
|
71
72
|
require("./../Frameworks/Foundation.jsframework/JS/JSTextLine.js");
|
|
@@ -178,14 +178,14 @@ JSClass("CHAxis", JSObject, {
|
|
|
178
178
|
var labelInsets = JSInsets(this.style.labelInsets);
|
|
179
179
|
var labelTextFrame;
|
|
180
180
|
if (this.edge === CHAxis.Edge.leading){
|
|
181
|
-
this.framesetter.
|
|
181
|
+
this.framesetter.defaultParagraphStyle.textAlignment = JSTextAlignment.right;
|
|
182
182
|
labelInsets.bottom += Math.max(this.style.lineWidth / 2, majorTickMarkLength, minorTickMarkLength);
|
|
183
183
|
}else{
|
|
184
|
-
this.framesetter.
|
|
184
|
+
this.framesetter.defaultParagraphStyle.textAlignment = JSTextAlignment.left;
|
|
185
185
|
labelInsets.top += Math.max(this.style.lineWidth / 2, majorTickMarkLength, minorTickMarkLength);
|
|
186
186
|
}
|
|
187
187
|
var labelOrigin = JSPoint(0, rect.origin.y + this.style.labelInsets.top);
|
|
188
|
-
this.framesetter.
|
|
188
|
+
this.framesetter.defaultParagraphStyle.textAlignment = JSTextAlignment.left;
|
|
189
189
|
for (i = 0, l = labels.length; i < l; ++i){
|
|
190
190
|
if (labels[i] !== null && labels[i] !== undefined && labels[i] !== ""){
|
|
191
191
|
this.framesetter.attributedString = JSAttributedString.initWithString(labels[i], {
|
|
@@ -303,10 +303,10 @@ JSClass("CHAxis", JSObject, {
|
|
|
303
303
|
var labelInsets = JSInsets(this.style.labelInsets);
|
|
304
304
|
var labelTextFrame;
|
|
305
305
|
if (this.edge === CHAxis.Edge.leading){
|
|
306
|
-
this.framesetter.
|
|
306
|
+
this.framesetter.defaultParagraphStyle.textAlignment = JSTextAlignment.right;
|
|
307
307
|
labelInsets.right += Math.max(this.style.lineWidth / 2, majorTickMarkLength, minorTickMarkLength);
|
|
308
308
|
}else{
|
|
309
|
-
this.framesetter.
|
|
309
|
+
this.framesetter.defaultParagraphStyle.textAlignment = JSTextAlignment.left;
|
|
310
310
|
labelInsets.left += Math.max(this.style.lineWidth / 2, majorTickMarkLength, minorTickMarkLength);
|
|
311
311
|
}
|
|
312
312
|
var maxLabelSize = JSSize(rect.size.width - this.style.labelInsets.width, 0);
|
|
@@ -168,7 +168,7 @@ JSClass("CHPieChart", CHChart, {
|
|
|
168
168
|
|
|
169
169
|
// draw labels
|
|
170
170
|
if (this.showNames || this.showValues){
|
|
171
|
-
this.framesetter.
|
|
171
|
+
this.framesetter.defaultParagraphStyle.textAlignment = this.labelTextAlignment;
|
|
172
172
|
context.save();
|
|
173
173
|
context.translateBy(rect.center.x, rect.center.y);
|
|
174
174
|
if (this.labelShadowColor !== null){
|
|
@@ -113,10 +113,15 @@ XMLSerializer.prototype = {
|
|
|
113
113
|
str += " " + node.name;
|
|
114
114
|
}
|
|
115
115
|
if (node.publicId.length > 0){
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
116
|
+
value = node.publicId.replace(/&/g, "&").replace(/"/g, """).replace(/</g, "<");
|
|
117
|
+
str += ' PUBLIC "%s"'.sprintf(value);
|
|
118
|
+
if (node.systemId.length > 0){
|
|
119
|
+
value = node.systemId.replace(/&/g, "&").replace(/"/g, """).replace(/</g, "<");
|
|
120
|
+
str += ' "%s"'.sprintf(value);
|
|
121
|
+
}
|
|
122
|
+
}else if (node.systemId.length > 0){
|
|
123
|
+
value = node.systemId.replace(/&/g, "&").replace(/"/g, """).replace(/</g, "<");
|
|
124
|
+
str += ' SYSTEM "%s"'.sprintf(value);
|
|
120
125
|
}
|
|
121
126
|
str += ">\n";
|
|
122
127
|
}
|