From 81b7a8296d1e3afa095f47007a66698852d29f95 Mon Sep 17 00:00:00 2001 From: privateOmega Date: Tue, 12 May 2020 13:59:33 +0530 Subject: [PATCH] fix: updated numbering xml generation --- src/docx-document.js | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/docx-document.js b/src/docx-document.js index 132e3a93..35583c35 100644 --- a/src/docx-document.js +++ b/src/docx-document.js @@ -108,23 +108,27 @@ class DocxDocument { // eslint-disable-next-line class-methods-use-this generateNumberingXML() { - const numberingInstancesXML = this.numberingObjects.reduce( + const xmlFragment = fragment({ + namespaceAlias: { w: 'http://schemas.openxmlformats.org/wordprocessingml/2006/main' }, + }); + + this.numberingObjects.forEach( // eslint-disable-next-line array-callback-return - (xmlFragment, { numberingId, ordered }) => { - xmlFragment + ({ numberingId, ordered }) => { + const numberingFragment = fragment({ + namespaceAlias: { w: 'http://schemas.openxmlformats.org/wordprocessingml/2006/main' }, + }) .ele('@w', 'num') .att('@w', 'numId', String(numberingId)) .ele('@w', 'abstractNumId') .att('@w', 'val', ordered ? '1' : '2') .up() .up(); - }, - fragment({ - namespaceAlias: { w: 'http://schemas.openxmlformats.org/wordprocessingml/2006/main' }, - }) + xmlFragment.import(numberingFragment); + } ); - return generateNumberingXML(numberingInstancesXML); + return generateNumberingXML(xmlFragment.toString({ prettyPrint: true }) || ''); } // eslint-disable-next-line class-methods-use-this