| 
									
										
										
										
											2014-03-29 02:05:50 +00:00
										 |  |  | /* 18.7.3 CT_Comment */ | 
					
						
							|  |  |  | function parse_comments_xml(data, opts) { | 
					
						
							| 
									
										
										
										
											2014-04-03 22:51:54 +00:00
										 |  |  | 	if(data.match(/<(?:\w+:)?comments *\/>/)) return []; | 
					
						
							| 
									
										
										
										
											2014-03-29 02:05:50 +00:00
										 |  |  | 	var authors = []; | 
					
						
							|  |  |  | 	var commentList = []; | 
					
						
							| 
									
										
										
										
											2014-06-29 18:29:45 +00:00
										 |  |  | 	data.match(/<(?:\w+:)?authors>([^\u2603]*)<\/(?:\w+:)?authors>/)[1].split(/<\/\w*:?author>/).forEach(function(x) { | 
					
						
							| 
									
										
										
										
											2014-03-29 02:05:50 +00:00
										 |  |  | 		if(x === "" || x.trim() === "") return; | 
					
						
							| 
									
										
										
										
											2014-04-03 22:51:54 +00:00
										 |  |  | 		authors.push(x.match(/<(?:\w+:)?author[^>]*>(.*)/)[1]); | 
					
						
							| 
									
										
										
										
											2014-03-29 02:05:50 +00:00
										 |  |  | 	}); | 
					
						
							| 
									
										
										
										
											2014-06-29 18:29:45 +00:00
										 |  |  | 	(data.match(/<(?:\w+:)?commentList>([^\u2603]*)<\/(?:\w+:)?commentList>/)||["",""])[1].split(/<\/\w*:?comment>/).forEach(function(x, index) { | 
					
						
							| 
									
										
										
										
											2014-03-29 02:05:50 +00:00
										 |  |  | 		if(x === "" || x.trim() === "") return; | 
					
						
							| 
									
										
										
										
											2014-04-03 22:51:54 +00:00
										 |  |  | 		var y = parsexmltag(x.match(/<(?:\w+:)?comment[^>]*>/)[0]); | 
					
						
							| 
									
										
										
										
											2014-03-29 02:05:50 +00:00
										 |  |  | 		var comment = { author: y.authorId && authors[y.authorId] ? authors[y.authorId] : undefined, ref: y.ref, guid: y.guid }; | 
					
						
							|  |  |  | 		var cell = decode_cell(y.ref); | 
					
						
							|  |  |  | 		if(opts.sheetRows && opts.sheetRows <= cell.r) return; | 
					
						
							| 
									
										
										
										
											2014-06-29 18:29:45 +00:00
										 |  |  | 		var textMatch = x.match(/<text>([^\u2603]*)<\/text>/); | 
					
						
							| 
									
										
										
										
											2014-03-29 02:05:50 +00:00
										 |  |  | 		if (!textMatch || !textMatch[1]) return; // a comment may contain an empty text tag.
 | 
					
						
							|  |  |  | 		var rt = parse_si(textMatch[1]); | 
					
						
							|  |  |  | 		comment.r = rt.r; | 
					
						
							|  |  |  | 		comment.t = rt.t; | 
					
						
							|  |  |  | 		if(opts.cellHTML) comment.h = rt.h; | 
					
						
							|  |  |  | 		commentList.push(comment); | 
					
						
							|  |  |  | 	}); | 
					
						
							|  |  |  | 	return commentList; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2014-05-29 22:30:03 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | function write_comments_xml(data, opts) { } |