aboutsummaryrefslogtreecommitdiff
path: root/lib/docx
diff options
context:
space:
mode:
Diffstat (limited to 'lib/docx')
-rw-r--r--lib/docx/body-reader.js21
1 files changed, 13 insertions, 8 deletions
diff --git a/lib/docx/body-reader.js b/lib/docx/body-reader.js
index 44ae038..25a263a 100644
--- a/lib/docx/body-reader.js
+++ b/lib/docx/body-reader.js
@@ -108,13 +108,7 @@ function BodyReader(options) {
if (alignElement) {
properties.alignment = alignElement.attributes["w:val"];
}
- var numberingPropertiesElement = element.first("w:numPr");
- if (numberingPropertiesElement) {
- var levelElement = numberingPropertiesElement.first("w:ilvl");
- var level = levelElement.attributes["w:val"];
- var numId = numberingPropertiesElement.first("w:numId").attributes["w:val"];
- properties.numbering = numbering.findLevel(numId, level);
- }
+ properties.numbering = readNumberingProperties(element.firstOrEmpty("w:numPr"));
return elementResult(properties);
},
@@ -196,9 +190,20 @@ function BodyReader(options) {
};
return {
readXmlElement: readXmlElement,
- readXmlElements: readXmlElements
+ readXmlElements: readXmlElements,
+ _readNumberingProperties: readNumberingProperties
};
+ function readNumberingProperties(element) {
+ var level = element.firstOrEmpty("w:ilvl").attributes["w:val"];
+ var numId = element.firstOrEmpty("w:numId").attributes["w:val"];
+ if (level === undefined || numId === undefined) {
+ return null;
+ } else {
+ return numbering.findLevel(numId, level);
+ }
+ }
+
function readDrawingElement(element) {
var blips = element
.getElementsByTagName("a:graphic")