1<?php 2/******************************** 3OSBib: 4A collection of PHP classes to manage bibliographic formatting for OS bibliography software 5using the OSBib standard. Taken from WIKINDX (http://wikindx.sourceforge.net). 6 7Released through http://bibliophile.sourceforge.net under the GPL licence. 8Do whatever you like with this -- some credit to the author(s) would be appreciated. 9 10If you make improvements, please consider contacting the administrators at bibliophile.sourceforge.net 11so that your improvements can be added to the release package. 12 13Mark Grimshaw 2005 14http://bibliophile.sourceforge.net 15********************************/ 16/** 17* This mapping class is specific to BibTeX for those databases that store or access their data in associative arrays 18* modelled on BibTeX. e.g. 19* array( 20* 'author' => 'Grimshaw, Mark and Boulanger, Christian', 21* 'title' => 'How Bibliographies Ruined our Lives', 22* 'year' => '2005', 23* 'volume' => '20', 24* 'number' => '4', 25* 'journal' => 'Journal of Mundane Trivia', 26* 'pages' => '42--111', 27* 'howpublished' => "\url{http://bibliophile.sourceforge.net}", 28* ); 29* 30* See the README for details on how to use this 31*/ 32class STYLEMAPBIBTEX 33{ 34 function STYLEMAPBIBTEX() 35 { 36 $this->loadMap(); 37 } 38/** 39* loadMap: Load the map into arrays based on resource type. 40* 41* The basic() array contains database fields that are common to all types of resources. 42* The key is the database field and the value is displayed to the user to be part of the style definition. 43* e.g. if the user enters: 44* author. title. publisherName|: publisherLocation|. 45* for a style definition for a book, we know that 'author' is the database field 'creator1', 'title' is 46* the database field 'title' etc. 47* There are some exceptions as defined by WIKINDX (other systems may have different methods). Because these may be 48* represented in different ways in different systems, you will need to explicitly define these. See BIBSTYLE.php 49* for examples of how WIKINDX does this. The comments below relate to how WIKINDX stores such values in its database: 50* 1/ 'originalPublicationYear doesn't exist in the database but is used to re-order publicationYear and reprintYear 51* for book and book_article resource types. 52* 2/ 'pages' doesn't exist in the database but is created on the fly in BIBSTYLE.php as an amalgamation of 53* the database fields pageStart and pageEnd. 54* 3/ 'date' doesn't exist in the database but is created on the fly in BIBSTYLE.php as an amalgamation of 55* the database fields miscField2 (day) and miscField3 (month). 56* 4/ 'runningTime' doesn't exist in the database but is created on the fly in BIBSTYLE.php as an amalgamation of 57* the database fields miscField1 (minute) and miscField4 (hour) for film/broadcast. 58* 59* @author Mark Grimshaw 60*/ 61 function loadMap() 62 { 63/** 64* What fields are available to the in-text citation template? This array should NOT be changed. 65* Currently, in-text citation formatting is not available (although it is defined in the XML style file). Future 66* releases will implement this. 67*/ 68 $this->citation = array( 69 "creator" => "creator", 70 "title" => "title", 71 "year" => "year", 72 "pages" => "pages", 73 "ID" => "ID"); 74/** 75* NB NB NB NB NB NB NB NB NB NB NB 76* 77* Map between OSBib's resource types (keys) and the bibliographic system's resource types (values). You must 78* NOT remove any elements or change the generic types. You may edit the value of each element. If your system 79* does not have a particular resource type, then you should set the value to FALSE (e.g. 'film' => FALSE,) 80*/ 81 $this->types = array( 82// The generic types must be present and unchanged. DO NOT CHANGE THE VALUE OF THESE THREE! 83 'genericBook' => 'genericBook', 84 'genericArticle' => 'genericArticle', 85 'genericMisc' => 'genericMisc', 86// Edit values if necessary 87 'book' => 'book', 88 'book_article' => 'inbook', 89 'journal_article' => 'article', 90 'newspaper_article' => 'article', 91 'magazine_article' => 'article', 92 'proceedings' => 'proceedings', 93 'conference_paper' => FALSE, 94 'proceedings_article' => 'inproceedings', 95 'thesis' => FALSE, 96 'web_article' => FALSE, 97 'film' => FALSE, 98 'broadcast' => FALSE, 99 'music_album' => FALSE, 100 'music_track' => FALSE, 101 'music_score' => FALSE, 102 'artwork' => FALSE, 103 'software' => FALSE, 104 'audiovisual' => FALSE, 105 'database' => FALSE, 106 'government_report' => FALSE, 107 'report' => 'techreport', 108 'hearing' => FALSE, 109 'statute' => FALSE, 110 'legal_ruling' => FALSE, 111 'case' => FALSE, 112 'bill' => FALSE, 113 'patent' => FALSE, 114 'personal' => FALSE, 115 'unpublished' => 'unpublished', 116 'classical' => FALSE, 117 'manuscript' => FALSE, 118 'map' => FALSE, 119 'chart' => FALSE, 120 'miscellaneous' => 'misc', 121 ); 122/** 123* Basic array of elements common to all types - change the key to map the database field that stores that value. 124*/ 125 $this->basic = array( 126 'title' => 'title', 127 'year' => 'publicationYear', 128 ); 129/** 130* Creator mapping. OSBib uses 'creator1' .. 'creator5' for internally managing creator names such as 131* author, editor, series editor, translator, reviser, artist, inventor, composer etc. The associative 132* array (SQL row) you submit to $this->bibformat->preProcess() MUST use these fields for the creators. 133* Furthermore, you may NOT change any keys (or values) in the arrays below that are 'creator1' ... 'creator5'. 134*/ 135 136/** 137* NB NB NB NB NB NB NB NB NB NB NB 138* 139* For the following arrays, the only things you should change are the keys of each array (except 'creator1' 140* .. 'creator5' - see above). These keys are your database fieldnames for resources. 141* The values are displayed to the user when creating/editing a style and 142* must NOT change or be removed. If your database does not store a particular value, then it should still 143* exist in the array and must have a null key (e.g. $this->book[] = 'publisherName'; in the case of a database 144* that does not store publisher names for books ;-)). 145* 146* The keys 'creator1', 'creator2', 'date' and 'URL' are special keys. All other keys should be lowercase 147* field names from the BibTeX specification. 148************** 149************** 150* Do NOT remove arrays. 151* Do not remove array elements. 152* Do not add array elements. 153************** 154************** 155* 156* You do not need to edit arrays where the value in $this->types above is FALSE as the array will then simply be 157* ignored. So, although 34 resource types are defined here, if you system only has 6 resource types, you only need 158* to edit those 6 types. 159* 160* If you do not conform to this, OSBib XML style definition sheets you produce will not be compatible with other systems. 161*/ 162// Three Generic fallback types used when there's no style definition for one of the resources below. 163// Generic Book type - no collection data, like a book 164 $this->genericBook = $this->basic; 165 $this->genericBook['creator1'] = 'creator'; 166 $this->genericBook['creator2'] = 'editor'; 167 $this->genericBook['publisher'] = 'publisherName'; 168 $this->genericBook['address'] = 'publisherLocation'; 169 $this->genericBook['ISBN'] = 'ID'; 170// Generic Article type - in a collection like an article 171 $this->genericArticle = $this->basic; 172 $this->genericArticle['creator1'] = 'creator'; 173 $this->genericArticle['creator2'] = 'editor'; 174 $this->genericArticle['journal'] = 'collection'; 175 $this->genericArticle['publisher'] = 'publisherName'; 176 $this->genericArticle['address'] = 'publisherLocation'; 177 $this->genericArticle['date'] = 'date'; 178 $this->genericArticle['pages'] = 'pages'; 179 $this->genericArticle['ISBN'] = 'ID'; 180// Generic Miscellaneous type - whatever is best not put in the above two fall back types....? 181 $this->genericMisc = $this->basic; 182 $this->genericMisc['creator1'] = 'creator'; 183 $this->genericMisc['publisher'] = 'publisherName'; 184 $this->genericMisc['address'] = 'publisherLocation'; 185 $this->genericMisc['type'] = 'type'; 186 $this->genericMisc['date'] = 'date'; 187 $this->genericMisc['ISBN'] = 'ID'; 188 189// Resource specific mappings. The order here is the display order when editing/creating styles. 190// BOOK 191 $this->book = $this->basic; 192 $this->book['creator1'] = 'author'; 193 $this->book['creator2'] = 'editor'; 194 $this->book[] = 'translator'; 195 $this->book[] = 'reviser'; 196 $this->book[] = 'seriesEditor'; 197 $this->book['series'] = 'seriesTitle'; 198 $this->book['edition'] = 'edition'; 199 $this->book['number'] = 'seriesNumber'; 200 $this->book[] = 'numberOfVolumes'; 201 $this->book['volume'] = 'volumeNumber'; 202 $this->book[] = 'originalPublicationYear'; 203 $this->book[] = 'volumePublicationYear'; 204 $this->book['publisher'] = 'publisherName'; 205 $this->book['address'] = 'publisherLocation'; 206 $this->book['ISBN'] = 'ISBN'; 207// BOOK ARTICLE/CHAPTER 208 $this->book_article = $this->book; 209 $this->book_article['bookitle'] = 'book'; 210 $this->book_article[] = 'shortBook'; 211 $this->book_article['pages'] = 'pages'; 212// JOURNAL ARTICLE 213 $this->journal_article = $this->basic; 214 $this->journal_article['creator1'] = 'author'; 215 $this->journal_article['volume'] = 'volume'; 216 $this->journal_article['number'] = 'issue'; 217 $this->journal_article['journal'] = 'journal'; 218 $this->journal_article[] = 'shortJournal'; 219 $this->journal_article['pages'] = 'pages'; 220 $this->journal_article['ISSN'] = 'ISSN'; 221// NEWSPAPER ARTICLE 222 $this->newspaper_article = $this->basic; 223 $this->newspaper_article['year'] = 'issueYear'; // override publicationYear 224 $this->newspaper_article['date'] = 'issueDate'; 225 $this->newspaper_article['creator1'] = 'author'; 226 $this->newspaper_article['journal'] = 'newspaper'; 227 $this->newspaper_article[] = 'shortNewspaper'; 228 $this->newspaper_article['chapter'] = 'section'; 229 $this->newspaper_article['address'] = 'city'; 230 $this->newspaper_article['pages'] = 'pages'; 231 $this->newspaper_article['ISSN'] = 'ISSN'; 232// MAGAZINE ARTICLE 233 $this->magazine_article = $this->basic; 234 $this->magazine_article['year'] = 'issueYear'; // override publicationYear 235 $this->magazine_article['date'] = 'issueDate'; 236 $this->magazine_article['creator1'] = 'author'; 237 $this->magazine_article['journal'] = 'magazine'; 238 $this->magazine_article[] = 'shortMagazine'; 239 $this->magazine_article['edition'] = 'edition'; 240 $this->magazine_article['type'] = 'type'; 241 $this->magazine_article['volume'] = 'volume'; 242 $this->magazine_article['number'] = 'number'; 243 $this->magazine_article['pages'] = 'pages'; 244 $this->magazine_article['ISSN'] = 'ISSN'; 245// PROCEEDINGS ARTICLE 246 $this->proceedings_article = $this->basic; 247 $this->proceedings_article['creator1'] = 'author'; 248 $this->proceedings_article['booktitle'] = 'conference'; 249 $this->proceedings_article[] = 'shortConference'; 250 $this->proceedings_article['organization'] = 'conferenceOrganiser'; 251 $this->proceedings_article['address'] = 'conferenceLocation'; 252 $this->proceedings_article['date'] = 'conferenceDate'; 253// overwrite publicationYear 254 $this->proceedings_article['year'] = 'conferenceYear'; 255 $this->proceedings_article['pages'] = 'pages'; 256 $this->proceedings_article['ISBN'] = 'ISSN'; 257// THESIS 258 $this->thesis = $this->basic; 259// overwrite publicationYear 260 $this->thesis['year'] = 'awardYear'; 261 $this->thesis['creator1'] = 'author'; 262 $this->thesis[] = 'label'; // 'thesis', 'dissertation' 263// 'type' is special and used in BIBFORMAT.php 264 $this->thesis['type'] = 'type'; // 'Master's', 'PhD', 'Doctoral', 'Diploma' etc. 265 $this->thesis['institution'] = 'institution'; 266 $this->thesis['address'] = 'institutionLocation'; 267 $this->thesis[] = 'department'; 268 $this->thesis['journal'] = 'journal'; 269 $this->thesis[] = 'shortJournal'; 270 $this->thesis['volume'] = 'volumeNumber'; 271 $this->thesis['number'] = 'issueNumber'; 272 $this->thesis[] = 'abstractYear'; 273 $this->thesis['pages'] = 'pages'; 274 $this->thesis['ISBN'] = 'ID'; 275// WEB ARTICLE 276 $this->web_article = $this->basic; 277 $this->web_article['creator1'] = 'author'; 278 $this->web_article['journal'] = 'journal'; 279 $this->web_article[] = 'shortJournal'; 280 $this->web_article['volume'] = 'volume'; 281 $this->web_article['number'] = 'issue'; 282 $this->web_article['pages'] = 'pages'; 283 $this->web_article['URL'] = 'URL'; 284 $this->web_article['date'] = 'accessDate'; 285 $this->web_article[] = 'accessYear'; 286 $this->web_article['ISBN'] = 'ID'; 287// MISCELLANEOUS 288 $this->miscellaneous = $this->basic; 289 $this->miscellaneous['creator1'] = 'creator'; 290 $this->miscellaneous['type'] = 'medium'; 291 $this->miscellaneous['publisher'] = 'publisherName'; 292 $this->miscellaneous['address'] = 'publisherLocation'; 293 $this->miscellaneous['ISBN'] = 'ID'; 294// REPORT/DOCUMENTATION 295 $this->report = $this->basic; 296 $this->report['creator1'] = 'author'; 297 $this->report['type'] = 'type'; 298 $this->report['series'] = 'seriesTitle'; 299 $this->report['number'] = 'number'; 300 $this->report['institution'] = 'institution'; 301 $this->report['address'] = 'institutionLocation'; 302 $this->report['date'] = 'reportDate'; 303 $this->report['year'] = 'reportYear'; // override 304 $this->report['pages'] = 'pages'; 305 $this->report['ISSN'] = 'ISSN'; 306// PROCEEDINGS (complete set of) 307 $this->proceedings = $this->basic; 308 $this->proceedings['creator2'] = 'editor'; 309 $this->proceedings['organization'] = 'conferenceOrganiser'; 310 $this->proceedings['address'] = 'conferenceLocation'; 311 $this->proceedings['date'] = 'conferenceDate'; 312 $this->proceedings['year'] = 'conferenceYear'; // override 313 $this->proceedings['ISBN'] = 'ISSN'; 314// UNPUBLISHED WORK 315 $this->unpublished = $this->basic; 316 $this->unpublished['year'] = 'year'; // Override 317 $this->unpublished['creator1'] = 'author'; 318 $this->unpublished['type'] = 'type'; 319 $this->unpublished['institution'] = 'institution'; 320 $this->unpublished['address'] = 'institutionLocation'; 321 $this->unpublished['ISBN'] = 'ID'; 322// CONFERENCE PAPER 323 $this->conference_paper = $this->basic; 324 $this->conference_paper['creator1'] = 'author'; 325 $this->conference_paper['publisherName'] = 'publisherName'; 326 $this->conference_paper['publisherLocation'] = 'publisherLocation'; 327 $this->conference_paper['isbn'] = 'ISSN'; 328 329/*********************** 330The following not used by BibTeX. They are ignored as per $this->types above. 331***********************/ 332 333// FILM 334 $this->film = $this->basic; 335 $this->film['creator1'] = 'director'; 336 $this->film['creator2'] = 'producer'; 337 $this->film['field1'] = 'country'; 338 $this->film['runningTime'] = 'runningTime'; 339 $this->film['publisherName'] = 'distributor'; 340 $this->film['isbn'] = 'ID'; 341// BROADCAST 342 $this->broadcast = $this->basic; 343 $this->broadcast['creator1'] = 'director'; 344 $this->broadcast['creator2'] = 'producer'; 345 $this->broadcast['runningTime'] = 'runningTime'; 346 $this->broadcast['date'] = 'broadcastDate'; 347 $this->broadcast['year1'] = 'broadcastYear'; // override 348 $this->broadcast['publisherName'] = 'channel'; 349 $this->broadcast['publisherLocation'] = 'channelLocation'; 350 $this->broadcast['isbn'] = 'ID'; 351// SOFTWARE 352 $this->software = $this->basic; 353 $this->software['creator1'] = 'author'; 354 $this->software['field2'] = 'type'; 355 $this->software['field4'] = 'version'; 356 $this->software['publisherName'] = 'publisherName'; 357 $this->software['publisherLocation'] = 'publisherLocation'; 358 $this->software['isbn'] = 'ID'; 359// ARTWORK 360 $this->artwork = $this->basic; 361 $this->artwork['creator1'] = 'artist'; 362 $this->artwork['field2'] = 'medium'; 363 $this->artwork['publisherName'] = 'publisherName'; 364 $this->artwork['publisherLocation'] = 'publisherLocation'; 365 $this->artwork['isbn'] = 'ID'; 366// AUDIOVISUAL 367 $this->audiovisual = $this->basic; 368 $this->audiovisual['creator1'] = 'author'; 369 $this->audiovisual['creator2'] = 'performer'; 370 $this->audiovisual['creator5'] = 'seriesEditor'; 371 $this->audiovisual['field1'] = 'seriesTitle'; 372 $this->audiovisual['field4'] = 'seriesNumber'; 373 $this->audiovisual['field3'] = 'edition'; 374 $this->audiovisual['miscField4'] = 'numberOfVolumes'; 375 $this->audiovisual['field5'] = 'volumeNumber'; 376 $this->audiovisual['year3'] = 'volumePublicationYear'; 377 $this->audiovisual['publisherName'] = 'publisherName'; 378 $this->audiovisual['publisherLocation'] = 'publisherLocation'; 379 $this->audiovisual['field2'] = 'medium'; 380 $this->audiovisual['isbn'] = 'ID'; 381// (LEGAL) CASE 382 $this->case = $this->basic; 383 $this->case['field1'] = 'reporter'; 384 $this->case['creator3'] = 'counsel'; 385 $this->case['field4'] = 'reporterVolume'; 386 $this->case['date'] = 'caseDecidedDate'; 387 $this->case['year1'] = 'caseDecidedYear'; // override 388 $this->case['publisherName'] = 'court'; 389 $this->case['isbn'] = 'ISBN'; 390// LEGAL RULING/REGULATION 391 $this->legal_ruling = $this->basic; 392 $this->legal_ruling['creator1'] = 'author'; 393 $this->legal_ruling['field1'] = 'section'; 394 $this->legal_ruling['field2'] = 'type'; 395 $this->legal_ruling['field4'] = 'number'; 396 $this->legal_ruling['field3'] = 'edition'; 397 $this->legal_ruling['date'] = 'codeEditionDate'; 398 $this->legal_ruling['year1'] = 'codeEditionYear'; // override 399 $this->legal_ruling['publisherName'] = 'publisherName'; 400 $this->legal_ruling['publisherLocation'] = 'publisherLocation'; 401 $this->legal_ruling['pages'] = 'pages'; 402 $this->legal_ruling['isbn'] = 'ISBN'; 403// (PARLIAMENTARY) BILL 404 $this->bill = $this->basic; 405 $this->bill['field2'] = 'code'; 406 $this->bill['field3'] = 'codeVolume'; 407 $this->bill['field1'] = 'codeSection'; 408 $this->bill['field5'] = 'number'; 409 $this->bill['field4'] = 'session'; 410 $this->bill['year1'] = 'sessionYear'; // override publicationYear 411 $this->bill['publisherName'] = 'legislativeBody'; 412 $this->bill['publisherLocation'] = 'publisherLocation'; 413 $this->bill['pages'] = 'pages'; 414 $this->bill['isbn'] = 'ID'; 415// CLASSICAL WORK 416 $this->classical = $this->basic; 417 $this->classical['creator1'] = 'attributedTo'; 418 $this->classical['field4'] = 'volume'; 419 $this->classical['isbn'] = 'ISBN'; 420// GOVERNMENT REPORT/DOCUMENTATION 421 $this->government_report = $this->basic; 422 $this->government_report['creator1'] = 'author'; 423 $this->government_report['field2'] = 'department'; 424 $this->government_report['field1'] = 'section'; 425 $this->government_report['field4'] = 'volume'; 426 $this->government_report['field5'] = 'issueNumber'; 427 $this->government_report['field3'] = 'edition'; 428 $this->government_report['publisherName'] = 'publisherName'; 429 $this->government_report['pages'] = 'pages'; 430 $this->government_report['isbn'] = 'ISSN'; 431// GOVERNMENT/LEGAL HEARING 432 $this->hearing = $this->basic; 433 $this->hearing['field1'] = 'committee'; 434 $this->hearing['field2'] = 'legislativeBody'; 435 $this->hearing['field3'] = 'session'; 436 $this->hearing['miscField4'] = 'numberOfVolumes'; 437 $this->hearing['field4'] = 'documentNumber'; 438 $this->hearing['date'] = 'hearingDate'; 439 $this->hearing['year1'] = 'hearingYear'; // override 440 $this->hearing['publisherName'] = 'publisherName'; 441 $this->hearing['publisherLocation'] = 'publisherLocation'; 442 $this->hearing['pages'] = 'pages'; 443 $this->hearing['isbn'] = 'ISSN'; 444// ONLINE DATABASE 445 $this->database = $this->basic; 446 $this->database['creator1'] = 'author'; 447 $this->database['URL'] = 'URL'; 448 $this->database['date'] = 'accessDate'; 449 $this->database['year2'] = 'accessYear'; 450 $this->database['publisherName'] = 'publisherName'; 451 $this->database['publisherLocation'] = 'publisherLocation'; 452 $this->database['isbn'] = 'ID'; 453// MANUSCRIPT 454 $this->manuscript = $this->basic; 455 $this->manuscript['creator1'] = 'author'; 456 $this->manuscript['collectionTitle'] = 'collection'; 457 $this->manuscript['collectionTitleShort'] = 'shortCollection'; 458 $this->manuscript['field3'] = 'number'; 459 $this->manuscript['field2'] = 'type'; 460 $this->manuscript['date'] = 'issueDate'; 461 $this->manuscript['year1'] = 'issueYear'; // override 462 $this->manuscript['pages'] = 'pages'; 463 $this->manuscript['isbn'] = 'ISBN'; 464// MAP 465 $this->map = $this->basic; 466 $this->map['creator1'] = 'cartographer'; 467 $this->map['creator5'] = 'seriesEditor'; 468 $this->map['field1'] = 'seriesTitle'; 469 $this->map['field2'] = 'type'; 470 $this->map['field3'] = 'edition'; 471 $this->map['publisherName'] = 'publisherName'; 472 $this->map['publisherLocation'] = 'publisherLocation'; 473 $this->map['isbn'] = 'ISBN'; 474// CHART 475 $this->chart = $this->basic; 476 $this->chart['creator1'] = 'creator'; 477 $this->chart['field1'] = 'fileName'; 478 $this->chart['field2'] = 'program'; 479 $this->chart['field3'] = 'size'; 480 $this->chart['field4'] = 'type'; 481 $this->chart['field5'] = 'version'; 482 $this->chart['field6'] = 'number'; 483 $this->chart['publisherName'] = 'publisherName'; 484 $this->chart['publisherLocation'] = 'publisherLocation'; 485 $this->chart['isbn'] = 'ID'; 486// STATUTE 487 $this->statute = $this->basic; 488 $this->statute['field2'] = 'code'; 489 $this->statute['field5'] = 'codeNumber'; 490 $this->statute['field1'] = 'publicLawNumber'; 491 $this->statute['field3'] = 'session'; 492 $this->statute['field4'] = 'section'; 493 $this->statute['date'] = 'statuteDate'; 494 $this->statute['year1'] = 'statuteYear'; // override 495 $this->statute['pages'] = 'pages'; 496 $this->statute['isbn'] = 'ID'; 497// PATENT 498 $this->patent = $this->basic; 499 $this->patent['creator1'] = 'inventor'; 500 $this->patent['creator2'] = 'issuingOrganisation'; 501 $this->patent['creator3'] = 'agent'; 502 $this->patent['creator4'] = 'intAuthor'; 503 $this->patent['field8'] = 'patentNumber'; 504 $this->patent['field2'] = 'versionNumber'; 505 $this->patent['field3'] = 'applicationNumber'; 506 $this->patent['field6'] = 'intTitle'; 507 $this->patent['field5'] = 'intPatentNumber'; 508 $this->patent['field7'] = 'intClassification'; 509 $this->patent['field1'] = 'publishedSource'; 510 $this->patent['field9'] = 'legalStatus'; 511 $this->patent['field4'] = 'type'; 512 $this->patent['publisherName'] = 'assignee'; 513 $this->patent['publisherLocation'] = 'assigneeLocation'; 514 $this->patent['date'] = 'issueDate'; 515 $this->patent['year1'] = 'issueYear'; // override 516 $this->patent['isbn'] = 'ID'; 517// PERSONAL COMMUNICATION 518 $this->personal = $this->basic; 519 $this->personal['creator1'] = 'author'; 520 $this->personal['creator2'] = 'recipient'; 521 $this->personal['field2'] = 'type'; 522 $this->personal['date'] = 'date'; 523 $this->personal['year1'] = 'year'; // override 524 $this->personal['isbn'] = 'ID'; 525// MUSIC ALBUM 526 $this->music_album = $this->basic; 527 $this->music_album['creator1'] = 'performer'; 528 $this->music_album['creator2'] = 'composer'; 529 $this->music_album['creator3'] = 'conductor'; 530 $this->music_album['field2'] = 'medium'; 531 $this->music_album['publisherName'] = 'publisherName'; 532 $this->music_album['isbn'] = 'ID'; 533// MUSIC TRACK 534 $this->music_track = $this->basic; 535 $this->music_track['creator1'] = 'performer'; 536 $this->music_track['creator2'] = 'composer'; 537 $this->music_track['creator3'] = 'conductor'; 538 $this->music_track['collectionTitle'] = 'album'; 539 $this->music_track['collectionTitleShort'] = 'shortAlbum'; 540 $this->music_track['field2'] = 'medium'; 541 $this->music_track['publisherName'] = 'publisherName'; 542 $this->music_track['isbn'] = 'ID'; 543// MUSIC SCORE 544 $this->music_score = $this->basic; 545 $this->music_score['creator1'] = 'composer'; 546 $this->music_score['creator2'] = 'editor'; 547 $this->music_score['field3'] = 'edition'; 548 $this->music_score['publisherName'] = 'publisherName'; 549 $this->music_score['publisherLocation'] = 'publisherLocation'; 550 $this->music_score['isbn'] = 'ISBN'; 551 } 552} 553?> 554