aboutsummaryrefslogtreecommitdiff
path: root/lib/docx/document-xml-reader.js
diff options
context:
space:
mode:
authorAndreas Lubbe <git@lubbe.org>2015-01-23 18:24:23 +0100
committerMichael Williamson <mike@zwobble.org>2015-02-09 20:31:51 +0000
commit4d4d9e669b389be294373cf3c9bd4727dd5f32af (patch)
treed66a47574dfea6c24328aa296cb3b67f2d7890f2 /lib/docx/document-xml-reader.js
parent37cdbc47dc105a3c745e0f718843e68cf1741aed (diff)
Add support for internal hyperlinks
Diffstat (limited to 'lib/docx/document-xml-reader.js')
-rw-r--r--lib/docx/document-xml-reader.js12
1 files changed, 10 insertions, 2 deletions
diff --git a/lib/docx/document-xml-reader.js b/lib/docx/document-xml-reader.js
index e290792..f25e7a3 100644
--- a/lib/docx/document-xml-reader.js
+++ b/lib/docx/document-xml-reader.js
@@ -167,10 +167,13 @@ function DocumentXmlReader(options) {
},
"w:hyperlink": function(element) {
var relationshipId = element.attributes["r:id"];
+ var anchor = element.attributes["w:anchor"];
return readXmlElements(element.children).map(function(children) {
if (relationshipId) {
var href = relationships[relationshipId].target;
return new documents.Hyperlink(children, {href: href});
+ } else if (anchor) {
+ return new documents.Hyperlink(children, {anchor: anchor});
} else {
return children;
}
@@ -195,7 +198,13 @@ function DocumentXmlReader(options) {
return new Result(new documents.LineBreak());
}
},
-
+ "w:bookmarkStart": function(element){
+ var name = element.attributes["w:name"];
+ return readXmlElements(element.children).map(function(){
+ return new documents.BookmarkStart({name: name});
+ });
+ },
+
"w:ins": readChildElements,
"w:smartTag": readChildElements,
"w:drawing": readChildElements,
@@ -245,7 +254,6 @@ var supportedImageTypes = {
};
var ignoreElements = {
- "w:bookmarkStart": true,
"w:bookmarkEnd": true,
"w:sectPr": true,
"w:proofErr": true,