/*
SMMiLe JavaScript Object Model

SAMPLE USAGE [note that "script" tag is broken as "sc ript" so that it does not end this script]:

The code blow goes in the <HEAD> section of your HTML file

<sc ript language="JavaScript" src="js_direcotry/contentset.js"></sc ript>
<sc ript language="JavaScript">
if((typeof SMDOCID != 'undefined' ) && (SMDOCID != "")) {
    SMChosenContent = SMContentSet[SMChosenContentSet].contents.length;
    for (var i=0; i<SMContentSet[SMChosenContentSet].contents.length; i++) {
        if (SMContentSet[SMChosenContentSet].contents[i].id==SMDOCID) {
            SMChosenContent=i;
            break;
        }
    }
    document.write("<scri" + "pt language=\"JavaScript\" src=\"js_directory/" + SMDOCID + ".js\"></sc" + "ript>");
}
</sc ript>

The JavaScript objects are modelled after the SMMiLe XML structure:

contentSet[0](id, name, language, publishedDate, contents)
|
+--contents[i](id, revisionId, type, language, role, article) 
    |
    +--article(title, metadata, core, body, photo)
        |
        +--metadata(documentMetadata, publicationMetadata, structuralMetadata, subjectMetadata, relatedContentMetadata, processingMetadata)
        |   |
        |   +--documentMetadata(storage, publisherReleaseDate,player-url)
        |   +--publicationMetadata(publicationName)
        |   +--structuralMetadata(width,height,format,resolution,duration,mimetype)
        |   +--subjectMetadata(featureName)
		|	+--relatedContentMetadata(relatedContents)
        |   |   |
	    |   |   +--relatedContents[type](id, type, refId, refType);
        |   +--processingMetadata()
        |
        +--core(headline, docAbstract, author, copyright, dateLine, dateTime, type, caption)
        +-- photo(url, width, height, alt, caption)

An example of using this object model to print out the body of the second
article is: document.write(SMContentSet[0].contents[1].article.body);

*/

function displayContentPage(url, contentNum, contentSetNum, targetWindowName) {
    // check the arguments...
    if (displayContentPage.arguments.length == 1 ) {
        contentNum=0;
        contentSetNum=0;
        targetWindowName="_self";
    } else if (displayContentPage.arguments.length == 2 ) {
        contentSetNum=0;
        targetWindowName="_self";
    } else if (displayContentPage.arguments.length == 3 ) {
        targetWindowName="_self";
    }

    window.open(url + "?SMDOCID=" + SMContentSet[contentSetNum].contents[contentNum].id + "&SMContentSet=" + contentSetNum, targetWindowName);
}

function getParamValue(matchString, defaultValue) {
    var thisURL = window.location.toString();
    var value = defaultValue;
    if ((thisURL.indexOf("?") != -1) &&
        (thisURL.indexOf(matchString) != -1) &&
        (thisURL.charAt(thisURL.indexOf(matchString) + matchString.length) != "&")) {
        start = thisURL.indexOf(matchString) + matchString.length;
        if (thisURL.indexOf("&", start) > -1) {
            value = thisURL.substring(start, (thisURL.indexOf("&", start)));
        }
        else {
            value = thisURL.substring(start, thisURL.length);
        }
    }
    return value;
}

var SMChosenContent = Number(getParamValue("SMContentIndex=", 0));
var SMChosenContentSet = Number(getParamValue("SMContentSet=", 0));
var SMChosenSegment = getParamValue("SMSegment=", "original");
var SMDOCID = getParamValue("SMDOCID=", "");

function prettyDate(date) {
    var result;
    if (date.substring(5,7) == "01") {result = "January ";}
    else if (date.substring(5,7) == "02") {result = "February ";}
    else if (date.substring(5,7) == "03") {result = "March ";}
    else if (date.substring(5,7) == "04") {result = "April ";}
    else if (date.substring(5,7) == "05") {result = "May ";}
    else if (date.substring(5,7) == "06") {result = "June ";}
    else if (date.substring(5,7) == "07") {result = "July ";}
    else if (date.substring(5,7) == "08") {result = "August ";}
    else if (date.substring(5,7) == "09") {result = "September ";}
    else if (date.substring(5,7) == "10") {result = "October ";}
    else if (date.substring(5,7) == "11") {result = "November ";}
    else {result = "December ";}
    if (date.charAt(8) == "0") {result += date.charAt(9);}
    else {result += date.substring(8,10);}
    return result + ", " + date.substring(0,4);
}

// Metadata sub-type element objects.
function MakeDocumentMetadata(myStorage, myPublisherReleaseDate, myPlayerUrl) {
    this.storage = myStorage;
    this.publisherReleaseDate = myPublisherReleaseDate;
    this.playerUrl = myPlayerUrl;
}
function MakePublicationMetadata(myPublicationName) {
    this.publicationName = myPublicationName;
}

function MakeStructuralMetadata(myWidth,myHeight,myFormat,myResolution,myDuration,myMimeType) {
    this.width = myWidth;
    this.height= myHeight;
    this.format = myFormat;
    this.resolution = myResolution;
    this.duration = myDuration;
    this.mimetype = myMimeType;
}
function MakeSubjectMetadata(myFeatureName) { 
    this.featureName = myFeatureName;
}

function MakeRelatedContentMetadata(myRelatedContents) {
    this.relatedContents = myRelatedContents;
}

function MakeRelatedContent(myId, myType, myRefId, myRefType) {
    this.id=myId;
    this.type=myType;
    this.refId=myRefId;
    this.refType=myRefType;
}

function MakeProcessingMetadata() { }

// Metadata element object (made up of the sub-types).
function MakeMetadata(myDocumentMetadata, myPublicationMetadata, myStructuralMetadata, mySubjectMetadata, myRelatedContentMetadata, myProcessingMetadata) {
    this.documentMetadata = myDocumentMetadata;
    this.publicationMetadata = myPublicationMetadata;
    this.structuralMetadata = myStructuralMetadata;
    this.subjectMetadata = mySubjectMetadata;
    this.relatedContentMetadata = myRelatedContentMetadata;
    this.processingMetadata = myProcessingMetadata;
}

// Core element object
function MakeCore(myHeadline, myAbstract, myAuthor, myCopyright, myDateLine, myDateTime, myType, myCaption) {
    this.headline = myHeadline;
    this.docAbstract = myAbstract;
    this.author = myAuthor;
    this.copyright = myCopyright;
    this.dateLine = myDateLine;
    this.dateTime = myDateTime;
    this.type = myType;
    this.caption = myCaption;
}

function MakePhoto (myURL,myWidth,myHeight,myAlt,myCaption) {
    this.url = myURL;
    this.width = myWidth;
    this.height = myHeight;
    this.alt = myAlt;
    this.caption = myCaption;
}

// Article element object
function MakeArticle(myTitle, myMetadata, myCore, myBody, myPhoto) {
    this.title = myTitle;
    this.metadata = myMetadata;
    this.core = myCore;
    this.body = myBody;
    this.photo = myPhoto;
}

//Segment element object
function MakeSegment (myId,myType,myIndex,myMetadata) {
    this.id = myId;
    this.type = myType;
    this.Index = myIndex;
    this.metadata = myMetadata;
}

// Content element object
function MakeContent(myId, myRevisionId, myType, myLanguage, myRole, myArticle) {
    this.id = myId;
    this.revisionId = myRevisionId;
    this.type = myType;
    this.language = myLanguage;
    this.role = myRole;
    this.article = myArticle;
}

// Content-set master element object
function MakeContentSet(myId, myName, myLanguage, myPublishedDate, myContents) {
    this.id = myId;
    this.name = myName;
    this.language = myLanguage;
    this.publishedDate = myPublishedDate;
    this.contents = myContents;
}

// Intializes the data objects.
var Index = -1;
if (typeof SMContentSet == "undefined") {
    var SMContentSet = new Array();
    var contents = new Array();
    contentSetId = '8_9';
    contentSetName = 'Seaport';
    contentSetLanguage = '';
    contentSetPublishedDate = '2008-04-16T02:27:13-05:00';
}

documentMetadata = new MakeDocumentMetadata('internal', '2008-04-15T04:46:00-05:00','');

publicationMetadata = new MakePublicationMetadata('Asia Pulse Pte Ltd');

structuralMetadata = new MakeStructuralMetadata('','','','','','text/xml');

subjectMetadata = new MakeSubjectMetadata('');

var relatedContents = new Array();


relatedContentMetadata = new MakeRelatedContentMetadata(relatedContents);

processingMetadata = new MakeProcessingMetadata();

metadata = new MakeMetadata(
    documentMetadata,
    publicationMetadata,
    structuralMetadata,
    subjectMetadata,
    relatedContentMetadata,
    processingMetadata);

core = new MakeCore('Fijian Coastal Villagers Ripped Off, Coral Monitors Reveal', 'SUVA, April 15 Asia Pulse - Fijian coastal villagers who plant and sell corals are being ripped off by exporters who pay them only $US150-$US200 a week compared to the annual turnovers of $US1.5 million - $US2 million the companies recorded, Fiji Times report.', 'Fijian Coastal Villagers Ripped Off, Coral Monitors Reveal', 'N/A', '(C) 2008 Asia Pulse Pte Ltd.', '', '', '', '');

title = 'Fijian Coastal Villagers Ripped Off, Coral Monitors Reveal';

article = new MakeArticle(title, metadata, core, '','');

contents[++Index] = new MakeContent('_home_content_users_imds_feeds_asiapulse_2008_04_15_ix_2207-0177-', '0', 'article', 'en-asia', '', article);

documentMetadata = new MakeDocumentMetadata('internal', '2008-04-15T02:45:11-05:00','');

publicationMetadata = new MakePublicationMetadata('BBC Monitoring Asia Pacific');

structuralMetadata = new MakeStructuralMetadata('','','','','','text/xml');

subjectMetadata = new MakeSubjectMetadata('');

var relatedContents = new Array();


relatedContentMetadata = new MakeRelatedContentMetadata(relatedContents);

processingMetadata = new MakeProcessingMetadata();

metadata = new MakeMetadata(
    documentMetadata,
    publicationMetadata,
    structuralMetadata,
    subjectMetadata,
    relatedContentMetadata,
    processingMetadata);

core = new MakeCore('Lead Ship of Whaling Fleet Returns to Japan', 'Tokyo, April 15 Kyodo - The Nisshin Maru, the lead ship of a Japanese whaling fleet, returned home Tuesday after completing a five-month mission in the Antarctic Ocean.', 'Lead Ship of Whaling Fleet Returns to Japan', 'Kyodo News Service, Tokyo, in English 0259 15 Apr 08', '(C) 2008 BBC Monitoring Asia Pacific. via ProQuest Information and Learning Company; All Rights Reserved', '', '', '', '');

title = 'Lead Ship of Whaling Fleet Returns to Japan';

article = new MakeArticle(title, metadata, core, '','');

contents[++Index] = new MakeContent('_home_content_users_imds_feeds_bhsuper_2008_04_15_BMAP_0000-0021-KEYWORD.Missing', '0', 'article', 'en-us', '', article);

documentMetadata = new MakeDocumentMetadata('internal', '2008-04-15T08:05:08-05:00','');

publicationMetadata = new MakePublicationMetadata('San Jose Mercury News, Calif.');

structuralMetadata = new MakeStructuralMetadata('','','','','','text/xml');

subjectMetadata = new MakeSubjectMetadata('');

var relatedContents = new Array();


relatedContentMetadata = new MakeRelatedContentMetadata(relatedContents);

processingMetadata = new MakeProcessingMetadata();

metadata = new MakeMetadata(
    documentMetadata,
    publicationMetadata,
    structuralMetadata,
    subjectMetadata,
    relatedContentMetadata,
    processingMetadata);

core = new MakeCore('California Salmon Season Washed Away', 'SAN JOSE, Calif. - Ken Stagnaro doesn\'t want to be the one to end the fishing legacy of his storied family.', 'California Salmon Season Washed Away', 'N/A', '(c) 2008, San Jose Mercury News (San Jose, Calif.). Distributed by Mclatchy-Tribune News Service.', '', '', '', '');

title = 'California Salmon Season Washed Away';

article = new MakeArticle(title, metadata, core, '','');

contents[++Index] = new MakeContent('_home_content_users_imds_feeds_krt_2008_04_15_kniga_2086-0043-ENV-SALMON.SJ', '0', 'article', 'en-krt', '', article);

documentMetadata = new MakeDocumentMetadata('internal', '2008-04-15T07:44:07-05:00','');

publicationMetadata = new MakePublicationMetadata('Associated Press');

structuralMetadata = new MakeStructuralMetadata('','','','','','text/xml');

subjectMetadata = new MakeSubjectMetadata('');

var relatedContents = new Array();


relatedContentMetadata = new MakeRelatedContentMetadata(relatedContents);

processingMetadata = new MakeProcessingMetadata();

metadata = new MakeMetadata(
    documentMetadata,
    publicationMetadata,
    structuralMetadata,
    subjectMetadata,
    relatedContentMetadata,
    processingMetadata);

core = new MakeCore('Hawaii first US state to track produce with microchips for food safety', 'HONOLULU - A technology used to track everything from cattle and bottles of Viagra to U.S. military weapons will soon be tested on an unlikely candidate for surveillance: tomatoes.', 'Hawaii first US state to track produce with microchips for food safety', 'By JAYMES SONG (Associated Press Writer)', 'Copyright 2008 The Associated Press. All rights reserved. This material may not be published, broadcast, rewritten or redistributed.', '', '', '', '');

title = 'Hawaii first US state to track produce with microchips for food safety';

article = new MakeArticle(title, metadata, core, '','');

contents[++Index] = new MakeContent('_home_content_users_imds_feeds_ap_2008_04_15_ap.worldstream.english.business_D902A7JO2_news_ap_org.anpa', '0', 'article', 'en-ap', '', article);

documentMetadata = new MakeDocumentMetadata('internal', '2008-04-15T10:55:00-05:00','');

publicationMetadata = new MakePublicationMetadata('PR Newswire');

structuralMetadata = new MakeStructuralMetadata('','','','','','text/xml');

subjectMetadata = new MakeSubjectMetadata('');

var relatedContents = new Array();


relatedContentMetadata = new MakeRelatedContentMetadata(relatedContents);

processingMetadata = new MakeProcessingMetadata();

metadata = new MakeMetadata(
    documentMetadata,
    publicationMetadata,
    structuralMetadata,
    subjectMetadata,
    relatedContentMetadata,
    processingMetadata);

core = new MakeCore('Sportsmen Should Beware the Clean Water Restoration Act: Conservationists, Boaters, Fishermen, Hunters, Users of All-Terrain Vehicles and Others Could See Activities Restricted by Oberstar/Feingold Measure', 'WASHINGTON, April 15, 2008 /PRNewswire-USNewswire via COMTEX/ -- The Oberstar/Feingold Clean Water Restoration Act, scheduled for a hearing in the House Transportation and Infrastructure Committee Wednesday, would do more to threaten the cherished pastimes of hunters, fishermen and other outdoor enthusiasts...', 'Sportsmen Should Beware the Clean Water Restoration Act: Conservationists, Boaters, Fishermen, Hunters, Users of All-Terrain Vehicles and Others Could See Activities Restricted by Oberstar/Feingold Measure', 'N/A', 'Copyright (C) 2008 PR Newswire. All Rights Reserved', 'WASHINGTON, April 15, 2008 /PRNewswire', '', '', '');

title = 'Sportsmen Should Beware the Clean Water Restoration Act: Conservationists, Boaters, Fishermen, Hunters, Users of All-Terrain Vehicles and Others Could See Activities Restricted by Oberstar/Feingold Measure';

article = new MakeArticle(title, metadata, core, '','');

contents[++Index] = new MakeContent('_home_content_users_imds_feeds_comtex_2008_04_15_pr_0000-0423-sportsman-beware-cwra', '0', 'article', 'en-us', '', article);

documentMetadata = new MakeDocumentMetadata('internal', '2008-04-15T09:30:00-05:00','');

publicationMetadata = new MakePublicationMetadata('PR Newswire');

structuralMetadata = new MakeStructuralMetadata('','','','','','text/xml');

subjectMetadata = new MakeSubjectMetadata('');

var relatedContents = new Array();


relatedContentMetadata = new MakeRelatedContentMetadata(relatedContents);

processingMetadata = new MakeProcessingMetadata();

metadata = new MakeMetadata(
    documentMetadata,
    publicationMetadata,
    structuralMetadata,
    subjectMetadata,
    relatedContentMetadata,
    processingMetadata);

core = new MakeCore('Coastal Ocean Coalition Ignores Accuracy and Rationality in Advancing Its Anti-Fishing, Anti-Seafood Consumer Agenda', 'TRENTON, N.J., April 15, 2008 /PRNewswire via COMTEX/ -- In a recent opinion piece in the Asbury Park Press, Coastal Ocean Coalition Director Benson Chiles has once again demonstrated his organization\'s willingness to stretch credulity far beyond normal bounds.', 'Coastal Ocean Coalition Ignores Accuracy and Rationality in Advancing Its Anti-Fishing, Anti-Seafood Consumer Agenda', 'N/A', 'Copyright (C) 2008 PR Newswire. All Rights Reserved', 'TRENTON, N.J., April 15, 2008 /PRNewswire via COMTEX/', '', '', '');

title = 'Coastal Ocean Coalition Ignores Accuracy and Rationality in Advancing Its Anti-Fishing, Anti-Seafood Consumer Agenda';

article = new MakeArticle(title, metadata, core, '','');

contents[++Index] = new MakeContent('_home_content_users_imds_feeds_comtex_2008_04_15_pr_0000-9051-nj-garden-st-seafood', '0', 'article', 'en-us', '', article);

documentMetadata = new MakeDocumentMetadata('internal', '2008-04-15T11:17:39-05:00','');

publicationMetadata = new MakePublicationMetadata('M2 Communications');

structuralMetadata = new MakeStructuralMetadata('','','','','','text/xml');

subjectMetadata = new MakeSubjectMetadata('');

var relatedContents = new Array();


relatedContentMetadata = new MakeRelatedContentMetadata(relatedContents);

processingMetadata = new MakeProcessingMetadata();

metadata = new MakeMetadata(
    documentMetadata,
    publicationMetadata,
    structuralMetadata,
    subjectMetadata,
    relatedContentMetadata,
    processingMetadata);

core = new MakeCore('Province of British Columbia: Mine Remediation Will Help Restore Fish Habitat', 'COURTENAY - The $4.5-million remediation of an abandoned Mount Washington open pit copper mine will support the recovery of Vancouver Island fish stocks, announced Environment Minister Barry Penner and Minister of State for Mining Kevin Krueger.', 'Province of British Columbia: Mine Remediation Will Help Restore Fish Habitat', 'N/A', '(C)1994-2008 M2 Communications Ltd', '', '', '', '');

title = 'Province of British Columbia: Mine Remediation Will Help Restore Fish Habitat';

article = new MakeArticle(title, metadata, core, '','');

contents[++Index] = new MakeContent('_home_content_users_imds_feeds_m2c_2008_04_15_m2p_0000-0255-m2p_200804151117392_3', '0', 'article', 'en-m2c', '', article);

documentMetadata = new MakeDocumentMetadata('internal', '2008-04-15T19:29:28-05:00','');

publicationMetadata = new MakePublicationMetadata('Associated Press');

structuralMetadata = new MakeStructuralMetadata('','','','','','text/xml');

subjectMetadata = new MakeSubjectMetadata('');

var relatedContents = new Array();


relatedContentMetadata = new MakeRelatedContentMetadata(relatedContents);

processingMetadata = new MakeProcessingMetadata();

metadata = new MakeMetadata(
    documentMetadata,
    publicationMetadata,
    structuralMetadata,
    subjectMetadata,
    relatedContentMetadata,
    processingMetadata);

core = new MakeCore('States cut harvests as blue crabs decline in Chesapeake Bay', 'COLONIAL BEACH, Va. - Virginia and Maryland will cut their female blue crab harvests a third this year to protect the hallmark seafood of the Chesapeake Bay.', 'States cut harvests as blue crabs decline in Chesapeake Bay', 'By KRISTEN WYATT (Associated Press Writer)', 'Copyright 2008 The Associated Press. All rights reserved. This material may not be published, broadcast, rewritten or redistributed.', '', '', '', '');

title = 'States cut harvests as blue crabs decline in Chesapeake Bay';

article = new MakeArticle(title, metadata, core, '','');

contents[++Index] = new MakeContent('_home_content_users_imds_feeds_ap_2008_04_15_ap.ds.dsf.all_D902KI780_news_ap_org.anpa', '0', 'article', 'en-ap', '', article);

documentMetadata = new MakeDocumentMetadata('internal', '2008-04-15T17:00:00-05:00','');

publicationMetadata = new MakePublicationMetadata('Australian Broadcasting Corporation: News Online');

structuralMetadata = new MakeStructuralMetadata('','','','','','text/xml');

subjectMetadata = new MakeSubjectMetadata('');

var relatedContents = new Array();


relatedContentMetadata = new MakeRelatedContentMetadata(relatedContents);

processingMetadata = new MakeProcessingMetadata();

metadata = new MakeMetadata(
    documentMetadata,
    publicationMetadata,
    structuralMetadata,
    subjectMetadata,
    relatedContentMetadata,
    processingMetadata);

core = new MakeCore('Drought refuge sought for endangered fish', 'A native fish feared to be near extinction will be put into temporary refuges in South Australia to help ensure its survival.', 'Drought refuge sought for endangered fish', 'N/A', '&iuml;&iquest;&frac12; 2006 Australian Broadcasting Corporation. All rights reserved.', 'Tuesday, April 15, 2008', '', '', '');

title = 'Drought refuge sought for endangered fish';

article = new MakeArticle(title, metadata, core, '','');

contents[++Index] = new MakeContent('_home_content_users_imds_feeds_abc_au_2008_04_15_eng-abc_au_eng-abc_au_025037_5909320466960010689', '0', 'article', 'en', '', article);

documentMetadata = new MakeDocumentMetadata('internal', '2008-04-16T08:37:00-05:00','');

publicationMetadata = new MakePublicationMetadata('Australian Broadcasting Corporation: News Online');

structuralMetadata = new MakeStructuralMetadata('','','','','','text/xml');

subjectMetadata = new MakeSubjectMetadata('');

var relatedContents = new Array();


relatedContentMetadata = new MakeRelatedContentMetadata(relatedContents);

processingMetadata = new MakeProcessingMetadata();

metadata = new MakeMetadata(
    documentMetadata,
    publicationMetadata,
    structuralMetadata,
    subjectMetadata,
    relatedContentMetadata,
    processingMetadata);

core = new MakeCore('Conservation second fiddle to commercial fishing: Nat Parks Assn', 'There are claims the Tasmanian Government is allowing proposed marine protected areas in the Bruny Bio-region to be commercially exploited.', 'Conservation second fiddle to commercial fishing: Nat Parks Assn', 'N/A', '&iuml;&iquest;&frac12; 2006 Australian Broadcasting Corporation. All rights reserved.', 'Wednesday, April 16, 2008', '', '', '');

title = 'Conservation second fiddle to commercial fishing: Nat Parks Assn';

article = new MakeArticle(title, metadata, core, '','');

contents[++Index] = new MakeContent('_home_content_users_imds_feeds_abc_au_2008_04_15_eng-abc_au_eng-abc_au_174530_8529503062805368948', '0', 'article', 'en', '', article);

documentMetadata = new MakeDocumentMetadata('internal', '2008-04-16T08:14:00-05:00','');

publicationMetadata = new MakePublicationMetadata('Australian Broadcasting Corporation: News Online');

structuralMetadata = new MakeStructuralMetadata('','','','','','text/xml');

subjectMetadata = new MakeSubjectMetadata('');

var relatedContents = new Array();


relatedContentMetadata = new MakeRelatedContentMetadata(relatedContents);

processingMetadata = new MakeProcessingMetadata();

metadata = new MakeMetadata(
    documentMetadata,
    publicationMetadata,
    structuralMetadata,
    subjectMetadata,
    relatedContentMetadata,
    processingMetadata);

core = new MakeCore('Oyster grower\'s stolen equipment found', 'A local oyster grower is breathing a sigh of relief after the recovery of about $15,000 worth of shellfish and equipment stolen from his lease.', 'Oyster grower\'s stolen equipment found', 'N/A', '&iuml;&iquest;&frac12; 2006 Australian Broadcasting Corporation. All rights reserved.', 'Wednesday, April 16, 2008', '', '', '');

title = 'Oyster grower\'s stolen equipment found';

article = new MakeArticle(title, metadata, core, '','');

contents[++Index] = new MakeContent('_home_content_users_imds_feeds_abc_au_2008_04_15_eng-abc_au_eng-abc_au_172023_5146548117507157961', '0', 'article', 'en', '', article);

if (typeof ContentIndex == "undefined") {
    ContentIndex = -1;
}
SMContentSet[++ContentIndex] = new MakeContentSet(contentSetId, contentSetName, contentSetLanguage, contentSetPublishedDate, contents);


