blob: d38c5100d55a7bab60ce16afecffc58cda71bacd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
exports.readStylesXml = readStylesXml;
exports.Styles = Styles;
exports.defaultStyles = new Styles({}, {});
function Styles(paragraphStyles, characterStyles) {
return {
findParagraphStyleById: function(styleId) {
return paragraphStyles[styleId];
},
findCharacterStyleById: function(styleId) {
return characterStyles[styleId];
}
};
}
function readStylesXml(xml) {
var paragraphStyles = {};
var characterStyles = {};
xml.root.getElementsByTagName("w:style").forEach(function(styleElement) {
var style = readStyleElement(styleElement);
var styleSet = style.type === "paragraph" ? paragraphStyles : characterStyles;
styleSet[style.styleId] = style;
});
return new Styles(paragraphStyles, characterStyles);
}
function readStyleElement(styleElement) {
var type = styleElement.attributes["w:type"];
var styleId = styleElement.attributes["w:styleId"];
var name = styleElement.first("w:name").attributes["w:val"];
return {type: type, styleId: styleId, name: name};
}
|