Changeset 79 for branches/4.2/com/jeroenwijering/parsers/TTParser.as
- Timestamp:
- 10/08/08 10:56:42 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/4.2/com/jeroenwijering/parsers/TTParser.as
r12 r79 1 1 /** 2 * Parse a TimedText XML and return a rich array. 2 * Parse a TimedText XML and return an array of captions. 3 * 4 * The entries in the array look like: 5 * []['begin'] 6 * []['end'] 7 * []['text'] 8 * 3 9 **/ 4 10 package com.jeroenwijering.parsers { … … 11 17 12 18 13 /** All supported styling elements. **/ 14 public static var STYLING:Object = { 15 'id':0, 16 'backgroundColor':'000000', 17 'color':'FFFFFF', 18 'displayAlign':'after', 19 'fontFamily':'Arial', 20 'fontSize':12, 21 'fontStyle':false, 22 'fontWeight':false, 23 'opacity':0, 24 'padding':20, 25 'textAlign:':'center' 26 }; 27 /** All supported paragraph elements. **/ 19 /** The supported paragraph elements. **/ 28 20 private static var ELEMENTS:Object = { 29 21 'begin':undefined, 30 22 'dur':undefined, 31 23 'end':undefined, 32 'style':undefined,33 24 'text':undefined 34 };35 /** Default style ID **/36 private static var style:Number;37 38 39 /** Parse the styling head. **/40 public static function parseStyles(dat:XML):Array {41 var arr = new Array(TTParser.STYLING);42 for each (var i in dat.children()[0].children()) {43 if (i.localName() == 'styling') {44 for each (var j in i.children()) {45 var obj = TTParser.parseStyle(j);46 arr[obj.id] = obj;47 }48 }49 }50 return arr;51 };52 53 54 /** Parse a single style definition. **/55 private static function parseStyle(dat:XML):Object {56 var obj = new Object();57 for(var i in TTParser.STYLING) {58 obj[i] = TTParser.STYLING[i];59 }60 for (var j=0; j<dat.attributes().length(); j++) {61 obj[dat.attributes()[j].localName()] = dat.attributes()[j];62 }63 return obj;64 25 }; 65 26 … … 69 30 var arr = new Array(); 70 31 var div = dat.children()[1].children()[0]; 71 if(dat.children()[1].@style > 0) {72 TTParser.style = dat.children()[1].@style;73 } else if(div.@style > 0) {74 TTParser.style = div.@style;75 }76 32 for each (var i in div.children()) { 77 33 if(i.localName() == 'p') { … … 89 45 dur:Strings.seconds(dat.@dur), 90 46 end:Strings.seconds(dat.@end), 91 text:Strings.strip(dat.children()), 92 style:dat.@style.toString() 47 text:dat.children().toString() 93 48 }; 94 49 if(obj['dur']) { 95 50 obj['end'] = obj['begin'] + obj['dur']; 96 51 delete obj['dur']; 97 }98 if(obj['style'] == '') {99 obj['style'] = TTParser.style;100 52 } 101 53 return obj;
Note: See TracChangeset
for help on using the changeset viewer.
