Socket
Socket
Sign inDemoInstall

moddle-xml

Package Overview
Dependencies
Maintainers
2
Versions
75
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

moddle-xml - npm Package Compare versions

Comparing version 5.0.2 to 6.0.0

4

CHANGELOG.md

@@ -9,2 +9,6 @@ # Changelog

## 6.0.0
* `FEAT`: encode entities in body properties (instead of escaping via `CDATA`) ([`5645b582`](https://github.com/bpmn-io/moddle-xml/commit/5645b5822644a461eba9f3da481362475f040984))
## 5.0.2

@@ -11,0 +15,0 @@

62

lib/writer.js

@@ -17,3 +17,4 @@ 'use strict';

var XML_PREAMBLE = '<?xml version="1.0" encoding="UTF-8"?>\n',
ESCAPE_CHARS = /(<|>|'|"|&|\n\r|\n)/g,
ESCAPE_ATTR_CHARS = /<|>|'|"|&|\n\r|\n/g,
ESCAPE_CHARS = /<|>|&/g,
DEFAULT_NS_MAP = common.DEFAULT_NS_MAP,

@@ -164,12 +165,28 @@ XSI_TYPE = common.XSI_TYPE;

var ESCAPE_ATTR_MAP = {
'\n': '#10',
'\n\r': '#10',
'"': '#34',
'\'': '#39',
'<': '#60',
'>': '#62',
'&': '#38'
};
var ESCAPE_MAP = {
'\n': '10',
'\n\r': '10',
'"': '34',
'\'': '39',
'<': '60',
'>': '62',
'&': '38'
'<': 'lt',
'>': 'gt',
'&': 'amp'
};
function escape(str, charPattern, replaceMap) {
// ensure we are handling strings here
str = isString(str) ? str : '' + str;
return str.replace(charPattern, function(s) {
return '&' + replaceMap[s] + ';';
});
}
/**

@@ -182,9 +199,7 @@ * Escape a string attribute to not contain any bad values (line breaks, '"', ...)

function escapeAttr(str) {
return escape(str, ESCAPE_ATTR_CHARS, ESCAPE_ATTR_MAP);
}
// ensure we are handling strings here
str = isString(str) ? str : '' + str;
return str.replace(ESCAPE_CHARS, function(str) {
return '&#' + ESCAPE_MAP[str] + ';';
});
function escapeBody(str) {
return escape(str, ESCAPE_CHARS, ESCAPE_MAP);
}

@@ -219,14 +234,9 @@

BodySerializer.prototype.serializeValue = BodySerializer.prototype.serializeTo = function(writer) {
var escape = this.escape;
if (escape) {
writer.append('<![CDATA[');
}
writer.append(this.value);
if (escape) {
writer.append(']]>');
}
BodySerializer.prototype.serializeValue =
BodySerializer.prototype.serializeTo = function(writer) {
writer.append(
this.escape
? escapeBody(this.value)
: this.value
);
};

@@ -233,0 +243,0 @@

{
"name": "moddle-xml",
"version": "5.0.2",
"version": "6.0.0",
"description": "XML import/export for documents described with moddle",

@@ -5,0 +5,0 @@ "directories": {

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc