deno.land / x / sheetjs@v0.18.3 / bits / 31_rels.js

نووسراو ببینە
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
/* 9.3 Relationships */var RELS = ({ WB: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument", SHEET: "http://sheetjs.openxmlformats.org/officeDocument/2006/relationships/officeDocument", HLINK: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink", VML: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing", XPATH: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLinkPath", XMISS: "http://schemas.microsoft.com/office/2006/relationships/xlExternalLinkPath/xlPathMissing", XLINK: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLink", CXML: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml", CXMLP: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXmlProps", VBA: "http://schemas.microsoft.com/office/2006/relationships/vbaProject"}/*:any*/);
/* 9.3.3 Representing Relationships */function get_rels_path(file/*:string*/)/*:string*/ { var n = file.lastIndexOf("/"); return file.slice(0,n+1) + '_rels/' + file.slice(n+1) + ".rels";}
function parse_rels(data/*:?string*/, currentFilePath/*:string*/) { var rels = {"!id":{}}; if (!data) return rels; if (currentFilePath.charAt(0) !== '/') { currentFilePath = '/'+currentFilePath; } var hash = {};
(data.match(tagregex)||[]).forEach(function(x) { var y = parsexmltag(x); /* 9.3.2.2 OPC_Relationships */ if (y[0] === '<Relationship') { var rel = {}; rel.Type = y.Type; rel.Target = y.Target; rel.Id = y.Id; if(y.TargetMode) rel.TargetMode = y.TargetMode; var canonictarget = y.TargetMode === 'External' ? y.Target : resolve_path(y.Target, currentFilePath); rels[canonictarget] = rel; hash[y.Id] = rel; } }); rels["!id"] = hash; return rels;}
XMLNS.RELS = 'http://schemas.openxmlformats.org/package/2006/relationships';
var RELS_ROOT = writextag('Relationships', null, { //'xmlns:ns0': XMLNS.RELS, 'xmlns': XMLNS.RELS});
/* TODO */function write_rels(rels)/*:string*/ { var o = [XML_HEADER, RELS_ROOT]; keys(rels['!id']).forEach(function(rid) { o[o.length] = (writextag('Relationship', null, rels['!id'][rid])); }); if(o.length>2){ o[o.length] = ('</Relationships>'); o[1]=o[1].replace("/>",">"); } return o.join("");}
var RELS_EXTERN = [RELS.HLINK, RELS.XPATH, RELS.XMISS];function add_rels(rels, rId/*:number*/, f, type, relobj, targetmode/*:?string*/)/*:number*/ { if(!relobj) relobj = {}; if(!rels['!id']) rels['!id'] = {}; if(!rels['!idx']) rels['!idx'] = 1; if(rId < 0) for(rId = rels['!idx']; rels['!id']['rId' + rId]; ++rId){/* empty */} rels['!idx'] = rId + 1; relobj.Id = 'rId' + rId; relobj.Type = type; relobj.Target = f; if(targetmode) relobj.TargetMode = targetmode; else if(RELS_EXTERN.indexOf(relobj.Type) > -1) relobj.TargetMode = "External"; if(rels['!id'][relobj.Id]) throw new Error("Cannot rewrite rId " + rId); rels['!id'][relobj.Id] = relobj; rels[('/' + relobj.Target).replace("//","/")] = relobj; return rId;}
sheetjs

Version Info

Tagged at
2 years ago