Module:LoadDataTest3
Documentation for this module may be created at Module:LoadDataTest3/doc
p = {};
function traverse( T )
local a;
local cnt = 0;
for k, v in pairs(T) do
a = v;
if type(a) == 'table' then
cnt = cnt + traverse(a);
else
cnt = cnt + 1;
end
break;
end
return cnt
end
function p.test( frame )
local A = data;
local clock1, clock2
--clock1 = os.clock();
local cnt = traverse(A);
--clock2 = os.clock();
return cnt .. " ";
end
data = {};
--[[
Translation table
The following contains fixed text that may be output as part of a citation.
This is separated from the main body to aid in future translations of this
module.
]]
data.message_list = {
['published'] = 'published',
['lay summary'] = 'Lay summary',
['retrieved'] = 'Retrieved',
['inactive'] = 'inactive',
['archived'] = 'Archived',
['from'] = 'from',
['original'] = 'the original',
['on'] = 'on',
['editor'] = 'ed.',
['editors'] = 'eds.',
['edition'] = 'ed.',
['episode'] = 'episode',
['season'] = 'season',
['series'] = 'series',
['written'] = 'Written at',
['et al'] = 'et al.',
['subscription'] = '<span style="font-size:0.95em; font-size:90%; color:#555">(subscription required)</span>',
['in'] = 'in',
['via'] = 'via',
['event'] = 'Event occurs at',
['minutes'] = 'minutes in',
-- Determines the location of the help page
['help page link'] = 'Help:CS1 errors',
['help page label'] = 'help',
-- Internal errors (should only occur if configuration is bad)
['undefined_error'] = 'Called with an undefined error condition',
['unknown_manual_ID'] = 'Unrecognized manual ID mode',
['unknown_ID_mode'] = 'Unrecognized ID mode'
}
--[[
Argument map table
]]
data.argument_map = {
['AccessDate'] = {'access-date', 'accessdate' },
['Agency'] = {'agency'},
['AirDate'] = {'airdate'},
['ArchiveDate'] = {'archive-date', 'archivedate' },
['ArchiveURL'] = {'archive-url', 'archiveurl' },
['ASINTLD'] = {'ASIN-TLD', 'asin-tld'},
['Authors'] = {'authors'},
['AuthorFormat'] = {"author-format", "authorformat" },
['AuthorSeparator'] = {'author-separator'},
['AuthorNameSeparator'] = {'author-name-separator'},
['BookTitle'] = {'booktitle'},
['Chapter'] = {'chapter', 'contribution', 'entry', 'article' },
['ChapterLink'] = {'chapterlink'},
['ChapterURL'] = {'chapter-url', 'chapterurl', 'contribution-url', 'contributionurl' },
['Coauthors'] = {'coauthors', 'coauthor' },
['Conference'] = {'conference'},
['ConferenceURL'] = {'conference-url', 'conferenceurl' },
['Date'] = {'date'},
['Day'] = {'day'},
['DeadURL'] = {'deadurl'},
['DisplayAuthors'] = {"display-authors", "displayauthors"},
['DisplayEditors'] = {"display-editors", "displayeditors"},
['DoiBroken'] = {'doi_inactivedate', 'doi_brokendate', 'DoiBroken'},
['Edition'] = {'edition'},
['Editors'] = {'editors'},
['EditorFormat'] = {"editor-format", "editorformat" },
['EditorSeparator'] = {'editor-separator'},
['EditorNameSeparator'] = {'editor-name-separator'},
['Embargo'] = {'Embargo', 'embargo'},
['Format'] = {'format'},
['ID'] = {'id', 'ID', 'docket'},
['IgnoreISBN'] = {'ignore-isbn-error', 'ignoreisbnerror'},
['Issue'] = {'issue', 'number'},
['Language'] = {'language', 'in'},
['LastAuthorAmp'] = {'lastauthoramp'},
['LayDate'] = {'laydate'},
['LaySource'] = {'laysource'},
['LaySummary'] = {'laysummary'},
['Minutes'] = {'minutes'},
['Month'] = {'month'},
['NameSeparator'] = {'name-separator'},
['Network'] = {'network'},
['NoPP'] = {'nopp'},
['NoTracking'] = {"template doc demo", 'nocat',
'notracking', "no-tracking"},
['OrigYear'] = {'origyear'},
['Others'] = {'others'},
['Page'] = {'p', 'page', 'pp', 'pages', 'at'},
['Periodical'] = {'journal', 'newspaper', 'magazine', 'work',
'website', 'periodical', 'encyclopedia', 'encyclopaedia', 'dictionary'},
['Place'] = {'place', 'location'},
['PostScript'] = {'postscript'},
['PublicationDate'] = {'publicationdate', 'publication-date' },
['PublicationPlace'] = {'publication-place', 'publicationplace' },
['PublisherName'] = {'publisher'},
['Quote'] = {'quote', 'quotation'},
['Ref'] = {'ref', 'Ref'},
['Season'] = {'season'},
['Separator'] = {'separator'},
['Series'] = {'series', 'version'},
['SeriesSeparator'] = {'series-separator'},
['SeriesLink'] = {'serieslink'},
['SeriesNumber'] = {'seriesnumber', 'seriesno'},
['Station'] = {'station'},
['SubscriptionRequired'] = {'subscription'},
['Time'] = {'time'},
['TimeCaption'] = {'timecaption'},
['Title'] = {'title'},
['TitleLink'] = {'titlelink', 'episodelink' },
['TitleNote'] = {'department'},
['TitleType'] = {'type'},
['TransChapter'] = {'trans-chapter', 'trans_chapter' },
['Transcript'] = {'transcript'},
['TranscriptURL'] = {'transcript-url', 'transcripturl'},
['TransTitle'] = {'trans-title', 'trans_title' },
['URL'] = {'url', 'URL'},
['Via'] = {'via'},
['Volume'] = {'volume'},
['Year'] = {'year'},
['AuthorList-First'] = {"author#-first", "author-first#",
"first#", "given#"},
['AuthorList-Last'] = {"author#-last", "author-last#",
"last#", "surname#", "Author#", "author#", "authors#"},
['AuthorList-Link'] = {"author#-link", "author-link#",
"author#link", "authorlink#"},
['AuthorList-Mask'] = {"author#-mask", "author-mask#",
"author#mask", "authormask#"},
['EditorList-First'] = {"editor#-first",
"editor-first#", "EditorGiven#"},
['EditorList-Last'] = {"editor#-last", "editor-last#",
"EditorSurname#", "Editor#", "editor#", "editors#"},
['EditorList-Link'] = {"editor#-link", "editor-link#",
"editor#link", "editorlink#"},
['EditorList-Mask'] = {"editor#-mask", "editor-mask#",
"editor#mask", "editormask#"},
}
--[[
Default parameter values
]]
data.default_values = {
['DeadURL'] = 'yes',
['PostScript'] = '.',
['Separator'] = '.',
['AuthorSeparator'] = ';',
['EditorSeparator'] = ';',
['NameSeparator'] = ',',
}
--[[
Error condition table
The following contains a list of IDs for various error conditions defined in the
code. For each ID, we specify a text message to display, an error category to
include, and whether the error message should be wrapped as a hidden comment.
Anchor changes require identical changes to matching anchor in Help:CS1 errors
]]
data.error_conditions = {
accessdate_missing_url = {
message = '<code>|accessdate=</code> requires <code>|url=</code>',
anchor = 'accessdate_missing_url',
category = 'Pages using citations with accessdate and no URL',
hidden = true },
archive_missing_date = {
message = '<code>|archiveurl=</code> requires <code>|archivedate=</code>',
anchor = 'archive_missing_date',
category = 'Pages with archiveurl citation errors',
hidden = false },
archive_missing_url = {
message = '<code>|archiveurl=</code> requires <code>|url=</code>',
anchor = 'archive_missing_url',
category = 'Pages with archiveurl citation errors',
hidden = false },
bad_doi = {
message = 'Check <code>|doi=</code> value',
anchor = 'bad_doi',
category = 'Pages with DOI errors',
hidden = false },
bad_isbn = {
message = 'Check <code>|isbn=</code> value',
anchor = 'bad_isbn',
category = 'Pages with ISBN errors',
hidden = false },
bad_ol = {
message = 'Check <code>|ol=</code> value',
anchor = 'bad_ol',
category = 'Pages with OL errors',
hidden = false },
bad_url = {
message = 'Check <code>|url=</code> scheme',
anchor = 'bad_url',
category = 'Pages with URL errors',
hidden = true },
bare_url_missing_title = {
message = 'Missing or empty <code>|title=</code>',
anchor = 'bare_url_missing_title',
category = 'Pages with citations having bare URLs',
hidden = true },
citation_missing_title = {
message = 'Missing or empty <code>|title=</code>',
anchor = 'citation_missing_title',
category = 'Pages with citations lacking titles',
hidden = true },
cite_web_title = {
message = 'Missing or empty <code>|title=</code>',
anchor = 'cite_web_title',
category = 'Pages using web citations with no title',
hidden = false },
cite_web_url = {
message = 'Missing or empty <code>|url=</code>',
anchor = 'cite_web_url',
category = 'Pages using web citations with no URL',
hidden = true },
empty_citation = {
message = 'Empty citation',
anchor = 'empty_citation',
category = 'Pages with empty citations',
hidden = false },
extra_pages = {
message = 'Extra <code>|pages=</code> or <code>|at=</code>',
anchor = 'extra_pages',
category = 'Pages with citations using conflicting page specifications',
hidden = false },
format_missing_url = {
message = '<code>|format=</code> requires <code>|url=</code>',
anchor = 'format_missing_url',
category = 'Pages using citations with format and no URL',
hidden = true },
implict_etal_author = {
message = '<code>|displayauthors=</code> suggested',
anchor = 'displayauthors',
category = 'Pages using citations with old-style implicit et al.',
hidden = true },
implict_etal_editor = {
message = '<code>|displayeditors=</code> suggested',
anchor = 'displayeditors',
category = 'Pages using citations with old-style implicit et al.',
hidden = true },
parameter_ignored = {
message = 'Unknown parameter <code>|$1=</code> ignored',
anchor = 'parameter_ignored',
category = 'Pages with citations using unsupported parameters',
hidden = false },
parameter_ignored_suggest = {
message = 'Unknown parameter <code>|$1=</code> ignored (<code>|$2=</code> suggested)',
anchor = 'parameter_ignored_suggest',
category = 'Pages with citations using unsupported parameters',
hidden = false },
redundant_parameters = {
message = 'More than one of $1 specified',
anchor = 'redundant_parameters',
category = 'Pages with citations having redundant parameters',
hidden = false },
text_ignored = {
message = 'Text "$1" ignored',
anchor = 'text_ignored',
category = 'Pages with citations using unnamed parameters',
hidden = false },
trans_missing_chapter = {
message = 'Missing or empty <code>|chapter=</code>',
anchor = 'trans_missing_chapter',
category = 'Pages with citations using translated terms without the original',
hidden = true },
trans_missing_title = {
message = 'Missing or empty <code>|title=</code>',
anchor = 'trans_missing_title',
category = 'Pages with citations using translated terms without the original',
hidden = true },
wikilink_in_url = {
message = 'Wikilink embedded in URL title',
anchor = 'wikilink_in_url',
category = 'Pages with citations having wikilinks embedded in URL titles',
hidden = false },
}
data.id_handlers = {
['ASIN'] = {
parameters = { 'asin', 'ASIN' },
link = 'Amazon Standard Identification Number',
label = 'ASIN',
mode = 'manual',
COinS = 'info:asin',
separator = ' ',
encode = false;
},
['DOI'] = {
parameters = { 'doi', 'DOI' },
link = 'Digital object identifier',
label = 'doi',
mode = 'manual',
prefix = 'http://dx.doi.org/',
COinS = 'info:doi',
separator = ':',
encode = true,
},
['OL'] = {
parameters = { 'ol', 'OL' },
link = 'Open Library',
label = 'OL',
mode = 'manual',
COinS = 'info:olnum',
separator = ' ',
endode = true,
},
['ARXIV'] = {
parameters = {'arxiv', 'ARXIV'},
link = 'arXiv',
label = 'arXiv',
mode = 'external',
prefix = 'http://arxiv.org/abs/',
encode = false,
COinS = 'info:arxiv',
separator = ':',
},
['BIBCODE'] = {
parameters = {'bibcode', 'BIBCODE'},
link = 'Bibcode',
label = 'Bibcode',
mode = 'external',
prefix = 'http://adsabs.harvard.edu/abs/',
encode = false,
COinS = 'info:bibcode',
separator = ':',
},
['ISBN'] = {
parameters = {'isbn', 'ISBN', 'isbn13', 'ISBN13'},
link = 'International Standard Book Number',
label = 'ISBN',
mode = 'manual',
prefix = 'Special:BookSources/',
COinS = 'rft.isbn',
separator = ' ',
},
['ISSN'] = {
parameters = {'issn', 'ISSN'},
link = 'International Standard Serial Number',
label = 'ISSN',
mode = 'external',
prefix = '//www.worldcat.org/issn/',
COinS = 'rft.issn',
encode = false,
separator = ' ',
},
['JFM'] = {
parameters = {'jfm', 'JFM'},
link = 'Jahrbuch über die Fortschritte der Mathematik',
label = 'JFM',
mode = 'external',
prefix = 'http://www.zentralblatt-math.org/zmath/en/search/?format=complete&q=an:',
COinS = 'rft.jfm',
encode = true,
separator = ' ',
},
['JSTOR'] = {
parameters = {'jstor', 'JSTOR'},
link = 'JSTOR',
label = 'JSTOR',
mode = 'external',
prefix = 'http://www.jstor.org/stable/',
COinS = 'rft.jstor',
encode = true,
separator = ' ',
},
['LCCN'] = {
parameters = {'LCCN', 'lccn'},
link = 'Library of Congress Control Number',
label = 'LCCN',
mode = 'external',
prefix = 'http://lccn.loc.gov/',
COinS = 'rft.lccn',
encode = false,
separator = ' ',
},
['MR'] = {
parameters = {'MR', 'mr'},
link = 'Mathematical Reviews',
label = 'MR',
mode = 'external',
prefix = 'http://www.ams.org/mathscinet-getitem?mr=',
COinS = 'rft.mr',
encode = true,
separator = ' ',
},
['OCLC'] = {
parameters = {'OCLC', 'oclc'},
link = 'OCLC',
label = 'OCLC',
mode = 'external',
prefix = '//www.worldcat.org/oclc/',
COinS = 'info:oclcnum',
encode = true,
separator = ' ',
},
['OSTI'] = {
parameters = {'OSTI', 'osti'},
link = 'Office of Scientific and Technical Information',
label = 'OSTI',
mode = 'external',
prefix = 'http://www.osti.gov/energycitations/product.biblio.jsp?osti_id=',
COinS = 'info:osti',
encode = true,
separator = ' ',
},
['PMC'] = {
parameters = {'PMC', 'pmc'},
link = 'PubMed Central',
label = 'PMC',
mode = 'external',
prefix = '//www.ncbi.nlm.nih.gov/pmc/articles/PMC',
suffix = " ",
COinS = 'info:pmc',
encode = true,
separator = ' ',
},
['PMID'] = {
parameters = {'PMID', 'pmid'},
link = 'PubMed Identifier',
label = 'PMID',
mode = 'external',
prefix = '//www.ncbi.nlm.nih.gov/pubmed/',
COinS = 'info:pmid',
encode = false,
separator = ' ',
},
['RFC'] = {
parameters = {'RFC', 'rfc'},
link = 'Request for Comments',
label = 'RFC',
mode = 'external',
prefix = '//tools.ietf.org/html/rfc',
COinS = 'info:rfc',
encode = false,
separator = ' ',
},
['SSRN'] = {
parameters = {'SSRN', 'ssrn'},
link = 'Social Science Research Network',
label = 'SSRN',
mode = 'external',
prefix = 'http://ssrn.com/abstract=',
COinS = 'info:ssrn',
encode = true,
separator = ' ',
},
['ZBL'] = {
parameters = {'ZBL', 'zbl'},
link = 'Zentralblatt MATH',
label = 'Zbl',
mode = 'external',
prefix = 'http://www.zentralblatt-math.org/zmath/en/search/?format=complete&q=an:',
COinS = 'info:zbl',
encode = true,
separator = ' ',
}
}
return p;