mirror of
https://github.com/mwilliamson/mammoth.js.git
synced 2024-12-08 15:14:29 +00:00
29 lines
981 B
JavaScript
29 lines
981 B
JavaScript
var documents = require("../documents");
|
|
var Result = require("../results").Result;
|
|
|
|
exports.createFootnotesReader = createReader.bind(this, "footnote");
|
|
exports.createEndnotesReader = createReader.bind(this, "endnote");
|
|
|
|
function createReader(noteType, bodyReader) {
|
|
function readNotesXml(xml) {
|
|
return Result.combine(xml.root.getElementsByTagName("w:" + noteType)
|
|
.filter(isFootnoteElement)
|
|
.map(readFootnoteElement));
|
|
}
|
|
|
|
function isFootnoteElement(element) {
|
|
var type = element.attributes["w:type"];
|
|
return type !== "continuationSeparator" && type !== "separator";
|
|
}
|
|
|
|
function readFootnoteElement(footnoteElement) {
|
|
var id = footnoteElement.attributes["w:id"];
|
|
return bodyReader.readXmlElements(footnoteElement.children)
|
|
.map(function(body) {
|
|
return documents.Note({noteType: noteType, noteId: id, body: body});
|
|
});
|
|
}
|
|
|
|
return readNotesXml;
|
|
}
|