7
7
"minVersion" :"2.0" ,
8
8
"maxVersion" :"" ,
9
9
"priority" :50 ,
10
+ "browserSupport" :"gcs" ,
10
11
"configOptions" :{ "getCollections" :"true" , "dataMode" :"rdf/xml" } ,
11
12
"displayOptions" :{ "exportNotes" :true , "exportFileData" :false } ,
12
13
"inRepository" :false ,
13
- "lastUpdated" :"2011-02-22 00:39:57 "
14
+ "lastUpdated" :"2011-07-08 04:50:39 "
14
15
}
15
16
16
17
var n = {
@@ -233,11 +234,19 @@ var FIELDS = {
233
234
"assignee" : [ ITEM , n . z + "assignee" ] , // TODO
234
235
"priorityNumbers" : [ function ( item ) { // TODO
235
236
var priorityNumbers = item . priorityNumbers . split ( / , ? | / g) ;
236
- return [ [ ITEM , n . z + "priorityNumber" , number , true ] for each ( number in priorityNumbers ) ] ;
237
+ var returnNumbers = [ ] ;
238
+ for each ( var number in priorityNumbers ) {
239
+ returnNumbers . push ( [ ITEM , n . z + "priorityNumber" , number , true ] ) ;
240
+ }
241
+ return returnNumbers ;
237
242
} , function ( nodes ) {
238
243
var statements = Zotero . RDF . getStatementsMatching ( nodes [ ITEM ] , n . z + "priorityNumber" , null ) ;
239
244
if ( ! statements ) return false ;
240
- return [ statement [ 2 ] for each ( statement in statements ) ] . join ( ", " ) ;
245
+ var predicates = [ ] ;
246
+ for each ( var statement in statements ) {
247
+ predicates . push ( statement [ 2 ] ) ;
248
+ }
249
+ return predicates . join ( ", " ) ;
241
250
} ] ,
242
251
"references" : [ ITEM , n . z + "references" ] ,
243
252
"legalStatus" : [ ITEM , n . bibo + "status" ] ,
@@ -332,7 +341,9 @@ function getBlankNode(attachToNode, itemPredicate, blankNodePairs, create) {
332
341
if ( ! blankNode && create ) {
333
342
blankNode = Zotero . RDF . newResource ( ) ;
334
343
Zotero . RDF . addStatement ( attachToNode , itemPredicate , blankNode , false ) ;
335
- [ Zotero . RDF . addStatement ( blankNode , pair [ 0 ] , pair [ 1 ] , false ) for each ( pair in blankNodePairs ) ] ;
344
+ for each ( var pair in blankNodePairs ) {
345
+ Zotero . RDF . addStatement ( blankNode , pair [ 0 ] , pair [ 1 ] , false ) ;
346
+ }
336
347
}
337
348
338
349
return blankNode ;
@@ -362,7 +373,11 @@ Type.prototype.getMatchScore = function(node) {
362
373
var nodes = { 2 :node } ;
363
374
364
375
// check item (+2 for each match, -1 for each nonmatch)
365
- var score = 3 * [ true for each ( pair in this [ ITEM ] . pairs ) if ( Zotero . RDF . getStatementsMatching ( node , pair [ 0 ] , pair [ 1 ] ) ) ] . length - this [ ITEM ] . pairs . length ;
376
+ var score = - this [ ITEM ] . pairs . length ;
377
+ for each ( var pair in this [ ITEM ] . pairs ) {
378
+ if ( Zotero . RDF . getStatementsMatching ( node , pair [ 0 ] , pair [ 1 ] ) ) score += 3 ;
379
+ }
380
+
366
381
// check subcontainer
367
382
[ score , nodes [ SUBCONTAINER ] ] = this . _scoreNodeRelationship ( node , this [ SUBCONTAINER ] , score ) ;
368
383
// check container
@@ -387,7 +402,11 @@ Type.prototype._scoreNodeRelationship = function(node, definition, score) {
387
402
var bestScore = - 9999 ;
388
403
for each ( var statement in statements ) {
389
404
// +2 for each match, -1 for each nonmatch
390
- var testScore = 3 * [ true for each ( pair in definition . pairs ) if ( Zotero . RDF . getStatementsMatching ( statement [ 2 ] , pair [ 0 ] , pair [ 1 ] ) ) ] . length - definition . pairs . length ;
405
+ var testScore = - definition . pairs . length ;
406
+ for each ( var pair in definition . pairs ) {
407
+ if ( Zotero . RDF . getStatementsMatching ( statement [ 2 ] , pair [ 0 ] , pair [ 1 ] ) ) score += 3 ;
408
+ }
409
+
391
410
if ( testScore > bestScore ) {
392
411
subNode = statement [ 2 ] ;
393
412
bestScore = testScore ;
@@ -462,8 +481,9 @@ Type.prototype.addNodeRelations = function(nodes) {
462
481
}
463
482
464
483
// add type
465
- [ Zotero . RDF . addStatement ( nodes [ i ] , pair [ 0 ] , pair [ 1 ] , false )
466
- for each ( pair in this [ i ] . pairs ) ] ;
484
+ for each ( var pair in this [ i ] . pairs ) {
485
+ Zotero . RDF . addStatement ( nodes [ i ] , pair [ 0 ] , pair [ 1 ] , false )
486
+ }
467
487
468
488
// add relation to parent
469
489
for ( var j = i - 1 ; j > 1 ; j -- ) {
@@ -560,7 +580,12 @@ LiteralProperty.prototype.mapToItem = function(newItem, nodes) {
560
580
if ( ! node ) return false ;
561
581
var statements = getStatementsByDefinition ( this . mapping [ 1 ] , node ) ;
562
582
if ( ! statements ) return false ;
563
- newItem [ this . field ] = [ stmt [ 2 ] . toString ( ) for each ( stmt in statements ) ] . join ( ", " ) ;
583
+
584
+ var content = [ ] ;
585
+ for each ( var stmt in statements ) {
586
+ content . push ( stmt [ 2 ] . toString ( ) ) ;
587
+ }
588
+ newItem [ this . field ] = content . join ( "," ) ;
564
589
}
565
590
return true ;
566
591
}
@@ -571,8 +596,9 @@ LiteralProperty.prototype.mapToItem = function(newItem, nodes) {
571
596
LiteralProperty . prototype . mapFromItem = function ( item , nodes ) {
572
597
if ( typeof this . mapping [ 0 ] == "function" ) { // function case: triples returned
573
598
// check function case
574
- [ Zotero . RDF . addStatement ( nodes [ triple [ 0 ] ] , triple [ 1 ] , triple [ 2 ] , triple [ 3 ] )
575
- for each ( triple in this . mapping [ 0 ] ( item ) ) ] ;
599
+ for each ( var triple in this . mapping [ 0 ] ( item ) ) {
600
+ Zotero . RDF . addStatement ( nodes [ triple [ 0 ] ] , triple [ 1 ] , triple [ 2 ] , triple [ 3 ] )
601
+ }
576
602
} else if ( typeof this . mapping [ 1 ] == "string" ) { // string case: simple predicate
577
603
Zotero . RDF . addStatement ( nodes [ this . mapping [ 0 ] ] ,
578
604
this . mapping [ 1 ] , item . uniqueFields [ this . field ] , true ) ;
@@ -975,7 +1001,7 @@ var usedURIs = {};
975
1001
976
1002
function doExport ( ) {
977
1003
// add namespaces
978
- [ Zotero . RDF . addNamespace ( i , n [ i ] ) for ( i in n ) ] ;
1004
+ for ( var i in n ) Zotero . RDF . addNamespace ( i , n [ i ] ) ;
979
1005
980
1006
// compile references and create URIs
981
1007
var item ;
0 commit comments