Skip to content

Commit

Permalink
Entities with XML elements
Browse files Browse the repository at this point in the history
  • Loading branch information
HeikoTheissen authored and isaacs committed Sep 26, 2023
1 parent 88220a2 commit b4dd742
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 1 deletion.
4 changes: 3 additions & 1 deletion lib/sax.js
Original file line number Diff line number Diff line change
Expand Up @@ -1483,9 +1483,11 @@
}

if (c === ';') {
parser[buffer] += parseEntity(parser)
// parser[buffer] += parseEntity(parser)
var parsedEntity = parseEntity(parser)
parser.entity = ''
parser.state = returnState
parser.write(parsedEntity)
} else if (isMatch(parser.entity.length ? entityBody : entityStart, c)) {
parser.entity += c
} else {
Expand Down
18 changes: 18 additions & 0 deletions test/entity-elem.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
var sax = require('../');
sax.ENTITIES.attr = "1";
sax.ENTITIES.text = "2";
sax.ENTITIES.elem = '<B ATTR="&attr;.3"/>';
require(__dirname).test({
xml: `<A ATTR="&attr;.2">&text;&elem;</A>`,
expect: [
["opentagstart", {name: "A", attributes: {}}],
["attribute", {name: 'ATTR', value: "1.2"}],
["opentag", {name: "A", attributes: {ATTR: "1.2"}, isSelfClosing: false}],
["text", "2"],
["opentagstart", {name: "B", attributes: {}}],
["attribute", {name: 'ATTR', value: "1.3"}],
["opentag", {name: "B", attributes: {ATTR: "1.3"}, isSelfClosing: true}],
["closetag", "B"],
["closetag", "A"]
]
});

0 comments on commit b4dd742

Please sign in to comment.