aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/docx/styles-reader.js25
1 files changed, 25 insertions, 0 deletions
diff --git a/lib/docx/styles-reader.js b/lib/docx/styles-reader.js
new file mode 100644
index 0000000..d896d3d
--- /dev/null
+++ b/lib/docx/styles-reader.js
@@ -0,0 +1,25 @@
+exports.readStylesXml = readStylesXml;
+
+function Styles(paragraphStyles) {
+ return {
+ findParagraphStyleById: function(styleId) {
+ return paragraphStyles[styleId];
+ }
+ };
+}
+
+function readStylesXml(xml) {
+ var paragraphStyles = [];
+
+ xml.root.getElementsByTagName("w:style").forEach(function(styleElement) {
+ var style = readStyleElement(styleElement);
+ paragraphStyles[style.styleId] = style;
+ });
+
+ return new Styles(paragraphStyles);
+}
+
+function readStyleElement(styleElement) {
+ var styleId = styleElement.attributes["w:styleId"];
+ return {styleId: styleId};
+}