<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hant-TW">
	<id>https://chunghwamc.com/wiki/index.php?action=history&amp;feed=atom&amp;title=%E6%A8%A1%E7%B5%84%3A%E8%B3%87%E8%A8%8A%E6%A1%86</id>
	<title>模組:資訊框 - 修訂紀錄</title>
	<link rel="self" type="application/atom+xml" href="https://chunghwamc.com/wiki/index.php?action=history&amp;feed=atom&amp;title=%E6%A8%A1%E7%B5%84%3A%E8%B3%87%E8%A8%8A%E6%A1%86"/>
	<link rel="alternate" type="text/html" href="https://chunghwamc.com/wiki/index.php?title=%E6%A8%A1%E7%B5%84:%E8%B3%87%E8%A8%8A%E6%A1%86&amp;action=history"/>
	<updated>2026-04-05T22:46:11Z</updated>
	<subtitle>本 wiki 上此頁面的修訂紀錄</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://chunghwamc.com/wiki/index.php?title=%E6%A8%A1%E7%B5%84:%E8%B3%87%E8%A8%8A%E6%A1%86&amp;diff=1720&amp;oldid=prev</id>
		<title>Chunghwamc 於 2025年2月26日 (三) 12:33</title>
		<link rel="alternate" type="text/html" href="https://chunghwamc.com/wiki/index.php?title=%E6%A8%A1%E7%B5%84:%E8%B3%87%E8%A8%8A%E6%A1%86&amp;diff=1720&amp;oldid=prev"/>
		<updated>2025-02-26T12:33:21Z</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;zh-Hant-TW&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;於 2025年2月26日 (三) 20:33 的修訂&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-l1&quot;&gt;第1行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第1行：&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;local p = {}&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;local p = {}&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;br&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;br&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;local navbar = require(&#039;Module:&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Navbar&lt;/del&gt;&#039;)._navbar&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;local navbar = require(&#039;Module:&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;導覽列&lt;/ins&gt;&#039;)._navbar&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;br&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;br&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;local args = {}&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;local args = {}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key chmc_wiki:diff:1.41:old-1716:rev-1720:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Chunghwamc</name></author>
	</entry>
	<entry>
		<id>https://chunghwamc.com/wiki/index.php?title=%E6%A8%A1%E7%B5%84:%E8%B3%87%E8%A8%8A%E6%A1%86&amp;diff=1716&amp;oldid=prev</id>
		<title>Chunghwamc：​Chunghwamc已移動頁面模組:Infobox至模組:資訊框，不留重新導向</title>
		<link rel="alternate" type="text/html" href="https://chunghwamc.com/wiki/index.php?title=%E6%A8%A1%E7%B5%84:%E8%B3%87%E8%A8%8A%E6%A1%86&amp;diff=1716&amp;oldid=prev"/>
		<updated>2025-02-26T12:29:22Z</updated>

		<summary type="html">&lt;p&gt;Chunghwamc已移動頁面&lt;a href=&quot;/wiki/index.php?title=%E6%A8%A1%E7%B5%84:Infobox&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;模組:Infobox（頁面不存在）&quot;&gt;模組:Infobox&lt;/a&gt;至&lt;a href=&quot;/wiki/%E6%A8%A1%E7%B5%84:%E8%B3%87%E8%A8%8A%E6%A1%86&quot; title=&quot;模組:資訊框&quot;&gt;模組:資訊框&lt;/a&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;zh-Hant-TW&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;於 2025年2月26日 (三) 20:29 的修訂&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;4&quot; class=&quot;diff-notice&quot; lang=&quot;zh-Hant-TW&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;（無差異）&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key chmc_wiki:diff:1.41:old-51:rev-1716 --&gt;
&lt;/table&gt;</summary>
		<author><name>Chunghwamc</name></author>
	</entry>
	<entry>
		<id>https://chunghwamc.com/wiki/index.php?title=%E6%A8%A1%E7%B5%84:%E8%B3%87%E8%A8%8A%E6%A1%86&amp;diff=51&amp;oldid=prev</id>
		<title>Chunghwamc：​建立內容為「local p = {}  local navbar = require(&#039;Module:Navbar&#039;)._navbar  local args = {} local origArgs = {} local root  local function notempty( s ) return s and s:match( &#039;%S&#039; ) end  local function fixChildBoxes(sval, tt) 	if notempty(sval) then 		local marker = &#039;&lt;span class=special_infobox_marker&gt;&#039; 		local s = sval 		s = mw.ustring.gsub(s, &#039;(&lt;%s*[Tt][Rr])&#039;, marker .. &#039;%1&#039;) 		s = mw.ustring.gsub(s, &#039;(&lt;/[Tt][Rr]%s*&gt;)&#039;, &#039;%1&#039; .. marker) 		if s:match(marker) then 			s =…」的新頁面</title>
		<link rel="alternate" type="text/html" href="https://chunghwamc.com/wiki/index.php?title=%E6%A8%A1%E7%B5%84:%E8%B3%87%E8%A8%8A%E6%A1%86&amp;diff=51&amp;oldid=prev"/>
		<updated>2024-03-23T08:41:42Z</updated>

		<summary type="html">&lt;p&gt;建立內容為「local p = {}  local navbar = require(&amp;#039;Module:Navbar&amp;#039;)._navbar  local args = {} local origArgs = {} local root  local function notempty( s ) return s and s:match( &amp;#039;%S&amp;#039; ) end  local function fixChildBoxes(sval, tt) 	if notempty(sval) then 		local marker = &amp;#039;&amp;lt;span class=special_infobox_marker&amp;gt;&amp;#039; 		local s = sval 		s = mw.ustring.gsub(s, &amp;#039;(&amp;lt;%s*[Tt][Rr])&amp;#039;, marker .. &amp;#039;%1&amp;#039;) 		s = mw.ustring.gsub(s, &amp;#039;(&amp;lt;/[Tt][Rr]%s*&amp;gt;)&amp;#039;, &amp;#039;%1&amp;#039; .. marker) 		if s:match(marker) then 			s =…」的新頁面&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新頁面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local p = {}&lt;br /&gt;
&lt;br /&gt;
local navbar = require(&amp;#039;Module:Navbar&amp;#039;)._navbar&lt;br /&gt;
&lt;br /&gt;
local args = {}&lt;br /&gt;
local origArgs = {}&lt;br /&gt;
local root&lt;br /&gt;
&lt;br /&gt;
local function notempty( s ) return s and s:match( &amp;#039;%S&amp;#039; ) end&lt;br /&gt;
&lt;br /&gt;
local function fixChildBoxes(sval, tt)&lt;br /&gt;
	if notempty(sval) then&lt;br /&gt;
		local marker = &amp;#039;&amp;lt;span class=special_infobox_marker&amp;gt;&amp;#039;&lt;br /&gt;
		local s = sval&lt;br /&gt;
		s = mw.ustring.gsub(s, &amp;#039;(&amp;lt;%s*[Tt][Rr])&amp;#039;, marker .. &amp;#039;%1&amp;#039;)&lt;br /&gt;
		s = mw.ustring.gsub(s, &amp;#039;(&amp;lt;/[Tt][Rr]%s*&amp;gt;)&amp;#039;, &amp;#039;%1&amp;#039; .. marker)&lt;br /&gt;
		if s:match(marker) then&lt;br /&gt;
			s = mw.ustring.gsub(s, marker .. &amp;#039;%s*&amp;#039; .. marker, &amp;#039;&amp;#039;)&lt;br /&gt;
			s = mw.ustring.gsub(s, &amp;#039;([\r\n]|-[^\r\n]*[\r\n])%s*&amp;#039; .. marker, &amp;#039;%1&amp;#039;)&lt;br /&gt;
			s = mw.ustring.gsub(s, marker .. &amp;#039;%s*([\r\n]|-)&amp;#039;, &amp;#039;%1&amp;#039;)&lt;br /&gt;
			s = mw.ustring.gsub(s, &amp;#039;(&amp;lt;/[Cc][Aa][Pp][Tt][Ii][Oo][Nn]%s*&amp;gt;%s*)&amp;#039; .. marker, &amp;#039;%1&amp;#039;)&lt;br /&gt;
			s = mw.ustring.gsub(s, &amp;#039;(&amp;lt;%s*[Tt][Aa][Bb][Ll][Ee][^&amp;lt;&amp;gt;]*&amp;gt;%s*)&amp;#039; .. marker, &amp;#039;%1&amp;#039;)&lt;br /&gt;
			s = mw.ustring.gsub(s, &amp;#039;^(%{|[^\r\n]*[\r\n]%s*)&amp;#039; .. marker, &amp;#039;%1&amp;#039;)&lt;br /&gt;
			s = mw.ustring.gsub(s, &amp;#039;([\r\n]%{|[^\r\n]*[\r\n]%s*)&amp;#039; .. marker, &amp;#039;%1&amp;#039;)&lt;br /&gt;
			s = mw.ustring.gsub(s, marker .. &amp;#039;(%s*&amp;lt;/[Tt][Aa][Bb][Ll][Ee]%s*&amp;gt;)&amp;#039;, &amp;#039;%1&amp;#039;)&lt;br /&gt;
			s = mw.ustring.gsub(s, marker .. &amp;#039;(%s*\n|%})&amp;#039;, &amp;#039;%1&amp;#039;)&lt;br /&gt;
		end&lt;br /&gt;
		if s:match(marker) then&lt;br /&gt;
			local subcells = mw.text.split(s, marker)&lt;br /&gt;
			s = &amp;#039;&amp;#039;&lt;br /&gt;
			for k = 1, #subcells do&lt;br /&gt;
				if k == 1 then&lt;br /&gt;
					s = s .. subcells[k] .. &amp;#039;&amp;lt;/&amp;#039; .. tt .. &amp;#039;&amp;gt;&amp;lt;/tr&amp;gt;&amp;#039;&lt;br /&gt;
				elseif k == #subcells then&lt;br /&gt;
					local rowstyle = &amp;#039; style=&amp;quot;display:none&amp;quot;&amp;#039;&lt;br /&gt;
					if notempty(subcells[k]) then rowstyle = &amp;#039;&amp;#039;	end&lt;br /&gt;
					s = s .. &amp;#039;&amp;lt;tr&amp;#039; .. rowstyle ..&amp;#039;&amp;gt;&amp;lt;&amp;#039; .. tt .. &amp;#039; colspan=2&amp;gt;\n&amp;#039; .. subcells[k]&lt;br /&gt;
				elseif notempty(subcells[k]) then&lt;br /&gt;
					if (k % 2) == 0 then&lt;br /&gt;
						s = s .. subcells[k]&lt;br /&gt;
					else&lt;br /&gt;
						s = s .. &amp;#039;&amp;lt;tr&amp;gt;&amp;lt;&amp;#039; .. tt .. &amp;#039; colspan=2&amp;gt;\n&amp;#039; .. subcells[k] .. &amp;#039;&amp;lt;/&amp;#039; .. tt .. &amp;#039;&amp;gt;&amp;lt;/tr&amp;gt;&amp;#039;&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		-- the next two lines add a newline at the end of lists for the PHP parser&lt;br /&gt;
		-- https://en.wikipedia.org/w/index.php?title=Template_talk:Infobox_musical_artist&amp;amp;oldid=849054481&lt;br /&gt;
		-- remove when [[:phab:T191516]] is fixed or OBE&lt;br /&gt;
		s = mw.ustring.gsub(s, &amp;#039;([\r\n][%*#;:][^\r\n]*)$&amp;#039;, &amp;#039;%1\n&amp;#039;)&lt;br /&gt;
		s = mw.ustring.gsub(s, &amp;#039;^([%*#;:][^\r\n]*)$&amp;#039;, &amp;#039;%1\n&amp;#039;)&lt;br /&gt;
		s = mw.ustring.gsub(s, &amp;#039;^([%*#;:])&amp;#039;, &amp;#039;\n%1&amp;#039;)&lt;br /&gt;
		s = mw.ustring.gsub(s, &amp;#039;^(%{%|)&amp;#039;, &amp;#039;\n%1&amp;#039;)&lt;br /&gt;
		return s&lt;br /&gt;
	else&lt;br /&gt;
		return sval&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function union(t1, t2)&lt;br /&gt;
	-- Returns the union of the values of two tables, as a sequence.&lt;br /&gt;
	local vals = {}&lt;br /&gt;
	for k, v in pairs(t1) do&lt;br /&gt;
		vals[v] = true&lt;br /&gt;
	end&lt;br /&gt;
	for k, v in pairs(t2) do&lt;br /&gt;
		vals[v] = true&lt;br /&gt;
	end&lt;br /&gt;
	local ret = {}&lt;br /&gt;
	for k, v in pairs(vals) do&lt;br /&gt;
		table.insert(ret, k)&lt;br /&gt;
	end&lt;br /&gt;
	return ret&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function getArgNums(prefix)&lt;br /&gt;
	-- Returns a table containing the numbers of the arguments that exist&lt;br /&gt;
	-- for the specified prefix. For example, if the prefix was &amp;#039;data&amp;#039;, and&lt;br /&gt;
	-- &amp;#039;data1&amp;#039;, &amp;#039;data2&amp;#039;, and &amp;#039;data5&amp;#039; exist, it would return {1, 2, 5}.&lt;br /&gt;
	local nums = {}&lt;br /&gt;
	for k, v in pairs(args) do&lt;br /&gt;
		local num = tostring(k):match(&amp;#039;^&amp;#039; .. prefix .. &amp;#039;([1-9]%d*)$&amp;#039;)&lt;br /&gt;
		if num then table.insert(nums, tonumber(num)) end&lt;br /&gt;
	end&lt;br /&gt;
	table.sort(nums)&lt;br /&gt;
	return nums&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function addRow(rowArgs)&lt;br /&gt;
	-- Adds a row to the infobox, with either a header cell&lt;br /&gt;
	-- or a label/data cell combination.&lt;br /&gt;
	if rowArgs.header and rowArgs.header ~= &amp;#039;_BLANK_&amp;#039; then&lt;br /&gt;
		root&lt;br /&gt;
			:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
				:addClass(rowArgs.rowclass)&lt;br /&gt;
				:cssText(rowArgs.rowstyle)&lt;br /&gt;
				:attr(&amp;#039;id&amp;#039;, rowArgs.rowid)&lt;br /&gt;
				:tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
					:attr(&amp;#039;colspan&amp;#039;, 2)&lt;br /&gt;
					:attr(&amp;#039;id&amp;#039;, rowArgs.headerid)&lt;br /&gt;
					:addClass(rowArgs.class)&lt;br /&gt;
					:addClass(args.headerclass)&lt;br /&gt;
					:css(&amp;#039;text-align&amp;#039;, &amp;#039;center&amp;#039;)&lt;br /&gt;
					:cssText(rowArgs.headerstyle)&lt;br /&gt;
					:cssText(rowArgs.rowcellstyle)&lt;br /&gt;
					:wikitext(fixChildBoxes(rowArgs.header, &amp;#039;th&amp;#039;))&lt;br /&gt;
		if rowArgs.data then&lt;br /&gt;
			root:wikitext(&amp;#039;[[Category:使用已忽略数据行信息框模板的条目]]&amp;#039;)&lt;br /&gt;
		end&lt;br /&gt;
	elseif rowArgs.data then&lt;br /&gt;
		if not rowArgs.data:gsub(&amp;#039;%[%[%s*[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]%s*:[^]]*]]&amp;#039;, &amp;#039;&amp;#039;):match(&amp;#039;^%S&amp;#039;) then&lt;br /&gt;
			rowArgs.rowstyle = &amp;#039;display:none&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
		local row = root:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
		row:addClass(rowArgs.rowclass)&lt;br /&gt;
		row:cssText(rowArgs.rowstyle)&lt;br /&gt;
		row:attr(&amp;#039;id&amp;#039;, rowArgs.rowid)&lt;br /&gt;
		if rowArgs.label then&lt;br /&gt;
			row&lt;br /&gt;
				:tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
					:attr(&amp;#039;scope&amp;#039;, &amp;#039;row&amp;#039;)&lt;br /&gt;
					:css(&amp;#039;text-align&amp;#039;, &amp;#039;left&amp;#039;)&lt;br /&gt;
					:attr(&amp;#039;id&amp;#039;, rowArgs.labelid)&lt;br /&gt;
					:cssText(rowArgs.labelstyle)&lt;br /&gt;
					:cssText(rowArgs.rowcellstyle)&lt;br /&gt;
					:wikitext(rowArgs.label)&lt;br /&gt;
					:done()&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		local dataCell = row:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
		if not rowArgs.label then&lt;br /&gt;
			dataCell&lt;br /&gt;
				:attr(&amp;#039;colspan&amp;#039;, 2)&lt;br /&gt;
				:css(&amp;#039;text-align&amp;#039;, &amp;#039;center&amp;#039;)&lt;br /&gt;
		end&lt;br /&gt;
		dataCell&lt;br /&gt;
			:attr(&amp;#039;id&amp;#039;, rowArgs.dataid)&lt;br /&gt;
			:addClass(rowArgs.class)&lt;br /&gt;
			:cssText(rowArgs.datastyle)&lt;br /&gt;
			:cssText(rowArgs.rowcellstyle)&lt;br /&gt;
			:wikitext(fixChildBoxes(rowArgs.data, &amp;#039;td&amp;#039;))&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
local function renderOverImage()&lt;br /&gt;
	if not args.overimage then return end&lt;br /&gt;
&lt;br /&gt;
	local row = root:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
		row:addClass(args.overimagerowclass)&lt;br /&gt;
		local topImage = row:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
		topImage:attr(&amp;#039;colspan&amp;#039;, 2)&lt;br /&gt;
		topImage:addClass(args.imageclass)&lt;br /&gt;
		topImage:cssText(args.imagestyle)&lt;br /&gt;
		topImage:css(&amp;#039;text-align&amp;#039;, &amp;#039;center&amp;#039;)&lt;br /&gt;
		if args.overcaption and args.captionstyle then&lt;br /&gt;
			topImage:wikitext(fixChildBoxes(args.overimage .. &amp;#039;&amp;lt;div style=\&amp;quot;&amp;#039; .. args.captionstyle .. &amp;#039;\&amp;quot;&amp;gt;&amp;#039; .. args.overcaption .. &amp;#039;&amp;lt;/div&amp;gt;&amp;#039;, &amp;#039;td&amp;#039;))&lt;br /&gt;
		else&lt;br /&gt;
			if args.overcaption then&lt;br /&gt;
				topImage:wikitext(fixChildBoxes(args.overimage .. &amp;#039;&amp;lt;div&amp;gt;&amp;#039; .. args.overcaption .. &amp;#039;&amp;lt;/div&amp;gt;&amp;#039;, &amp;#039;td&amp;#039;))&lt;br /&gt;
			else&lt;br /&gt;
				topImage:wikitext(fixChildBoxes(args.overimage, &amp;#039;td&amp;#039;))&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function renderTitle()&lt;br /&gt;
	if not args.title then return end&lt;br /&gt;
&lt;br /&gt;
	root&lt;br /&gt;
		:tag(&amp;#039;caption&amp;#039;)&lt;br /&gt;
			:addClass(args.titleclass)&lt;br /&gt;
			:cssText(args.titlestyle)&lt;br /&gt;
			:wikitext(&amp;#039;\&amp;#039;\&amp;#039;\&amp;#039;&amp;#039; .. args.title .. &amp;#039;\&amp;#039;\&amp;#039;\&amp;#039;&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function renderAboveRow()&lt;br /&gt;
	if not args.above then return end&lt;br /&gt;
&lt;br /&gt;
	root&lt;br /&gt;
		:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
			:tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
				:attr(&amp;#039;colspan&amp;#039;, 2)&lt;br /&gt;
				:addClass(args.aboveclass)&lt;br /&gt;
				:css(&amp;#039;text-align&amp;#039;, &amp;#039;center&amp;#039;)&lt;br /&gt;
				:css(&amp;#039;font-size&amp;#039;, &amp;#039;125%&amp;#039;)&lt;br /&gt;
				:css(&amp;#039;font-weight&amp;#039;, &amp;#039;bold&amp;#039;)&lt;br /&gt;
				:cssText(args.abovestyle)&lt;br /&gt;
				:wikitext(fixChildBoxes(args.above,&amp;#039;th&amp;#039;))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function renderBelowRow()&lt;br /&gt;
	if not args.below then return end&lt;br /&gt;
&lt;br /&gt;
	root&lt;br /&gt;
		:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
			:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
				:attr(&amp;#039;colspan&amp;#039;, &amp;#039;2&amp;#039;)&lt;br /&gt;
				:addClass(args.belowclass)&lt;br /&gt;
				:css(&amp;#039;text-align&amp;#039;, &amp;#039;center&amp;#039;)&lt;br /&gt;
				:cssText(args.belowstyle)&lt;br /&gt;
				:wikitext(fixChildBoxes(args.below,&amp;#039;td&amp;#039;))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function renderSubheaders()&lt;br /&gt;
	if args.subheader then&lt;br /&gt;
		args.subheader1 = args.subheader&lt;br /&gt;
	end&lt;br /&gt;
	if args.subheaderrowclass then&lt;br /&gt;
		args.subheaderrowclass1 = args.subheaderrowclass&lt;br /&gt;
	end&lt;br /&gt;
	local subheadernums = getArgNums(&amp;#039;subheader&amp;#039;)&lt;br /&gt;
	for k, num in ipairs(subheadernums) do&lt;br /&gt;
		addRow({&lt;br /&gt;
			data = args[&amp;#039;subheader&amp;#039; .. tostring(num)],&lt;br /&gt;
			datastyle = args.subheaderstyle,&lt;br /&gt;
			rowcellstyle = args[&amp;#039;subheaderstyle&amp;#039; .. tostring(num)],&lt;br /&gt;
			class = args.subheaderclass,&lt;br /&gt;
			rowclass = args[&amp;#039;subheaderrowclass&amp;#039; .. tostring(num)]&lt;br /&gt;
		})&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function renderImages()&lt;br /&gt;
	if args.image then&lt;br /&gt;
		args.image1 = args.image&lt;br /&gt;
	end&lt;br /&gt;
	if args.caption then&lt;br /&gt;
		args.caption1 = args.caption&lt;br /&gt;
	end&lt;br /&gt;
	local imagenums = getArgNums(&amp;#039;image&amp;#039;)&lt;br /&gt;
	for k, num in ipairs(imagenums) do&lt;br /&gt;
		local caption = args[&amp;#039;caption&amp;#039; .. tostring(num)]&lt;br /&gt;
		local data = mw.html.create():wikitext(args[&amp;#039;image&amp;#039; .. tostring(num)])&lt;br /&gt;
		if caption then&lt;br /&gt;
			data&lt;br /&gt;
				:tag(&amp;#039;div&amp;#039;)&lt;br /&gt;
					:cssText(args.captionstyle)&lt;br /&gt;
					:wikitext(caption)&lt;br /&gt;
		end&lt;br /&gt;
		addRow({&lt;br /&gt;
			data = tostring(data),&lt;br /&gt;
			datastyle = args.imagestyle,&lt;br /&gt;
			class = args.imageclass,&lt;br /&gt;
			rowclass = args[&amp;#039;imagerowclass&amp;#039; .. tostring(num)]&lt;br /&gt;
		})&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function preprocessRows()&lt;br /&gt;
	-- Gets the union of the header and data argument numbers,&lt;br /&gt;
	-- and renders them all in order using addRow.&lt;br /&gt;
	local rownums = union(getArgNums(&amp;#039;header&amp;#039;), getArgNums(&amp;#039;data&amp;#039;))&lt;br /&gt;
	table.sort(rownums)&lt;br /&gt;
	local lastheader&lt;br /&gt;
	for k, num in ipairs(rownums) do&lt;br /&gt;
		if args[&amp;#039;header&amp;#039; .. tostring(num)] then&lt;br /&gt;
			if lastheader then&lt;br /&gt;
				args[&amp;#039;header&amp;#039; .. tostring(lastheader)] = nil&lt;br /&gt;
			end&lt;br /&gt;
			lastheader = num&lt;br /&gt;
		elseif args[&amp;#039;data&amp;#039; .. tostring(num)] and args[&amp;#039;data&amp;#039; .. tostring(num)]:gsub(&amp;#039;%[%[%s*[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]%s*:[^]]*]]&amp;#039;, &amp;#039;&amp;#039;):match(&amp;#039;^%S&amp;#039;) then&lt;br /&gt;
			local data = args[&amp;#039;data&amp;#039; .. tostring(num)]&lt;br /&gt;
			if data:gsub(&amp;#039;%[%[%s*[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]%s*:[^]]*]]&amp;#039;, &amp;#039;&amp;#039;):match(&amp;#039;%S&amp;#039;) then&lt;br /&gt;
				lastheader = nil&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if lastheader then&lt;br /&gt;
		args[&amp;#039;header&amp;#039; .. tostring(lastheader)] = nil&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function renderRows()&lt;br /&gt;
	-- Gets the union of the header and data argument numbers,&lt;br /&gt;
	-- and renders them all in order using addRow.&lt;br /&gt;
	local rownums = union(getArgNums(&amp;#039;header&amp;#039;), getArgNums(&amp;#039;data&amp;#039;))&lt;br /&gt;
	table.sort(rownums)&lt;br /&gt;
	for k, num in ipairs(rownums) do&lt;br /&gt;
		addRow({&lt;br /&gt;
			header = args[&amp;#039;header&amp;#039; .. tostring(num)],&lt;br /&gt;
			headerstyle = (args.headerstyle or &amp;#039;&amp;#039;) .. (args.headerstyle and &amp;#039;;&amp;#039; or &amp;#039;&amp;#039;) .. (args[&amp;#039;header&amp;#039; .. tostring(num) .. &amp;#039;style&amp;#039;] or &amp;#039;&amp;#039;),&lt;br /&gt;
			label = args[&amp;#039;label&amp;#039; .. tostring(num)],&lt;br /&gt;
			labelstyle = (args.labelstyle or &amp;#039;&amp;#039;) .. (args.labelstyle and &amp;#039;;&amp;#039; or &amp;#039;&amp;#039;) .. (args[&amp;#039;label&amp;#039; .. tostring(num) .. &amp;#039;style&amp;#039;] or &amp;#039;&amp;#039;),&lt;br /&gt;
			data = args[&amp;#039;data&amp;#039; .. tostring(num)],&lt;br /&gt;
			datastyle = (args.datastyle or &amp;#039;&amp;#039;) .. (args.datastyle and &amp;#039;;&amp;#039; or &amp;#039;&amp;#039;) .. (args[&amp;#039;data&amp;#039; .. tostring(num) .. &amp;#039;style&amp;#039;] or &amp;#039;&amp;#039;),&lt;br /&gt;
			class = args[&amp;#039;class&amp;#039; .. tostring(num)],&lt;br /&gt;
			rowclass = args[&amp;#039;rowclass&amp;#039; .. tostring(num)],&lt;br /&gt;
			rowstyle = args[&amp;#039;rowstyle&amp;#039; .. tostring(num)],&lt;br /&gt;
			rowcellstyle = args[&amp;#039;rowcellstyle&amp;#039; .. tostring(num)],&lt;br /&gt;
			dataid = args[&amp;#039;dataid&amp;#039; .. tostring(num)],&lt;br /&gt;
			labelid = args[&amp;#039;labelid&amp;#039; .. tostring(num)],&lt;br /&gt;
			headerid = args[&amp;#039;headerid&amp;#039; .. tostring(num)],&lt;br /&gt;
			rowid = args[&amp;#039;rowid&amp;#039; .. tostring(num)]&lt;br /&gt;
		})&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function renderNavBar()&lt;br /&gt;
	if not args.name then return end&lt;br /&gt;
&lt;br /&gt;
	root&lt;br /&gt;
		:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
			:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
				:attr(&amp;#039;colspan&amp;#039;, &amp;#039;2&amp;#039;)&lt;br /&gt;
				:css(&amp;#039;text-align&amp;#039;, &amp;#039;right&amp;#039;)&lt;br /&gt;
				:wikitext(navbar{&lt;br /&gt;
					args.name,&lt;br /&gt;
					mini = 1,&lt;br /&gt;
				})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function renderItalicTitle()&lt;br /&gt;
	local italicTitle = args[&amp;#039;italic title&amp;#039;] and mw.ustring.lower(args[&amp;#039;italic title&amp;#039;])&lt;br /&gt;
	if italicTitle == &amp;#039;&amp;#039; or italicTitle == &amp;#039;force&amp;#039; or italicTitle == &amp;#039;yes&amp;#039; then&lt;br /&gt;
		root:wikitext(mw.getCurrentFrame():expandTemplate({title = &amp;#039;italic title&amp;#039;}))&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function renderTrackingCategories()&lt;br /&gt;
	if args.decat ~= &amp;#039;yes&amp;#039; then&lt;br /&gt;
		if args.child == &amp;#039;yes&amp;#039; then&lt;br /&gt;
			if args.title then&lt;br /&gt;
				root:wikitext(&amp;#039;[[Category:使用带有标题参数的嵌入式信息框模板的条目]]&amp;#039;)&lt;br /&gt;
			end&lt;br /&gt;
		elseif #(getArgNums(&amp;#039;data&amp;#039;)) == 0 and mw.title.getCurrentTitle().namespace == 0 then&lt;br /&gt;
			root:wikitext(&amp;#039;[[Category:使用无数据行信息框模板的条目]]&amp;#039;)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function _infobox()&lt;br /&gt;
	-- Specify the overall layout of the infobox, with special settings&lt;br /&gt;
	-- if the infobox is used as a &amp;#039;child&amp;#039; inside another infobox.&lt;br /&gt;
	if args.child ~= &amp;#039;yes&amp;#039; then&lt;br /&gt;
		root = mw.html.create(&amp;#039;table&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
		root&lt;br /&gt;
			:addClass((args.subbox ~= &amp;#039;yes&amp;#039;) and &amp;#039;infobox&amp;#039; or nil)&lt;br /&gt;
			:addClass(args.bodyclass)&lt;br /&gt;
			:attr(&amp;#039;cellspacing&amp;#039;, 3)&lt;br /&gt;
			:css(&amp;#039;border-spacing&amp;#039;, &amp;#039;3px&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
			if args.subbox == &amp;#039;yes&amp;#039; then&lt;br /&gt;
				root&lt;br /&gt;
					:css(&amp;#039;padding&amp;#039;, &amp;#039;0&amp;#039;)&lt;br /&gt;
					:css(&amp;#039;border&amp;#039;, &amp;#039;none&amp;#039;)&lt;br /&gt;
					:css(&amp;#039;margin&amp;#039;, &amp;#039;-3px&amp;#039;)&lt;br /&gt;
					:css(&amp;#039;width&amp;#039;, &amp;#039;auto&amp;#039;)&lt;br /&gt;
					:css(&amp;#039;min-width&amp;#039;, &amp;#039;100%&amp;#039;)&lt;br /&gt;
					:css(&amp;#039;font-size&amp;#039;, &amp;#039;small&amp;#039;)&lt;br /&gt;
					:css(&amp;#039;clear&amp;#039;, &amp;#039;none&amp;#039;)&lt;br /&gt;
					:css(&amp;#039;float&amp;#039;, &amp;#039;none&amp;#039;)&lt;br /&gt;
					:css(&amp;#039;background-color&amp;#039;, &amp;#039;transparent&amp;#039;)&lt;br /&gt;
			else&lt;br /&gt;
				root&lt;br /&gt;
					:css(&amp;#039;width&amp;#039;, &amp;#039;22em&amp;#039;)&lt;br /&gt;
					:css(&amp;#039;text-align&amp;#039;, &amp;#039;left&amp;#039;)&lt;br /&gt;
					:css(&amp;#039;font-size&amp;#039;, &amp;#039;small&amp;#039;)&lt;br /&gt;
					:css(&amp;#039;line-height&amp;#039;, &amp;#039;1.5em&amp;#039;)&lt;br /&gt;
			end&lt;br /&gt;
		root&lt;br /&gt;
			:cssText(args.bodystyle)&lt;br /&gt;
&lt;br /&gt;
		renderTitle()&lt;br /&gt;
		renderAboveRow()&lt;br /&gt;
	else&lt;br /&gt;
		root = mw.html.create()&lt;br /&gt;
&lt;br /&gt;
		root&lt;br /&gt;
			:wikitext(args.title)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	renderOverImage()&lt;br /&gt;
	renderSubheaders()&lt;br /&gt;
	renderImages()&lt;br /&gt;
	if args.autoheaders then&lt;br /&gt;
		preprocessRows()&lt;br /&gt;
	end&lt;br /&gt;
	renderRows()&lt;br /&gt;
	renderBelowRow()&lt;br /&gt;
	renderNavBar()&lt;br /&gt;
	renderItalicTitle()&lt;br /&gt;
	renderTrackingCategories()&lt;br /&gt;
&lt;br /&gt;
	return tostring(root)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function preprocessSingleArg(argName)&lt;br /&gt;
	-- If the argument exists and isn&amp;#039;t blank, add it to the argument table.&lt;br /&gt;
	-- Blank arguments are treated as nil to match the behaviour of ParserFunctions.&lt;br /&gt;
	if origArgs[argName] and origArgs[argName] ~= &amp;#039;&amp;#039; then&lt;br /&gt;
		args[argName] = origArgs[argName]&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function preprocessArgs(prefixTable, step)&lt;br /&gt;
	-- Assign the parameters with the given prefixes to the args table, in order, in batches&lt;br /&gt;
	-- of the step size specified. This is to prevent references etc. from appearing in the&lt;br /&gt;
	-- wrong order. The prefixTable should be an array containing tables, each of which has&lt;br /&gt;
	-- two possible fields, a &amp;quot;prefix&amp;quot; string and a &amp;quot;depend&amp;quot; table. The function always parses&lt;br /&gt;
	-- parameters containing the &amp;quot;prefix&amp;quot; string, but only parses parameters in the &amp;quot;depend&amp;quot;&lt;br /&gt;
	-- table if the prefix parameter is present and non-blank.&lt;br /&gt;
	if type(prefixTable) ~= &amp;#039;table&amp;#039; then&lt;br /&gt;
		error(&amp;quot;Non-table value detected for the prefix table&amp;quot;, 2)&lt;br /&gt;
	end&lt;br /&gt;
	if type(step) ~= &amp;#039;number&amp;#039; then&lt;br /&gt;
		error(&amp;quot;Invalid step value detected&amp;quot;, 2)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Get arguments without a number suffix, and check for bad input.&lt;br /&gt;
	for i,v in ipairs(prefixTable) do&lt;br /&gt;
		if type(v) ~= &amp;#039;table&amp;#039; or type(v.prefix) ~= &amp;quot;string&amp;quot; or (v.depend and type(v.depend) ~= &amp;#039;table&amp;#039;) then&lt;br /&gt;
			error(&amp;#039;Invalid input detected to preprocessArgs prefix table&amp;#039;, 2)&lt;br /&gt;
		end&lt;br /&gt;
		preprocessSingleArg(v.prefix)&lt;br /&gt;
		-- Only parse the depend parameter if the prefix parameter is present and not blank.&lt;br /&gt;
		if args[v.prefix] and v.depend then&lt;br /&gt;
			for j, dependValue in ipairs(v.depend) do&lt;br /&gt;
				if type(dependValue) ~= &amp;#039;string&amp;#039; then&lt;br /&gt;
					error(&amp;#039;Invalid &amp;quot;depend&amp;quot; parameter value detected in preprocessArgs&amp;#039;)&lt;br /&gt;
				end&lt;br /&gt;
				preprocessSingleArg(dependValue)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Get arguments with number suffixes.&lt;br /&gt;
	local a = 1 -- Counter variable.&lt;br /&gt;
	local moreArgumentsExist = true&lt;br /&gt;
	while moreArgumentsExist == true do&lt;br /&gt;
		moreArgumentsExist = false&lt;br /&gt;
		for i = a, a + step - 1 do&lt;br /&gt;
			for j,v in ipairs(prefixTable) do&lt;br /&gt;
				local prefixArgName = v.prefix .. tostring(i)&lt;br /&gt;
				if origArgs[prefixArgName] then&lt;br /&gt;
					moreArgumentsExist = true -- Do another loop if any arguments are found, even blank ones.&lt;br /&gt;
					preprocessSingleArg(prefixArgName)&lt;br /&gt;
				end&lt;br /&gt;
				-- Process the depend table if the prefix argument is present and not blank, or&lt;br /&gt;
				-- we are processing &amp;quot;prefix1&amp;quot; and &amp;quot;prefix&amp;quot; is present and not blank, and&lt;br /&gt;
				-- if the depend table is present.&lt;br /&gt;
				if v.depend and (args[prefixArgName] or (i == 1 and args[v.prefix])) then&lt;br /&gt;
					for j,dependValue in ipairs(v.depend) do&lt;br /&gt;
						local dependArgName = dependValue .. tostring(i)&lt;br /&gt;
						preprocessSingleArg(dependArgName)&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		a = a + step&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function preprocessSpecificStyle(styleTable, step)&lt;br /&gt;
	-- Assign the parameters *style to the args table&lt;br /&gt;
	local a = 1 -- Counter variable.&lt;br /&gt;
	local moreArgumentsExist = true&lt;br /&gt;
	while moreArgumentsExist == true do&lt;br /&gt;
		moreArgumentsExist = false&lt;br /&gt;
		for i = a,a + step - 1 do&lt;br /&gt;
			for j,v in ipairs(styleTable) do&lt;br /&gt;
				local styleArgName = v.arg .. tostring(i) .. &amp;#039;style&amp;#039;&lt;br /&gt;
				if origArgs[styleArgName] then&lt;br /&gt;
					moreArgumentsExist = true -- Do another loop if any arguments are found, even blank ones.&lt;br /&gt;
					preprocessSingleArg(styleArgName)&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		a = a + step&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function parseDataParameters()&lt;br /&gt;
	-- Parse the data parameters in the same order that the old {{infobox}} did, so that&lt;br /&gt;
	-- references etc. will display in the expected places. Parameters that depend on&lt;br /&gt;
	-- another parameter are only processed if that parameter is present, to avoid&lt;br /&gt;
	-- phantom references appearing in article reference lists.&lt;br /&gt;
	preprocessSingleArg(&amp;#039;autoheaders&amp;#039;)&lt;br /&gt;
	preprocessSingleArg(&amp;#039;child&amp;#039;)&lt;br /&gt;
	preprocessSingleArg(&amp;#039;bodyclass&amp;#039;)&lt;br /&gt;
	preprocessSingleArg(&amp;#039;subbox&amp;#039;)&lt;br /&gt;
	preprocessSingleArg(&amp;#039;bodystyle&amp;#039;)&lt;br /&gt;
	preprocessSingleArg(&amp;#039;overimage&amp;#039;)&lt;br /&gt;
	preprocessSingleArg(&amp;#039;overcaption&amp;#039;)&lt;br /&gt;
	preprocessSingleArg(&amp;#039;overimagerowclass&amp;#039;)&lt;br /&gt;
	preprocessSingleArg(&amp;#039;title&amp;#039;)&lt;br /&gt;
	preprocessSingleArg(&amp;#039;titleclass&amp;#039;)&lt;br /&gt;
	preprocessSingleArg(&amp;#039;titlestyle&amp;#039;)&lt;br /&gt;
	preprocessSingleArg(&amp;#039;above&amp;#039;)&lt;br /&gt;
	preprocessSingleArg(&amp;#039;aboveclass&amp;#039;)&lt;br /&gt;
	preprocessSingleArg(&amp;#039;abovestyle&amp;#039;)&lt;br /&gt;
	preprocessArgs({&lt;br /&gt;
		{prefix = &amp;#039;subheader&amp;#039;, depend = {&amp;#039;subheaderstyle&amp;#039;, &amp;#039;subheaderrowclass&amp;#039;}}&lt;br /&gt;
	}, 10)&lt;br /&gt;
	preprocessSingleArg(&amp;#039;subheaderstyle&amp;#039;)&lt;br /&gt;
	preprocessSingleArg(&amp;#039;subheaderclass&amp;#039;)&lt;br /&gt;
	preprocessArgs({&lt;br /&gt;
		{prefix = &amp;#039;image&amp;#039;, depend = {&amp;#039;caption&amp;#039;, &amp;#039;imagerowclass&amp;#039;}}&lt;br /&gt;
	}, 10)&lt;br /&gt;
	preprocessSingleArg(&amp;#039;captionstyle&amp;#039;)&lt;br /&gt;
	preprocessSingleArg(&amp;#039;imagestyle&amp;#039;)&lt;br /&gt;
	preprocessSingleArg(&amp;#039;imageclass&amp;#039;)&lt;br /&gt;
	preprocessArgs({&lt;br /&gt;
		{prefix = &amp;#039;header&amp;#039;},&lt;br /&gt;
		{prefix = &amp;#039;data&amp;#039;, depend = {&amp;#039;label&amp;#039;}},&lt;br /&gt;
		{prefix = &amp;#039;rowclass&amp;#039;},&lt;br /&gt;
		{prefix = &amp;#039;rowstyle&amp;#039;},&lt;br /&gt;
		{prefix = &amp;#039;rowcellstyle&amp;#039;},&lt;br /&gt;
		{prefix = &amp;#039;class&amp;#039;},&lt;br /&gt;
		{prefix = &amp;#039;dataid&amp;#039;},&lt;br /&gt;
		{prefix = &amp;#039;labelid&amp;#039;},&lt;br /&gt;
		{prefix = &amp;#039;headerid&amp;#039;},&lt;br /&gt;
		{prefix = &amp;#039;rowid&amp;#039;}&lt;br /&gt;
	}, 80)&lt;br /&gt;
	preprocessSpecificStyle({&lt;br /&gt;
		{arg = &amp;#039;header&amp;#039;},&lt;br /&gt;
		{arg = &amp;#039;label&amp;#039;},&lt;br /&gt;
		{arg = &amp;#039;data&amp;#039;}&lt;br /&gt;
	}, 80)&lt;br /&gt;
	preprocessSingleArg(&amp;#039;headerclass&amp;#039;)&lt;br /&gt;
	preprocessSingleArg(&amp;#039;headerstyle&amp;#039;)&lt;br /&gt;
	preprocessSingleArg(&amp;#039;labelstyle&amp;#039;)&lt;br /&gt;
	preprocessSingleArg(&amp;#039;datastyle&amp;#039;)&lt;br /&gt;
	preprocessSingleArg(&amp;#039;below&amp;#039;)&lt;br /&gt;
	preprocessSingleArg(&amp;#039;belowclass&amp;#039;)&lt;br /&gt;
	preprocessSingleArg(&amp;#039;belowstyle&amp;#039;)&lt;br /&gt;
	preprocessSingleArg(&amp;#039;name&amp;#039;)&lt;br /&gt;
	args[&amp;#039;italic title&amp;#039;] = origArgs[&amp;#039;italic title&amp;#039;] -- different behaviour if blank or absent&lt;br /&gt;
	preprocessSingleArg(&amp;#039;decat&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.infobox(frame)&lt;br /&gt;
	-- If called via #invoke, use the args passed into the invoking template.&lt;br /&gt;
	-- Otherwise, for testing purposes, assume args are being passed directly in.&lt;br /&gt;
	if frame == mw.getCurrentFrame() then&lt;br /&gt;
		origArgs = frame:getParent().args&lt;br /&gt;
	else&lt;br /&gt;
		origArgs = frame&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	parseDataParameters()&lt;br /&gt;
	&lt;br /&gt;
	return _infobox()&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.infoboxTemplate(frame)&lt;br /&gt;
	-- For calling via #invoke within a template&lt;br /&gt;
	origArgs = {}&lt;br /&gt;
	for k,v in pairs(frame.args) do origArgs[k] = mw.text.trim(v) end&lt;br /&gt;
	&lt;br /&gt;
	parseDataParameters()&lt;br /&gt;
	&lt;br /&gt;
	return _infobox()&lt;br /&gt;
end&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Chunghwamc</name></author>
	</entry>
</feed>