1
0
Fork 0
mirror of https://github.com/mozilla/pdf.js.git synced 2025-04-28 23:28:16 +02:00

XFA - Created data node mustn't belong to datasets namespace

- when some named nodes in the template don't have their counterpart in datasets we create some nodes: the main node mustn't belong to the datasets namespace because it doesn't make sense and Acrobat Reader isn't able to read pdf with such nodes.
  - so created nodes under a datasets node have a namespaceId set to -1 and consequently when serialized no namespace prefix will appear.
This commit is contained in:
Calixte Denizet 2021-09-03 15:43:19 +02:00
parent 804abb3786
commit 57ae3a5a76
4 changed files with 82 additions and 8 deletions

View file

@ -976,8 +976,11 @@ class XmlObject extends XFAObject {
this[$content] = value.toString();
}
[$dump]() {
[$dump](hasNS = false) {
const dumped = Object.create(null);
if (hasNS) {
dumped.$ns = this[$namespaceId];
}
if (this[$content]) {
dumped.$content = this[$content];
}
@ -985,7 +988,7 @@ class XmlObject extends XFAObject {
dumped.children = [];
for (const child of this[_children]) {
dumped.children.push(child[$dump]());
dumped.children.push(child[$dump](hasNS));
}
dumped.attributes = Object.create(null);