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