aboutsummaryrefslogtreecommitdiff
path: root/lib/docx/notes-reader.js
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2015-01-19 19:52:21 +0000
committerMichael Williamson <mike@zwobble.org>2015-01-19 19:52:21 +0000
commit83feedc21e7ba06625837d3c11461d9e8734bf6c (patch)
tree60754063b1bdaed303b2eedb9896dffe89897a83 /lib/docx/notes-reader.js
parent5a0b91e72fc89695fcb92ed5306587a64570ddd0 (diff)
Modify footnotes-reader to allow reading of other notes
Diffstat (limited to 'lib/docx/notes-reader.js')
-rw-r--r--lib/docx/notes-reader.js22
1 files changed, 22 insertions, 0 deletions
diff --git a/lib/docx/notes-reader.js b/lib/docx/notes-reader.js
new file mode 100644
index 0000000..00bcce5
--- /dev/null
+++ b/lib/docx/notes-reader.js
@@ -0,0 +1,22 @@
+exports.readFootnotesXml = createReader("footnote");
+
+function createReader(noteType) {
+ function readNotesXml(xml) {
+ return 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"];
+ var body = footnoteElement.children;
+ return {noteType: noteType, id: id, body: body};
+ }
+
+ return readNotesXml;
+}