<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ko">
	<id>https://www.gaonwiki.com/w/index.php?action=history&amp;feed=atom&amp;title=%EB%AA%A8%EB%93%88%3ATaxonbar</id>
	<title>모듈:Taxonbar - 편집 역사</title>
	<link rel="self" type="application/atom+xml" href="https://www.gaonwiki.com/w/index.php?action=history&amp;feed=atom&amp;title=%EB%AA%A8%EB%93%88%3ATaxonbar"/>
	<link rel="alternate" type="text/html" href="https://www.gaonwiki.com/w/index.php?title=%EB%AA%A8%EB%93%88:Taxonbar&amp;action=history"/>
	<updated>2026-07-23T05:51:42Z</updated>
	<subtitle>이 문서의 편집 역사</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://www.gaonwiki.com/w/index.php?title=%EB%AA%A8%EB%93%88:Taxonbar&amp;diff=8767&amp;oldid=prev</id>
		<title>Admin: 판 2개를 가져왔습니다: 위키백과에서 가져옴</title>
		<link rel="alternate" type="text/html" href="https://www.gaonwiki.com/w/index.php?title=%EB%AA%A8%EB%93%88:Taxonbar&amp;diff=8767&amp;oldid=prev"/>
		<updated>2020-05-03T09:14:08Z</updated>

		<summary type="html">&lt;p&gt;판 2개를 가져왔습니다: 위키백과에서 가져옴&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ko&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← 이전 판&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2020년 5월 3일 (일) 18:14 판&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;ko&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(차이 없음)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.gaonwiki.com/w/index.php?title=%EB%AA%A8%EB%93%88:Taxonbar&amp;diff=8766&amp;oldid=prev</id>
		<title>2018년 5월 5일 (토) 06:48에 위키백과&gt;Ykhwong님의 편집</title>
		<link rel="alternate" type="text/html" href="https://www.gaonwiki.com/w/index.php?title=%EB%AA%A8%EB%93%88:Taxonbar&amp;diff=8766&amp;oldid=prev"/>
		<updated>2018-05-05T06:48:15Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ko&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← 이전 판&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2018년 5월 5일 (토) 15:48 판&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l475&quot;&gt;475번째 줄:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;475번째 줄:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;			end&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;			end&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;			--adjust navbox for number of rows&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;			--adjust navbox for number of rows&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;			navboxParams[&#039;title&#039;] = &quot;[[&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Help&lt;/del&gt;:&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Taxon identifiers&lt;/del&gt;|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Taxon identifiers&lt;/del&gt;]]&quot;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;			navboxParams[&#039;title&#039;] = &quot;[[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;위키프로젝트&lt;/ins&gt;:&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;생명체&lt;/ins&gt;|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;생물 분류 식별자&lt;/ins&gt;]]&quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;			if rowCount &amp;gt; 2 then&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;			if rowCount &amp;gt; 2 then&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;				navboxParams[&amp;#039;navbar&amp;#039;] = &amp;#039;plain&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;				navboxParams[&amp;#039;navbar&amp;#039;] = &amp;#039;plain&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l483&quot;&gt;483번째 줄:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;483번째 줄:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;			end&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;			end&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		elseif parentArgs[&amp;#039;noTitle&amp;#039;..firstRow] then&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		elseif parentArgs[&amp;#039;noTitle&amp;#039;..firstRow] then&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;			navboxParams[&#039;group&#039;..firstRow] = &#039;[[&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Help&lt;/del&gt;:&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Taxon identifiers&lt;/del&gt;|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Taxon identifiers&lt;/del&gt;]]&#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;			navboxParams[&#039;group&#039;..firstRow] = &#039;[[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;위키프로젝트&lt;/ins&gt;:&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;생명체&lt;/ins&gt;|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;생물 분류 식별자&lt;/ins&gt;]]&#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		else&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		else&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;			navboxParams[&#039;group&#039;..firstRow] = &#039;[[&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Help&lt;/del&gt;:&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Taxon identifiers&lt;/del&gt;|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Taxon identifiers&lt;/del&gt;]]&amp;lt;br /&amp;gt;&#039; .. navboxParams[&#039;group&#039;..firstRow]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;			navboxParams[&#039;group&#039;..firstRow] = &#039;[[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;위키프로젝트&lt;/ins&gt;:&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;생명체&lt;/ins&gt;|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;생물 분류 식별자&lt;/ins&gt;]]&amp;lt;br /&amp;gt;&#039; .. navboxParams[&#039;group&#039;..firstRow]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		end&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		end&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>위키백과&gt;Ykhwong</name></author>
	</entry>
	<entry>
		<id>https://www.gaonwiki.com/w/index.php?title=%EB%AA%A8%EB%93%88:Taxonbar&amp;diff=8765&amp;oldid=prev</id>
		<title>위키백과&gt;Ykhwong: 새 문서: require(&#039;Module:No globals&#039;)  local conf = require( &quot;Module:Taxonbar/conf&quot; ) -- configuration module local TaxonItalics = require(&quot;Module:TaxonItalics&quot;) -- use a function from Module:...</title>
		<link rel="alternate" type="text/html" href="https://www.gaonwiki.com/w/index.php?title=%EB%AA%A8%EB%93%88:Taxonbar&amp;diff=8765&amp;oldid=prev"/>
		<updated>2018-05-05T06:46:40Z</updated>

		<summary type="html">&lt;p&gt;새 문서: require(&amp;#039;Module:No globals&amp;#039;)  local conf = require( &amp;quot;Module:Taxonbar/conf&amp;quot; ) -- configuration module local TaxonItalics = require(&amp;quot;Module:TaxonItalics&amp;quot;) -- use a function from Module:...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;require(&amp;#039;Module:No globals&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
local conf = require( &amp;quot;Module:Taxonbar/conf&amp;quot; ) -- configuration module&lt;br /&gt;
local TaxonItalics = require(&amp;quot;Module:TaxonItalics&amp;quot;) -- use a function from Module:TaxonItalics to italicize a taxon name&lt;br /&gt;
&lt;br /&gt;
local function getIdsFromWikidata( item, property )&lt;br /&gt;
	local ids = {}&lt;br /&gt;
	if not item.claims[property] then&lt;br /&gt;
		return ids&lt;br /&gt;
	end&lt;br /&gt;
	for _, statement in pairs( item.claims[property] ) do&lt;br /&gt;
		if statement.mainsnak.datavalue then&lt;br /&gt;
			table.insert( ids, statement.mainsnak.datavalue.value )&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return ids&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function getLink( property, val )&lt;br /&gt;
	local link, returnVal = &amp;quot;&amp;quot;, {}&lt;br /&gt;
	&lt;br /&gt;
	returnVal.isError = false&lt;br /&gt;
	&lt;br /&gt;
	if mw.ustring.find( val, &amp;#039;//&amp;#039; ) then&lt;br /&gt;
		link = val&lt;br /&gt;
	else&lt;br /&gt;
		if type(property) == &amp;#039;number&amp;#039; and property &amp;gt; 0 then&lt;br /&gt;
			local entityObject = mw.wikibase.getEntity(&amp;#039;P&amp;#039;..property)&lt;br /&gt;
			local dataType&lt;br /&gt;
			&lt;br /&gt;
			if entityObject then dataType = entityObject.datatype&lt;br /&gt;
			else returnVal.isError = true end&lt;br /&gt;
			&lt;br /&gt;
			if dataType == &amp;quot;external-id&amp;quot; then&lt;br /&gt;
				local formatterURL = entityObject:getBestStatements(&amp;#039;P1630&amp;#039;)[1]&lt;br /&gt;
				if formatterURL then link = formatterURL.mainsnak.datavalue.value end&lt;br /&gt;
			elseif dataType == &amp;quot;url&amp;quot; then&lt;br /&gt;
				local subjectItem = entityObject:getBestStatements(&amp;#039;P1629&amp;#039;)[1]&lt;br /&gt;
				if subjectItem then&lt;br /&gt;
					local officialWebsite = mw.wikibase.getEntity(subjectItem.mainsnak.datavalue.value.id):getBestStatements(&amp;#039;P856&amp;#039;)[1]&lt;br /&gt;
					if officialWebsite then	link = officialWebsite.mainsnak.datavalue.value end&lt;br /&gt;
				end&lt;br /&gt;
			elseif dataType == &amp;quot;string&amp;quot; then&lt;br /&gt;
				local formatterURL = entityObject:getBestStatements(&amp;#039;P1630&amp;#039;)[1]&lt;br /&gt;
				if formatterURL then&lt;br /&gt;
					link = formatterURL.mainsnak.datavalue.value&lt;br /&gt;
				else&lt;br /&gt;
					local subjectItem = entityObject:getBestStatements(&amp;#039;P1629&amp;#039;)[1]&lt;br /&gt;
					if subjectItem then&lt;br /&gt;
						local officialWebsite = mw.wikibase.getEntity(subjectItem.mainsnak.datavalue.value.id):getBestStatements(&amp;#039;P856&amp;#039;)[1]&lt;br /&gt;
						if officialWebsite then	link = officialWebsite.mainsnak.datavalue.value end&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			else&lt;br /&gt;
				returnVal.isError = true&lt;br /&gt;
			end&lt;br /&gt;
		elseif type(property) == &amp;#039;string&amp;#039; then&lt;br /&gt;
			link = property&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local valurl = val&lt;br /&gt;
		if mw.ustring.find( link, &amp;#039;antweb.org&amp;#039; ) then valurl = mw.ustring.gsub(valurl, &amp;quot; &amp;quot;, &amp;quot;%%20&amp;quot;) end&lt;br /&gt;
		valurl = mw.ustring.gsub(valurl,&amp;quot;%%&amp;quot;,&amp;quot;%%%%&amp;quot;)&lt;br /&gt;
		link = mw.ustring.gsub(link, &amp;#039;$1&amp;#039;, valurl)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	link = mw.ustring.gsub(link, &amp;#039;^[Hh][Tt][Tt][Pp]([Ss]?)&amp;amp;#58;//&amp;#039;, &amp;#039;http%1://&amp;#039;) -- fix wikidata URL&lt;br /&gt;
	val = mw.ustring.match(val, &amp;#039;([^=/]*)/?$&amp;#039;) -- get display name from end of URL&lt;br /&gt;
	if mw.ustring.find( link, &amp;#039;//&amp;#039; ) then&lt;br /&gt;
		returnVal.text = &amp;#039;[&amp;#039;..link..&amp;#039; &amp;#039;..mw.text.encode(mw.uri.decode(val, &amp;quot;PATH&amp;quot;),&amp;#039;%[%]&amp;#039;)..&amp;#039;]&amp;#039;&lt;br /&gt;
	elseif link == &amp;quot;&amp;quot; then&lt;br /&gt;
		returnVal.text = val&lt;br /&gt;
	else&lt;br /&gt;
		returnVal.text = &amp;#039;&amp;lt;span class=&amp;quot;external&amp;quot;&amp;gt;[[&amp;#039;..link..&amp;#039;|&amp;#039;..val..&amp;#039;]]&amp;lt;/span&amp;gt;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	return returnVal&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function createRow( id, label, rawValue, link, withUid )&lt;br /&gt;
	if link then&lt;br /&gt;
		local outStr = &amp;#039;*&amp;lt;span style=&amp;quot;white-space:nowrap;&amp;quot;&amp;gt;&amp;#039; .. label .. &amp;#039; &amp;lt;span&amp;#039;&lt;br /&gt;
		if withUid then outStr = outStr..&amp;#039; class=&amp;quot;uid&amp;quot;&amp;#039; end&lt;br /&gt;
		return outStr..&amp;#039;&amp;gt;&amp;#039; .. link .. &amp;#039;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;\n&amp;#039;&lt;br /&gt;
	else&lt;br /&gt;
		return &amp;#039;* &amp;#039; .. mw.text.tag(&amp;#039;span&amp;#039;, {class=&amp;#039;error&amp;#039;}, &amp;#039;식별자 &amp;#039; .. id .. &amp;#039; &amp;#039; .. rawValue .. &amp;#039;은(는) 유효하지 않습니다.&amp;#039;) .. &amp;#039;\n&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function copyTable(inTable)&lt;br /&gt;
	if type(inTable) ~= &amp;#039;table&amp;#039; then return inTable end&lt;br /&gt;
	local outTable = setmetatable({}, getmetatable(inTable))&lt;br /&gt;
	for key, value in pairs (inTable) do outTable[copyTable(key)] = copyTable(value) end&lt;br /&gt;
	return outTable&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
function p.authorityControlTaxon( frame )&lt;br /&gt;
	local resolve = require( &amp;quot;Module:ResolveEntityId&amp;quot; )&lt;br /&gt;
	local parentArgs = copyTable(frame:getParent().args)&lt;br /&gt;
	local currentTitle = mw.title.getCurrentTitle()&lt;br /&gt;
	local currentEntityId = mw.wikibase.getEntityIdForCurrentPage()&lt;br /&gt;
	&lt;br /&gt;
	local stringArgs = false&lt;br /&gt;
	local fromTitleCount, firstRow, rowCount = 1, 0, 0&lt;br /&gt;
	local outString, errors = &amp;quot;&amp;quot;, &amp;quot;&amp;quot;&lt;br /&gt;
	local tfroms = {} --non-sequential table of unique froms&lt;br /&gt;
	local ifroms = 0 --integer size of tfroms, b/c Lua&lt;br /&gt;
	local categories = {&lt;br /&gt;
		&amp;#039;[[분류:from 변수가 없는 생물 분류 식별자]]&amp;#039;,&lt;br /&gt;
		&amp;#039;[[분류:위키데이터에서 비동기된 생물 분류 식별자]]&amp;#039;,&lt;br /&gt;
		&amp;#039;&amp;#039;, -- [3] placeholder&lt;br /&gt;
		&amp;#039;&amp;#039;, -- [4] placeholder&lt;br /&gt;
		&amp;#039;&amp;#039;, -- [5] placeholder&lt;br /&gt;
		&amp;#039;&amp;#039;, -- [6] placeholder&lt;br /&gt;
		&amp;#039;&amp;#039;, -- [7] placeholder&lt;br /&gt;
		&amp;#039;&amp;#039;, -- [8] placeholder&lt;br /&gt;
		&amp;#039;&amp;#039;, -- [9] placeholder&lt;br /&gt;
		&amp;#039;&amp;#039;, --[10] placeholder&lt;br /&gt;
		&amp;#039;&amp;#039;, --[11] placeholder&lt;br /&gt;
		&amp;#039;&amp;#039;, --[12] placeholder&lt;br /&gt;
		&amp;#039;&amp;#039;, --[13] placeholder&lt;br /&gt;
		&amp;#039;&amp;#039;, --[14] placeholder&lt;br /&gt;
		&amp;#039;&amp;#039;, --[15] placeholder&lt;br /&gt;
		&amp;#039;&amp;#039;, --[16] placeholder&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	--Assess the page&amp;#039;s relationship with Wikidata&lt;br /&gt;
	local currentItem = nil&lt;br /&gt;
	if currentTitle.namespace == 10 then --i.e. Module:Taxonbar/sandbox, Template:Taxonbar/doc, etc.&lt;br /&gt;
		if resolve._entityid(frame, parentArgs[&amp;#039;from&amp;#039;]) then&lt;br /&gt;
			currentItem = mw.wikibase.getEntity(parentArgs[&amp;#039;from&amp;#039;])&lt;br /&gt;
		end&lt;br /&gt;
		if currentItem == nil then&lt;br /&gt;
			if resolve._entityid(frame, parentArgs[&amp;#039;from1&amp;#039;]) then&lt;br /&gt;
				currentItem = mw.wikibase.getEntity(parentArgs[&amp;#039;from1&amp;#039;])&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	elseif resolve._entityid(frame, currentEntityId) then&lt;br /&gt;
		currentItem = mw.wikibase.getEntity(currentEntityId)&lt;br /&gt;
	else --currentEntityId == nil&lt;br /&gt;
		categories[6] = &amp;#039;[[분류:위키데이터 항목이 필요한 생물 분류 식별자 문서]]&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	if currentItem then&lt;br /&gt;
		local acceptable = {&lt;br /&gt;
		   [&amp;#039;Q16521&amp;#039;] = &amp;#039;taxon&amp;#039;,&lt;br /&gt;
		   [&amp;#039;Q310890&amp;#039;] = &amp;#039;monotypic taxon&amp;#039;,&lt;br /&gt;
		   [&amp;#039;Q2568288&amp;#039;] = &amp;#039;ichnotaxon&amp;#039;,&lt;br /&gt;
		   [&amp;#039;Q23038290&amp;#039;] = &amp;#039;fossil taxon&amp;#039;,&lt;br /&gt;
		   [&amp;#039;Q47487597&amp;#039;] = &amp;#039;monotypic fossil taxon&amp;#039;,&lt;br /&gt;
		   [&amp;#039;Q42621&amp;#039;] = &amp;#039;hybrid&amp;#039;,&lt;br /&gt;
		   [&amp;#039;Q235536&amp;#039;] = &amp;#039;incertae sedis&amp;#039;,&lt;br /&gt;
		   [&amp;#039;Q713623&amp;#039;] = &amp;#039;clade&amp;#039;,&lt;br /&gt;
		   [&amp;#039;Q848328&amp;#039;] = &amp;#039;serotype&amp;#039;,&lt;br /&gt;
		   [&amp;#039;Q17487588&amp;#039;] = &amp;#039;unavailable combination&amp;#039;,&lt;br /&gt;
		}&lt;br /&gt;
		categories[11] = &amp;#039;[[분류:생물 분류가 아닌 잠재적인 문서의 생물 분류 식별자]]&amp;#039; --unset if acceptable found&lt;br /&gt;
		for _, instanceOfState in pairs ( currentItem:getBestStatements(&amp;#039;P31&amp;#039;) ) do --instance of&lt;br /&gt;
			local instanceOf = instanceOfState.mainsnak.datavalue.value.id&lt;br /&gt;
			if acceptable[instanceOf] then&lt;br /&gt;
				categories[11] = &amp;#039;&amp;#039;&lt;br /&gt;
				break&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	--Cleanup args&lt;br /&gt;
	for k, v in pairs( frame:getParent().args ) do&lt;br /&gt;
		if type(k) == &amp;#039;string&amp;#039; then&lt;br /&gt;
			--make args case insensitive&lt;br /&gt;
			local lowerk = mw.ustring.lower(k)&lt;br /&gt;
			if not parentArgs[lowerk] or parentArgs[lowerk] == &amp;#039;&amp;#039; then&lt;br /&gt;
				parentArgs[k] = nil&lt;br /&gt;
				parentArgs[lowerk] = v&lt;br /&gt;
			end&lt;br /&gt;
			--remap abc to abc1&lt;br /&gt;
			if not mw.ustring.find(lowerk,&amp;quot;%d$&amp;quot;) then --if no number at end of param&lt;br /&gt;
				if not parentArgs[lowerk..&amp;#039;1&amp;#039;] or parentArgs[lowerk..&amp;#039;1&amp;#039;] == &amp;#039;&amp;#039; then&lt;br /&gt;
					parentArgs[lowerk] = nil&lt;br /&gt;
					lowerk = lowerk..&amp;#039;1&amp;#039;&lt;br /&gt;
					parentArgs[lowerk] = v&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
			if v and v ~= &amp;#039;&amp;#039; then&lt;br /&gt;
				--remap &amp;quot;for&amp;quot; to &amp;quot;title&amp;quot;&lt;br /&gt;
				if mw.ustring.sub(lowerk,1,3) == &amp;quot;for&amp;quot; then&lt;br /&gt;
					local forTitle = mw.ustring.gsub(lowerk,&amp;quot;^for&amp;quot;,&amp;quot;title&amp;quot;,1)&lt;br /&gt;
					if parentArgs[forTitle] == &amp;#039;&amp;#039; or not parentArgs[forTitle] then&lt;br /&gt;
						parentArgs[lowerk] = nil&lt;br /&gt;
						lowerk = forTitle&lt;br /&gt;
						parentArgs[lowerk] = v&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
				--find highest from or title param&lt;br /&gt;
				if mw.ustring.sub(lowerk,1,4) == &amp;quot;from&amp;quot; then&lt;br /&gt;
					local fromNumber = tonumber(mw.ustring.sub(lowerk,5,-1))&lt;br /&gt;
					if fromNumber and fromNumber &amp;gt;= fromTitleCount then fromTitleCount = fromNumber end&lt;br /&gt;
					--look for duplicate froms while we&amp;#039;re here&lt;br /&gt;
					if mw.ustring.find(v, &amp;quot;^Q%d&amp;quot;) then&lt;br /&gt;
						if tfroms[v] then&lt;br /&gt;
							categories[8] = &amp;#039;[[분류:중복 변수가 있는 생물 분류 식별자]]&amp;#039;&lt;br /&gt;
							tfroms[v] = tfroms[v] + 1&lt;br /&gt;
						else&lt;br /&gt;
							tfroms[v] = 1&lt;br /&gt;
							ifroms = ifroms + 1&lt;br /&gt;
						end&lt;br /&gt;
						if ifroms &amp;gt; 1 then&lt;br /&gt;
							categories[3] = &amp;#039;[[분류:여러 개의 수동 위키데이터 항목을 사용하는 생물 분류 식별자]]&amp;#039;&lt;br /&gt;
						end&lt;br /&gt;
					end&lt;br /&gt;
				elseif mw.ustring.sub(lowerk,1,5) == &amp;quot;title&amp;quot; then&lt;br /&gt;
					local titleNumber = tonumber(mw.ustring.sub(lowerk,4,-1))&lt;br /&gt;
					if titleNumber and titleNumber &amp;gt;= fromTitleCount then fromTitleCount = titleNumber end&lt;br /&gt;
				elseif mw.ustring.lower(v) ~= &amp;#039;no&amp;#039; then&lt;br /&gt;
					stringArgs = true&lt;br /&gt;
					categories[5] = &amp;#039;[[분류:수동 생물 분류 ID를 사용하는 생물 분류 식별자]]&amp;#039;&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	--Append basionym to arg list, if not already provided&lt;br /&gt;
	if currentItem then&lt;br /&gt;
		local currentBasState = currentItem:getBestStatements(&amp;#039;P566&amp;#039;)[1] --basionym&lt;br /&gt;
		if currentBasState then&lt;br /&gt;
			local basionymId = currentBasState.mainsnak.datavalue.value.id&lt;br /&gt;
			if basionymId and resolve._entityid(frame, basionymId) and tfroms[basionymId] == nil then&lt;br /&gt;
				--check that basionym is a strict instance of taxon&lt;br /&gt;
				local basionymItem = mw.wikibase.getEntity(basionymId)&lt;br /&gt;
				if basionymItem then&lt;br /&gt;
					local acceptable = {&lt;br /&gt;
					   [&amp;#039;Q16521&amp;#039;] = &amp;#039;taxon&amp;#039;,&lt;br /&gt;
					   [&amp;#039;Q310890&amp;#039;] = &amp;#039;monotypic taxon&amp;#039;,&lt;br /&gt;
					   [&amp;#039;Q2568288&amp;#039;] = &amp;#039;ichnotaxon&amp;#039;,&lt;br /&gt;
					   [&amp;#039;Q23038290&amp;#039;] = &amp;#039;fossil taxon&amp;#039;,&lt;br /&gt;
					   [&amp;#039;Q47487597&amp;#039;] = &amp;#039;monotypic fossil taxon&amp;#039;,&lt;br /&gt;
					}&lt;br /&gt;
					for _, instanceOfState in pairs ( basionymItem:getBestStatements(&amp;#039;P31&amp;#039;) ) do --instance of&lt;br /&gt;
						local instanceOf = instanceOfState.mainsnak.datavalue.value.id&lt;br /&gt;
						if acceptable[instanceOf] then&lt;br /&gt;
							--housekeeping&lt;br /&gt;
							tfroms[basionymId] = 1&lt;br /&gt;
							ifroms = ifroms + 1&lt;br /&gt;
							fromTitleCount = fromTitleCount + 1&lt;br /&gt;
							--append basionym &amp;amp; track&lt;br /&gt;
							parentArgs[&amp;#039;from&amp;#039;..fromTitleCount] = basionymId&lt;br /&gt;
							categories[14] = &amp;#039;[[분류:자동으로 기본명이 추가된 생물 분류 식별자]]&amp;#039;&lt;br /&gt;
							break&lt;br /&gt;
	end	end	end	end	end	end&lt;br /&gt;
	&lt;br /&gt;
	--Append monotypic genus/species to arg list of monotypic species/genus, if not already provided&lt;br /&gt;
	if currentItem then&lt;br /&gt;
		for _, instanceOfState in pairs ( currentItem:getBestStatements(&amp;#039;P31&amp;#039;) ) do --instance of&lt;br /&gt;
			local taxonRank = nil&lt;br /&gt;
			local parentItem = nil&lt;br /&gt;
			local parentTaxon = nil&lt;br /&gt;
			local parentTaxonRank = nil&lt;br /&gt;
			local parentMonoGenus = nil --holy grail/tbd&lt;br /&gt;
			local instanceOf = instanceOfState.mainsnak.datavalue.value.id&lt;br /&gt;
			if instanceOf and (instanceOf == &amp;#039;Q310890&amp;#039; or instanceOf == &amp;#039;Q47487597&amp;#039;) then --monotypic/fossil taxon&lt;br /&gt;
				local taxonRankState = currentItem:getBestStatements(&amp;#039;P105&amp;#039;)[1] --taxon rank&lt;br /&gt;
				if taxonRankState then taxonRank = taxonRankState.mainsnak.datavalue.value.id end&lt;br /&gt;
				&lt;br /&gt;
				if taxonRank and taxonRank == &amp;#039;Q7432&amp;#039; then --species&lt;br /&gt;
					--is monotypic species; add genus&lt;br /&gt;
					local parentTaxonState = currentItem:getBestStatements(&amp;#039;P171&amp;#039;)[1] --parent taxon&lt;br /&gt;
					if parentTaxonState then parentTaxon = parentTaxonState.mainsnak.datavalue.value.id end&lt;br /&gt;
					--confirm parent taxon rank == genus &amp;amp; monotypic (too careful/expensive? remove/mod this first if hitting any request limits)&lt;br /&gt;
					if parentTaxon and resolve._entityid(frame, parentTaxon) then&lt;br /&gt;
						parentItem = mw.wikibase.getEntity(parentTaxon)&lt;br /&gt;
						if parentItem then&lt;br /&gt;
							local parentTaxonRankState = parentItem:getBestStatements(&amp;#039;P105&amp;#039;)[1] --taxon rank&lt;br /&gt;
							if parentTaxonRankState then parentTaxonRank = parentTaxonRankState.mainsnak.datavalue.value.id end&lt;br /&gt;
							if parentTaxonRank and parentTaxonRank == &amp;#039;Q34740&amp;#039; then -- genus&lt;br /&gt;
								for _, parentInstanceOfState in pairs ( parentItem:getBestStatements(&amp;#039;P31&amp;#039;) ) do --instance of&lt;br /&gt;
									local parentInstanceOf = parentInstanceOfState.mainsnak.datavalue.value.id &lt;br /&gt;
									if parentInstanceOf and&lt;br /&gt;
									  (parentInstanceOf == &amp;#039;Q310890&amp;#039; or parentInstanceOf == &amp;#039;Q47487597&amp;#039;) then --monotypic/fossil taxon&lt;br /&gt;
										parentMonoGenus = parentTaxon --confirmed&lt;br /&gt;
										break&lt;br /&gt;
									end&lt;br /&gt;
								end&lt;br /&gt;
								if parentMonoGenus and tfroms[parentMonoGenus] == nil then&lt;br /&gt;
									--housekeeping&lt;br /&gt;
									tfroms[parentMonoGenus] = 1&lt;br /&gt;
									ifroms = ifroms + 1&lt;br /&gt;
									fromTitleCount = fromTitleCount + 1&lt;br /&gt;
									--append monotypic genus &amp;amp; track&lt;br /&gt;
									parentArgs[&amp;#039;from&amp;#039;..fromTitleCount] = parentMonoGenus&lt;br /&gt;
									categories[15] = &amp;#039;[[분류:자동으로 단형목이 추가된 생물 분류 식별자]]&amp;#039;&lt;br /&gt;
									break&lt;br /&gt;
								end&lt;br /&gt;
							end&lt;br /&gt;
						end&lt;br /&gt;
					end&lt;br /&gt;
					if parentMonoGenus == nil or tfroms[parentMonoGenus] == nil then&lt;br /&gt;
						categories[16] = &amp;#039;[[분류:속이 없는 단형종의 생물 분류 식별자]]&amp;#039;&lt;br /&gt;
						break&lt;br /&gt;
					end&lt;br /&gt;
				elseif taxonRank and taxonRank == &amp;#039;Q34740&amp;#039; then --genus&lt;br /&gt;
					--is monotypic genus; add species&lt;br /&gt;
					--...&lt;br /&gt;
				end&lt;br /&gt;
				&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	--Setup navbox&lt;br /&gt;
	local navboxParams = {&lt;br /&gt;
		name  = &amp;#039;Taxonbar&amp;#039;,&lt;br /&gt;
		bodyclass = &amp;#039;hlist&amp;#039;,&lt;br /&gt;
		listclass = &amp;#039;&amp;#039;,&lt;br /&gt;
		groupstyle = &amp;#039;text-align: left;&amp;#039;,&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	for f = 1,fromTitleCount,1&lt;br /&gt;
	do&lt;br /&gt;
		local elements, title = {}, nil&lt;br /&gt;
		--cleanup parameters&lt;br /&gt;
		if parentArgs[&amp;#039;from&amp;#039;..f] == &amp;#039;&amp;#039; then parentArgs[&amp;#039;from&amp;#039;..f] = nil end&lt;br /&gt;
		if parentArgs[&amp;#039;title&amp;#039;..f] == &amp;#039;&amp;#039; then parentArgs[&amp;#039;title&amp;#039;..f] = nil end&lt;br /&gt;
		--remap aliases&lt;br /&gt;
		for _, a in pairs( conf.aliases ) do&lt;br /&gt;
			local alias, name = mw.ustring.lower(a[1]), mw.ustring.lower(a[2])&lt;br /&gt;
			if parentArgs[alias..f] and not parentArgs[name..f] then&lt;br /&gt;
				parentArgs[name..f] = parentArgs[alias..f]&lt;br /&gt;
				parentArgs[alias..f] = nil&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		--Fetch Wikidata item&lt;br /&gt;
		local from = resolve._entityid(frame, parentArgs[&amp;#039;from&amp;#039;..f])&lt;br /&gt;
		local item = mw.wikibase.getEntity(from)&lt;br /&gt;
		local label = nil&lt;br /&gt;
		if type(item) == &amp;#039;table&amp;#039; then&lt;br /&gt;
			local statements = item:getBestStatements(&amp;#039;P225&amp;#039;)[1] --taxon name&lt;br /&gt;
			if statements then&lt;br /&gt;
				local datavalue = statements.mainsnak.datavalue&lt;br /&gt;
				if datavalue then&lt;br /&gt;
					label = datavalue.value&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
			label = label or item:getLabel()&lt;br /&gt;
		else&lt;br /&gt;
			if parentArgs[&amp;#039;from&amp;#039;..f] then&lt;br /&gt;
				categories[1] = &amp;#039;&amp;#039;&lt;br /&gt;
				categories[4] = &amp;#039;[[분류:잘못된 변수를 사용하는 생물 분류 식별자]]&amp;#039;&lt;br /&gt;
				errors = errors .. mw.text.tag(&amp;#039;strong&amp;#039;, {class=&amp;#039;error&amp;#039;}, &amp;#039;오류: &amp;quot;&amp;#039; .. &lt;br /&gt;
				         parentArgs[&amp;#039;from&amp;#039;..f] .. &amp;#039;&amp;quot;은(는) 유효한 위키데이터 항목 ID가 아닙니다.&amp;lt;br /&amp;gt;&amp;#039;)				&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		if label and label ~= &amp;#039;&amp;#039; then&lt;br /&gt;
			title = mw.title.new(label)&lt;br /&gt;
		end&lt;br /&gt;
		if not title and parentArgs[&amp;#039;title&amp;#039;..f] then&lt;br /&gt;
			title = mw.title.new(parentArgs[&amp;#039;title&amp;#039;..f])&lt;br /&gt;
		end&lt;br /&gt;
		if not title and f == 1 then&lt;br /&gt;
			title = currentTitle&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if title then&lt;br /&gt;
			if (not parentArgs[&amp;#039;wikidata&amp;#039;..f] or parentArgs[&amp;#039;wikidata&amp;#039;..f] == &amp;#039;&amp;#039;) and &lt;br /&gt;
			   (title.namespace == 0) then&lt;br /&gt;
				if parentArgs[&amp;#039;from&amp;#039;..f] then&lt;br /&gt;
					parentArgs[&amp;#039;wikidata&amp;#039;..f] = parentArgs[&amp;#039;from&amp;#039;..f]&lt;br /&gt;
				elseif item then&lt;br /&gt;
					parentArgs[&amp;#039;wikidata&amp;#039;..f] = item.id&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
			if title.namespace == 0 or stringArgs then --Only in the main namespace or if there are manual overrides&lt;br /&gt;
				local sourcesFound = false&lt;br /&gt;
				local sourceCount = 0&lt;br /&gt;
				for _, params in pairs( conf.databases ) do&lt;br /&gt;
					params[1] = mw.ustring.lower(params[1])&lt;br /&gt;
					local propId = params[3]&lt;br /&gt;
					--Wikidata fallback if requested&lt;br /&gt;
					if (item ~= nil and item.claims ~= nil) and&lt;br /&gt;
					   (type(propId) == &amp;#039;string&amp;#039; or (type(propId) == &amp;#039;number&amp;#039; and propId &amp;gt; 0)) then&lt;br /&gt;
						local wikidataIds = getIdsFromWikidata( item, &amp;#039;P&amp;#039; .. propId )&lt;br /&gt;
						local v = parentArgs[params[1]..f]&lt;br /&gt;
						if wikidataIds[1] then&lt;br /&gt;
							if (not v or v == &amp;#039;&amp;#039;) then&lt;br /&gt;
								parentArgs[params[1]..f] = wikidataIds[1]&lt;br /&gt;
							else&lt;br /&gt;
								if v and v ~= &amp;#039;no&amp;#039; and v ~= wikidataIds[1] then&lt;br /&gt;
									categories[9] = &amp;#039;[[분류:위키데이터와 다른 수동 생물 분류 ID를 사용하는 생물 분류 식별자]]&amp;#039;&lt;br /&gt;
								elseif v and v == wikidataIds[1] then&lt;br /&gt;
									categories[10] = &amp;#039;[[분류:위키데이터와 동일한 수동 생물 분류 ID를 사용하는 생물 분류 식별자]]&amp;#039;&lt;br /&gt;
								end&lt;br /&gt;
							end&lt;br /&gt;
						end&lt;br /&gt;
					end&lt;br /&gt;
					local val = parentArgs[params[1]..f]&lt;br /&gt;
					if val and val ~= &amp;#039;&amp;#039; and mw.ustring.lower(val) ~= &amp;#039;no&amp;#039; then&lt;br /&gt;
						if type(propId) == &amp;#039;number&amp;#039; then&lt;br /&gt;
							if propId &amp;lt; 0 then propId = -propId end --allow link&lt;br /&gt;
							if propId &amp;gt; 0 then --link&lt;br /&gt;
								table.insert( elements, createRow( params[1], params[2]..&amp;#039;:&amp;#039;, val, getLink( propId, val ).text, true ) )&lt;br /&gt;
							else --propId == 0; no link&lt;br /&gt;
								table.insert( elements, createRow( params[1], params[2]..&amp;#039;:&amp;#039;, val, val, true ) )&lt;br /&gt;
							end&lt;br /&gt;
						else&lt;br /&gt;
							table.insert( elements, createRow( params[1], params[2]..&amp;#039;:&amp;#039;, val, getLink( propId, val ).text, true ) )&lt;br /&gt;
						end&lt;br /&gt;
						if params[1] ~= &amp;#039;wikidata&amp;#039; then&lt;br /&gt;
							sourcesFound = true &lt;br /&gt;
							sourceCount = sourceCount + 1&lt;br /&gt;
						end&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
				&lt;br /&gt;
				if sourceCount &amp;gt;= 20 then categories[12] = &amp;#039;[[분류:20개 이상의 생물 분류 ID를 사용하는 생물 분류 식별자]]&amp;#039; end&lt;br /&gt;
				if sourceCount &amp;gt;= 25 then categories[13] = &amp;#039;[[분류:25개 이상의 생물 분류 ID를 사용하는 생물 분류 식별자]]&amp;#039; end&lt;br /&gt;
				&lt;br /&gt;
				--Generate navbox title&lt;br /&gt;
				if sourcesFound then&lt;br /&gt;
					rowCount = rowCount + 1&lt;br /&gt;
					if firstRow == 0 then firstRow = f end&lt;br /&gt;
					--set title from wikidata if it doesn&amp;#039;t exist&lt;br /&gt;
					if parentArgs[&amp;#039;title&amp;#039;..f] == &amp;#039;&amp;#039; or not parentArgs[&amp;#039;title&amp;#039;..f] then&lt;br /&gt;
						parentArgs[&amp;#039;noTitle&amp;#039;..f] = true&lt;br /&gt;
						parentArgs[&amp;#039;title&amp;#039;..f] = title.text&lt;br /&gt;
					end&lt;br /&gt;
					--if it exists now, set row heading to title&lt;br /&gt;
					if parentArgs[&amp;#039;title&amp;#039;..f] and parentArgs[&amp;#039;title&amp;#039;..f] ~= &amp;#039;&amp;#039; then&lt;br /&gt;
						navboxParams[&amp;#039;group&amp;#039;..f] = TaxonItalics.italicizeTaxonName(parentArgs[&amp;#039;title&amp;#039;..f], false)&lt;br /&gt;
					else&lt;br /&gt;
						navboxParams[&amp;#039;group&amp;#039;..f] = &amp;quot;&amp;quot;&lt;br /&gt;
					end&lt;br /&gt;
					navboxParams[&amp;#039;list&amp;#039;..f] = table.concat( elements )&lt;br /&gt;
				elseif currentEntityId then&lt;br /&gt;
					categories[7] = &amp;#039;[[분류:위키데이터 생물 분류 ID가 없는 생물 분류 식별자 문서]]&amp;#039;&lt;br /&gt;
				end&lt;br /&gt;
				&lt;br /&gt;
				--Categorize&lt;br /&gt;
				if parentArgs[&amp;#039;from&amp;#039;..f] and parentArgs[&amp;#039;from&amp;#039;..f] ~= &amp;#039;&amp;#039; then&lt;br /&gt;
					--blank &amp;quot;missing from&amp;quot; if &amp;#039;from&amp;#039; exists&lt;br /&gt;
					categories[1] = &amp;#039;&amp;#039;&lt;br /&gt;
					--blank &amp;quot;desynced&amp;quot; if &amp;#039;from&amp;#039; matches current page&lt;br /&gt;
					if parentArgs[&amp;#039;from&amp;#039;..f] == currentEntityId then categories[2] = &amp;#039;&amp;#039; end&lt;br /&gt;
				end&lt;br /&gt;
					--cannot be &amp;quot;desynced&amp;quot; if no &amp;#039;from&amp;#039; params&lt;br /&gt;
				if categories[1] ~= &amp;#039;&amp;#039; then categories[2] = &amp;#039;&amp;#039; end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if rowCount &amp;gt; 0 then&lt;br /&gt;
		local Navbox = require(&amp;#039;Module:Navbox&amp;#039;)&lt;br /&gt;
		if rowCount &amp;gt; 1 then&lt;br /&gt;
			--remove duplicates and move page title to top&lt;br /&gt;
			local rowIDs = {}&lt;br /&gt;
			for f = 1,fromTitleCount,1&lt;br /&gt;
			do&lt;br /&gt;
				if parentArgs[&amp;#039;title&amp;#039;..f] and parentArgs[&amp;#039;title&amp;#039;..f] ~= &amp;#039;&amp;#039; then&lt;br /&gt;
					if rowIDs[parentArgs[&amp;#039;wikidata&amp;#039;..f]] then --remove duplicate&lt;br /&gt;
						navboxParams[&amp;#039;group&amp;#039;..f] = nil&lt;br /&gt;
						navboxParams[&amp;#039;list&amp;#039;..f] = nil&lt;br /&gt;
					else&lt;br /&gt;
						rowIDs[parentArgs[&amp;#039;wikidata&amp;#039;..f]] = true&lt;br /&gt;
						if f &amp;gt; firstRow and (parentArgs[&amp;#039;title&amp;#039;..f] == currentTitle.text or &lt;br /&gt;
						   parentArgs[&amp;#039;wikidata&amp;#039;..f] == currentEntityId) then --move item linked to page to top&lt;br /&gt;
							if navboxParams[&amp;#039;group&amp;#039;..f] and &lt;br /&gt;
							   navboxParams[&amp;#039;group&amp;#039;..f] ~= &amp;#039;&amp;#039; and &lt;br /&gt;
							   navboxParams[&amp;#039;list&amp;#039;..f] and &lt;br /&gt;
							   navboxParams[&amp;#039;list&amp;#039;..f] ~= &amp;#039;&amp;#039; then&lt;br /&gt;
								local tempGroup, tempList = navboxParams[&amp;#039;group&amp;#039;..f], navboxParams[&amp;#039;list&amp;#039;..f]&lt;br /&gt;
								navboxParams[&amp;#039;group&amp;#039;..f], navboxParams[&amp;#039;list&amp;#039;..f] = navboxParams[&amp;#039;group&amp;#039;..firstRow], navboxParams[&amp;#039;list&amp;#039;..firstRow]&lt;br /&gt;
								navboxParams[&amp;#039;group&amp;#039;..firstRow], navboxParams[&amp;#039;list&amp;#039;..firstRow] = tempGroup, tempList&lt;br /&gt;
							end&lt;br /&gt;
						end&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
			--adjust navbox for number of rows&lt;br /&gt;
			navboxParams[&amp;#039;title&amp;#039;] = &amp;quot;[[Help:Taxon identifiers|Taxon identifiers]]&amp;quot;&lt;br /&gt;
			if rowCount &amp;gt; 2 then&lt;br /&gt;
				navboxParams[&amp;#039;navbar&amp;#039;] = &amp;#039;plain&amp;#039;&lt;br /&gt;
			else&lt;br /&gt;
				navboxParams[&amp;#039;state&amp;#039;] = &amp;#039;off&amp;#039;&lt;br /&gt;
				navboxParams[&amp;#039;navbar&amp;#039;] = &amp;#039;off&amp;#039;&lt;br /&gt;
			end&lt;br /&gt;
		elseif parentArgs[&amp;#039;noTitle&amp;#039;..firstRow] then&lt;br /&gt;
			navboxParams[&amp;#039;group&amp;#039;..firstRow] = &amp;#039;[[Help:Taxon identifiers|Taxon identifiers]]&amp;#039;&lt;br /&gt;
		else&lt;br /&gt;
			navboxParams[&amp;#039;group&amp;#039;..firstRow] = &amp;#039;[[Help:Taxon identifiers|Taxon identifiers]]&amp;lt;br /&amp;gt;&amp;#039; .. navboxParams[&amp;#039;group&amp;#039;..firstRow]&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		--return navbox&lt;br /&gt;
		outString = Navbox._navbox(navboxParams)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	--add categories&lt;br /&gt;
	if string.sub(currentTitle.subpageText,1,9) == &amp;#039;testcases&amp;#039; then parentArgs[&amp;#039;demo&amp;#039;] = true end&lt;br /&gt;
	if parentArgs[&amp;#039;demo&amp;#039;] and parentArgs[&amp;#039;demo&amp;#039;] ~= &amp;#039;&amp;#039; then&lt;br /&gt;
		outString = outString .. mw.text.nowiki(table.concat(categories)) .. &amp;#039;&amp;lt;br /&amp;gt;&amp;#039;&lt;br /&gt;
	elseif currentTitle.namespace == 0 then&lt;br /&gt;
		outString = outString .. table.concat(categories)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return outString .. errors&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>위키백과&gt;Ykhwong</name></author>
	</entry>
</feed>