<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://ethans-workspace.com/w/index.php?action=history&amp;feed=atom&amp;title=Module%3ATaxobox_ranks</id>
	<title>Module:Taxobox ranks - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://ethans-workspace.com/w/index.php?action=history&amp;feed=atom&amp;title=Module%3ATaxobox_ranks"/>
	<link rel="alternate" type="text/html" href="http://ethans-workspace.com/w/index.php?title=Module:Taxobox_ranks&amp;action=history"/>
	<updated>2026-05-25T05:19:35Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>http://ethans-workspace.com/w/index.php?title=Module:Taxobox_ranks&amp;diff=3863&amp;oldid=prev</id>
		<title>Ethan: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="http://ethans-workspace.com/w/index.php?title=Module:Taxobox_ranks&amp;diff=3863&amp;oldid=prev"/>
		<updated>2026-01-01T01:35:54Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&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;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 20:35, 31 December 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;4&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key ethan_wiki:diff:1.41:old-3268:rev-3863 --&gt;
&lt;/table&gt;</summary>
		<author><name>Ethan</name></author>
	</entry>
	<entry>
		<id>http://ethans-workspace.com/w/index.php?title=Module:Taxobox_ranks&amp;diff=3268&amp;oldid=prev</id>
		<title>Ethan: Created page with &quot;--[[************************************************************************* This module provides support to the automated taxobox system – the templates Automatic taxobox, Speciesbox, Subspeciesbox, Infraspeciesbox, etc.  In particular it is part of the configuration of the system, defining the rank names that are recognized and the way they are displayed in English in taxoboxes and viewed taxonomy templates. **********************************************************...&quot;</title>
		<link rel="alternate" type="text/html" href="http://ethans-workspace.com/w/index.php?title=Module:Taxobox_ranks&amp;diff=3268&amp;oldid=prev"/>
		<updated>2025-12-23T23:11:27Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;--[[************************************************************************* This module provides support to the automated taxobox system – the templates Automatic taxobox, Speciesbox, Subspeciesbox, Infraspeciesbox, etc.  In particular it is part of the configuration of the system, defining the rank names that are recognized and the way they are displayed in English in taxoboxes and viewed taxonomy templates. **********************************************************...&amp;quot;&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;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 18:11, 23 December 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Ethan</name></author>
	</entry>
	<entry>
		<id>http://ethans-workspace.com/w/index.php?title=Module:Taxobox_ranks&amp;diff=3862&amp;oldid=prev</id>
		<title>commons&gt;Peter coxhead: added &quot;supergroup&quot;, rank order not checked</title>
		<link rel="alternate" type="text/html" href="http://ethans-workspace.com/w/index.php?title=Module:Taxobox_ranks&amp;diff=3862&amp;oldid=prev"/>
		<updated>2025-11-25T18:02:18Z</updated>

		<summary type="html">&lt;p&gt;added &amp;quot;supergroup&amp;quot;, rank order not checked&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;--[[*************************************************************************&lt;br /&gt;
This module provides support to the automated taxobox system – the templates&lt;br /&gt;
Automatic taxobox, Speciesbox, Subspeciesbox, Infraspeciesbox, etc.&lt;br /&gt;
&lt;br /&gt;
In particular it is part of the configuration of the system, defining the&lt;br /&gt;
rank names that are recognized and the way they are displayed in English in&lt;br /&gt;
taxoboxes and viewed taxonomy templates.&lt;br /&gt;
*****************************************************************************]]&lt;br /&gt;
require(&amp;#039;strict&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
local TableRow = &amp;#039;|-\n&amp;#039;&lt;br /&gt;
local TableEnd = &amp;#039;|}\n&amp;#039;&lt;br /&gt;
local p = {} -- functions made public&lt;br /&gt;
local l = {} -- internal functions, kept separate&lt;br /&gt;
&lt;br /&gt;
--*************************** CONFIGURATION *********************************&lt;br /&gt;
&lt;br /&gt;
--[[============================ ranks ======================================&lt;br /&gt;
Set up a constant to hold the rank names and their English equivalents.&lt;br /&gt;
If adding to this list, note that rank names containing spaces or - must be&lt;br /&gt;
enclosed in [&amp;#039; &amp;#039;].&lt;br /&gt;
=============================================================================]]&lt;br /&gt;
local ranks =&lt;br /&gt;
	{&lt;br /&gt;
		--Special cases, alphabetic order&lt;br /&gt;
		alliance = &amp;#039;&amp;lt;i&amp;gt;Alliance&amp;lt;/i&amp;gt;&amp;#039;,&lt;br /&gt;
		[&amp;#039;basic shell type&amp;#039;] = &amp;#039;&amp;lt;i&amp;gt;Basic shell type&amp;lt;/i&amp;gt;&amp;#039;,&lt;br /&gt;
		branch = &amp;#039;&amp;lt;i&amp;gt;Branch&amp;lt;/i&amp;gt;&amp;#039;,&lt;br /&gt;
		clade = &amp;#039;&amp;lt;i&amp;gt;Clade&amp;lt;/i&amp;gt;&amp;#039;,&lt;br /&gt;
		cladus= &amp;#039;&amp;lt;i&amp;gt;Clade&amp;lt;/i&amp;gt;&amp;#039;,&lt;br /&gt;
		[&amp;#039;form taxon&amp;#039;] = &amp;#039;&amp;lt;i&amp;gt;Form taxon&amp;lt;/i&amp;gt;&amp;#039;,&lt;br /&gt;
		grade = &amp;#039;&amp;lt;i&amp;gt;Grade&amp;lt;/i&amp;gt;&amp;#039;,&lt;br /&gt;
		gradus = &amp;#039;&amp;lt;i&amp;gt;Grade&amp;lt;/i&amp;gt;&amp;#039;,&lt;br /&gt;
		informal = &amp;#039;&amp;lt;i&amp;gt;Informal group&amp;lt;/i&amp;gt;&amp;#039;,&lt;br /&gt;
		[&amp;#039;informal group&amp;#039;] = &amp;#039;&amp;lt;i&amp;gt;Informal group&amp;lt;/i&amp;gt;&amp;#039;,&lt;br /&gt;
		morphotype = &amp;#039;&amp;lt;i&amp;gt;Morphotype&amp;lt;/i&amp;gt;&amp;#039;,&lt;br /&gt;
		node = &amp;#039;&amp;lt;i&amp;gt;Node&amp;lt;/i&amp;gt;&amp;#039;,&lt;br /&gt;
		plesion = &amp;#039;&amp;lt;i&amp;gt;Plesion&amp;lt;/i&amp;gt;&amp;#039;,&lt;br /&gt;
		[&amp;#039;plesion-group&amp;#039;] = &amp;#039;&amp;lt;i&amp;gt;Plesion-group&amp;lt;/i&amp;gt;&amp;#039;,&lt;br /&gt;
		[&amp;#039;possible clade&amp;#039;] = &amp;#039;&amp;lt;i&amp;gt;Clade?&amp;lt;/i&amp;gt;&amp;#039;,&lt;br /&gt;
		[&amp;#039;species complex&amp;#039;] = &amp;#039;&amp;lt;i&amp;gt;Species complex&amp;lt;/i&amp;gt;&amp;#039;,&lt;br /&gt;
		[&amp;#039;species group&amp;#039;] = &amp;#039;&amp;lt;i&amp;gt;Species group&amp;lt;/i&amp;gt;&amp;#039;,&lt;br /&gt;
		[&amp;#039;species subgroup&amp;#039;] = &amp;#039;&amp;lt;i&amp;gt;Species subgroup&amp;lt;/i&amp;gt;&amp;#039;,&lt;br /&gt;
		[&amp;#039;stem group&amp;#039;] = &amp;#039;&amp;lt;i&amp;gt;Stem group&amp;lt;/i&amp;gt;&amp;#039;,&lt;br /&gt;
		supergroup = &amp;#039;&amp;lt;i&amp;gt;Supergroup&amp;lt;/i&amp;gt;&amp;#039;,&lt;br /&gt;
		[&amp;#039;total group&amp;#039;] = &amp;#039;&amp;lt;i&amp;gt;Total group&amp;lt;/i&amp;gt;&amp;#039;,&lt;br /&gt;
		--Special virus ranks&lt;br /&gt;
		realm = &amp;#039;Realm&amp;#039;,&lt;br /&gt;
		serotype = &amp;#039;Serotype&amp;#039;,&lt;br /&gt;
		strain = &amp;#039;Strain&amp;#039;,&lt;br /&gt;
		virus = &amp;#039;Virus&amp;#039;,&lt;br /&gt;
		[&amp;#039;virus group&amp;#039;] = &amp;#039;Group&amp;#039;,&lt;br /&gt;
		--Linnaean taxonomy, alphabetic order&lt;br /&gt;
		classis = &amp;#039;Class&amp;#039;,&lt;br /&gt;
		cohort = &amp;#039;Cohort&amp;#039;,&lt;br /&gt;
		divisio = &amp;#039;Division&amp;#039;,&lt;br /&gt;
		domain = &amp;#039;Domain&amp;#039;,&lt;br /&gt;
		epifamilia = &amp;#039;Epifamily&amp;#039;,&lt;br /&gt;
		familia = &amp;#039;Family&amp;#039;,&lt;br /&gt;
		forma = &amp;#039;Form&amp;#039;,&lt;br /&gt;
		genus = &amp;#039;Genus&amp;#039;,&lt;br /&gt;
		grandordo = &amp;#039;Grandorder&amp;#039;,&lt;br /&gt;
		[&amp;#039;grandordo-mb&amp;#039;] = &amp;#039;Grandorder&amp;#039;, --McKenna &amp;amp; Bell version&lt;br /&gt;
		hyperfamilia = &amp;#039;Hyperfamily&amp;#039;,&lt;br /&gt;
		infraclassis = &amp;#039;Infraclass&amp;#039;,&lt;br /&gt;
		infralegio = &amp;#039;Infralegion&amp;#039;,&lt;br /&gt;
		infralegion = &amp;#039;Infralegion&amp;#039;,&lt;br /&gt;
		infraordo = &amp;#039;Infraorder&amp;#039;,&lt;br /&gt;
		infraphylum = &amp;#039;Infraphylum&amp;#039;,&lt;br /&gt;
		infraregnum = &amp;#039;Infrakingdom&amp;#039;,&lt;br /&gt;
		infratribus = &amp;#039;Infratribe&amp;#039;,&lt;br /&gt;
		legio = &amp;#039;Legion&amp;#039;,&lt;br /&gt;
		legion = &amp;#039;Legion&amp;#039;,&lt;br /&gt;
		magnordo = &amp;#039;Magnorder&amp;#039;,&lt;br /&gt;
		micrordo = &amp;#039;Microrder&amp;#039;,&lt;br /&gt;
		microphylum = &amp;#039;Microphylum&amp;#039;,&lt;br /&gt;
		mirordo = &amp;#039;Mirorder&amp;#039;,&lt;br /&gt;
		[&amp;#039;mirordo-mb&amp;#039;] = &amp;#039;Mirorder&amp;#039;, --McKenna &amp;amp; Bell version&lt;br /&gt;
		nanordo = &amp;#039;Nanorder&amp;#039;,&lt;br /&gt;
		nanophylum = &amp;#039;Nanophylum&amp;#039;,&lt;br /&gt;
		ordo = &amp;#039;Order&amp;#039;,&lt;br /&gt;
		parafamilia = &amp;#039;Parafamily&amp;#039;,&lt;br /&gt;
		parvclassis = &amp;#039;Parvclass&amp;#039;,&lt;br /&gt;
		parvordo = &amp;#039;Parvorder&amp;#039;,&lt;br /&gt;
		phylum = &amp;#039;Phylum&amp;#039;,&lt;br /&gt;
		regnum = &amp;#039;Kingdom&amp;#039;,&lt;br /&gt;
		sectio = &amp;#039;Section&amp;#039;,&lt;br /&gt;
		series = &amp;#039;Series&amp;#039;,&lt;br /&gt;
		species = &amp;#039;Species&amp;#039;,&lt;br /&gt;
		subclassis = &amp;#039;Subclass&amp;#039;,&lt;br /&gt;
		subcohort = &amp;#039;Subcohort&amp;#039;,&lt;br /&gt;
		subdivisio = &amp;#039;Subdivision&amp;#039;,&lt;br /&gt;
		subfamilia = &amp;#039;Subfamily&amp;#039;,&lt;br /&gt;
		subgenus = &amp;#039;Subgenus&amp;#039;,&lt;br /&gt;
		sublegio = &amp;#039;Sublegion&amp;#039;,&lt;br /&gt;
		sublegion = &amp;#039;Sublegion&amp;#039;,&lt;br /&gt;
		subordo = &amp;#039;Suborder&amp;#039;,&lt;br /&gt;
		subphylum = &amp;#039;Subphylum&amp;#039;,&lt;br /&gt;
		subregnum = &amp;#039;Subkingdom&amp;#039;,&lt;br /&gt;
		subsectio = &amp;#039;Subsection&amp;#039;,&lt;br /&gt;
		subseries = &amp;#039;Subseries&amp;#039;,&lt;br /&gt;
		subspecies = &amp;#039;Subspecies&amp;#039;,&lt;br /&gt;
		subterclassis = &amp;#039;Subterclass&amp;#039;, --used in WoRMS&lt;br /&gt;
		subtribus = &amp;#039;Subtribe&amp;#039;,&lt;br /&gt;
		superclassis = &amp;#039;Superclass&amp;#039;,&lt;br /&gt;
		supercohort = &amp;#039;Supercohort&amp;#039;,&lt;br /&gt;
		superdivisio = &amp;#039;Superdivision&amp;#039;,&lt;br /&gt;
		superdomain = &amp;#039;Superdomain&amp;#039;,&lt;br /&gt;
		superfamilia = &amp;#039;Superfamily&amp;#039;,&lt;br /&gt;
		superlegio = &amp;#039;Superlegion&amp;#039;,&lt;br /&gt;
		superlegion = &amp;#039;Superlegion&amp;#039;,&lt;br /&gt;
		superordo = &amp;#039;Superorder&amp;#039;,&lt;br /&gt;
		superphylum = &amp;#039;Superphylum&amp;#039;,&lt;br /&gt;
		superregnum = &amp;#039;Superkingdom&amp;#039;,&lt;br /&gt;
		supersectio = &amp;#039;Supersection&amp;#039;,&lt;br /&gt;
		supertribus = &amp;#039;Supertribe&amp;#039;,&lt;br /&gt;
		tribus = &amp;#039;Tribe&amp;#039;,&lt;br /&gt;
		varietas = &amp;#039;Variety&amp;#039;,&lt;br /&gt;
		zoodivisio = &amp;#039;Division&amp;#039;,&lt;br /&gt;
		zoosectio = &amp;#039;Section&amp;#039;,&lt;br /&gt;
		zooseries = &amp;#039;Series&amp;#039;,&lt;br /&gt;
		zoosubdivisio = &amp;#039;Subdivision&amp;#039;,&lt;br /&gt;
		zoosubsectio = &amp;#039;Subsection&amp;#039;,&lt;br /&gt;
		--trace fossil taxonomy, alphabetic order--&amp;gt;&amp;#039;,&lt;br /&gt;
		ichnoclassis = &amp;#039;Ichnoclass&amp;#039;,&lt;br /&gt;
		ichnocohort = &amp;#039;Ichnocohort&amp;#039;,&lt;br /&gt;
		ichnodivisio = &amp;#039;Ichnodivision&amp;#039;,&lt;br /&gt;
		ichnofamilia = &amp;#039;Ichnofamily&amp;#039;,&lt;br /&gt;
		ichnogenus = &amp;#039;Ichnogenus&amp;#039;,&lt;br /&gt;
		ichnograndordo = &amp;#039;Ichnograndorder&amp;#039;,&lt;br /&gt;
		[&amp;#039;ichnograndordo-mb&amp;#039;] = &amp;#039;Ichnograndorder&amp;#039;, --McKenna &amp;amp; Bell version&lt;br /&gt;
		ichnoinfraclassis = &amp;#039;Ichnoinfraclass&amp;#039;,&lt;br /&gt;
		ichnoinfradivisio = &amp;#039;Ichnoinfradivision&amp;#039;,&lt;br /&gt;
		ichnoinfraordo = &amp;#039;Ichnoinfraorder&amp;#039;,&lt;br /&gt;
		ichnolegio = &amp;#039;Ichnolegion&amp;#039;,&lt;br /&gt;
		ichnolegion = &amp;#039;Ichnolegion&amp;#039;,&lt;br /&gt;
		ichnomagnordo = &amp;#039;Ichnomagnorder&amp;#039;,&lt;br /&gt;
		ichnomicrordo = &amp;#039;Ichnomicrorder&amp;#039;,&lt;br /&gt;
		ichnoordo = &amp;#039;Ichnoorder&amp;#039;,&lt;br /&gt;
		ichnoparvordo = &amp;#039;Ichnoparvorder&amp;#039;,&lt;br /&gt;
		ichnospecies = &amp;#039;Ichnospecies&amp;#039;,&lt;br /&gt;
		[&amp;#039;ichnostem-group&amp;#039;] = &amp;#039;Ichnostem-Group&amp;#039;,&lt;br /&gt;
		ichnosubclassis = &amp;#039;Ichnosubclass&amp;#039;,&lt;br /&gt;
		ichnosubdivisio = &amp;#039;Ichnosubdivision&amp;#039;,&lt;br /&gt;
		ichnosubfamilia = &amp;#039;Ichnosubfamily&amp;#039;,&lt;br /&gt;
		ichnosublegio = &amp;#039;Ichnosublegion&amp;#039;,&lt;br /&gt;
		ichnosublegion = &amp;#039;Ichnosublegion&amp;#039;,&lt;br /&gt;
		ichnosubordo = &amp;#039;Ichnosuborder&amp;#039;,&lt;br /&gt;
		ichnosuperclassis = &amp;#039;Ichnosuperclass&amp;#039;,&lt;br /&gt;
		ichnosupercohort = &amp;#039;Ichnosupercohort&amp;#039;,&lt;br /&gt;
		ichnosuperfamilia = &amp;#039;Ichnosuperfamily&amp;#039;,&lt;br /&gt;
		ichnosuperordo = &amp;#039;Ichnosuperorder&amp;#039;,&lt;br /&gt;
		--fossilized egg taxonomy, alphabetic order&lt;br /&gt;
		ooclassis = &amp;#039;Ooclass&amp;#039;,&lt;br /&gt;
		oocohort = &amp;#039;Oocohort&amp;#039;,&lt;br /&gt;
		oofamilia = &amp;#039;Oofamily&amp;#039;,&lt;br /&gt;
		oogenus = &amp;#039;Oogenus&amp;#039;,&lt;br /&gt;
		oomagnordo = &amp;#039;Oomagnorder&amp;#039;,&lt;br /&gt;
		oordo = &amp;#039;Oorder&amp;#039;,&lt;br /&gt;
		oospecies = &amp;#039;Oospecies&amp;#039;,&lt;br /&gt;
		oosubclassis = &amp;#039;Oosubclass&amp;#039;,&lt;br /&gt;
		oosubgenus = &amp;#039;Oosubgenus&amp;#039;,&lt;br /&gt;
		oosubspecies = &amp;#039;Oosubspecies&amp;#039;,&lt;br /&gt;
		oosupercohort = &amp;#039;Oosupercohort&amp;#039;,&lt;br /&gt;
		oosuperordo = &amp;#039;Oosuperorder&amp;#039;,&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
--[[========================== rank values===================================&lt;br /&gt;
Constant to set up a table of numerical values corresponding&lt;br /&gt;
to &amp;#039;Linnaean&amp;#039; ranks, with upper ranks having higher values. In a valid&lt;br /&gt;
taxonomic hierarchy, a lower rank should never have a higher value than a&lt;br /&gt;
higher rank. The actual numerical values are arbitrary so long as they are&lt;br /&gt;
ordered.&lt;br /&gt;
The ranks should be a subset of those in Template:Anglicise ranks.&lt;br /&gt;
=============================================================================]]&lt;br /&gt;
local rankValTable =&lt;br /&gt;
	{&lt;br /&gt;
		classis = 1400,&lt;br /&gt;
		cohort = 1100,&lt;br /&gt;
		divisio = 1500,&lt;br /&gt;
		domain = 1700,&lt;br /&gt;
		epifamilia =  802,&lt;br /&gt;
		familia = 800,&lt;br /&gt;
		forma = 100,&lt;br /&gt;
		genus = 600,&lt;br /&gt;
		grandordo = 1005,&lt;br /&gt;
		[&amp;#039;grandordo-mb&amp;#039;] = 1002,&lt;br /&gt;
		hyperfamilia = 805;&lt;br /&gt;
		infraclassis = 1397,&lt;br /&gt;
		infralegio = 1197,&lt;br /&gt;
		infralegion = 1197,&lt;br /&gt;
		infraordo = 997,&lt;br /&gt;
		infraphylum = 1497,&lt;br /&gt;
		infraregnum = 1597,&lt;br /&gt;
		infratribus = 697,&lt;br /&gt;
		legio = 1200,&lt;br /&gt;
		legion = 1200,&lt;br /&gt;
		magnordo = 1006,&lt;br /&gt;
		microphylum = 1495,&lt;br /&gt;
		micrordo = 995,&lt;br /&gt;
		mirordo = 1004,&lt;br /&gt;
		[&amp;#039;mirordo-mb&amp;#039;] = 1001,&lt;br /&gt;
		nanophylum = 1494,&lt;br /&gt;
		nanordo = 994,&lt;br /&gt;
		ordo = 1000,&lt;br /&gt;
		parafamilia = 800,&lt;br /&gt;
		parvclassis = 1396; -- same as subterclassis&lt;br /&gt;
		parvordo = 996,&lt;br /&gt;
		phylum = 1500,&lt;br /&gt;
		regnum = 1600,&lt;br /&gt;
		sectio = 500,&lt;br /&gt;
		--series = 400, used too inconsistently to check&lt;br /&gt;
		species = 300,&lt;br /&gt;
		subclassis = 1398,&lt;br /&gt;
		subcohort = 1098,&lt;br /&gt;
		subdivisio = 1498,&lt;br /&gt;
		subfamilia = 798,&lt;br /&gt;
		subgenus = 598,&lt;br /&gt;
		sublegio = 1198,&lt;br /&gt;
		sublegion = 1198,&lt;br /&gt;
		subordo = 998,&lt;br /&gt;
		subphylum = 1498,&lt;br /&gt;
		subregnum = 1598,&lt;br /&gt;
		subsectio = 498,&lt;br /&gt;
		subspecies = 298,&lt;br /&gt;
		subterclassis = 1396; -- same as parvclassis&lt;br /&gt;
		subtribus = 698,&lt;br /&gt;
		superclassis = 1403,&lt;br /&gt;
		supercohort = 1103,&lt;br /&gt;
		superdivisio = 1503,&lt;br /&gt;
		superdomain = 1703,&lt;br /&gt;
		superfamilia = 803,&lt;br /&gt;
		superlegio = 1203,&lt;br /&gt;
		superlegion = 1203,&lt;br /&gt;
		superordo = 1003,&lt;br /&gt;
		superphylum = 1503,&lt;br /&gt;
		superregnum = 1603,&lt;br /&gt;
		supersectio = 503,&lt;br /&gt;
		supertribus = 703,&lt;br /&gt;
		tribus = 700,&lt;br /&gt;
		varietas = 200,&lt;br /&gt;
		zoodivisio = 1300,&lt;br /&gt;
		zoosectio = 900,&lt;br /&gt;
		zoosubdivisio = 1298,&lt;br /&gt;
		zoosubsectio = 898,&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
--***************** Process ranks + English equivalents *********************&lt;br /&gt;
&lt;br /&gt;
--[[======================== angliciseRank ==================================&lt;br /&gt;
Returns the English language equivalent of a rank name used in a taxonomy&lt;br /&gt;
template.&lt;br /&gt;
If the rank name is not in the table of ranks, then the first letter&lt;br /&gt;
of the rank name is capitalized and used as the English name.&lt;br /&gt;
If checked=yes, then the generated English name is highlighted in red. If&lt;br /&gt;
called from a taxonomy template, the page is put in&lt;br /&gt;
Category:Taxonomy templates using capitalized rank parameters&lt;br /&gt;
=============================================================================]]&lt;br /&gt;
function p.doAngliciseRank(rankName, check)&lt;br /&gt;
	rankName = string.gsub(rankName, &amp;#039;_&amp;#039;, &amp;#039; &amp;#039;) -- replace all underscores by spaces&lt;br /&gt;
	-- is rankName capitalized?&lt;br /&gt;
	local testName = string.lower(string.sub(rankName,1,1)) .. string.sub(rankName,2)&lt;br /&gt;
	local wasCapitalized = testName ~= rankName&lt;br /&gt;
	if wasCapitalized then rankName = testName end -- try uncapitalized version&lt;br /&gt;
	if string.sub(rankName, 1,8) == &amp;#039;unranked&amp;#039; then return &amp;#039;(unranked)&amp;#039; end&lt;br /&gt;
	-- now look for an English version of the rank name&lt;br /&gt;
	local res = ranks[rankName]&lt;br /&gt;
	local notFound = not res&lt;br /&gt;
	if notFound then&lt;br /&gt;
		--rankName is not in the table of recognized ranks; just capitalize rankName&lt;br /&gt;
		res = string.upper(string.sub(rankName,1,1)) .. string.sub(rankName,2)&lt;br /&gt;
	end&lt;br /&gt;
	if check == &amp;#039;no&amp;#039; then&lt;br /&gt;
		return res&lt;br /&gt;
	elseif notFound then&lt;br /&gt;
		res = &amp;#039;&amp;lt;span style=&amp;quot;background-color:#F99&amp;quot;&amp;gt;&amp;#039; .. res .. &amp;#039;&amp;lt;/span&amp;gt;&amp;#039; -- highlight returned English name&lt;br /&gt;
	end&lt;br /&gt;
	-- tracking caegories required only if called from a taxonomy template&lt;br /&gt;
	local pageTitle =  mw.title.getCurrentTitle()&lt;br /&gt;
	if pageTitle.nsText == &amp;#039;Template&amp;#039; and pageTitle.rootText == &amp;#039;Taxonomy&amp;#039; then&lt;br /&gt;
		if notFound then res = res .. &amp;#039;[[Category:Taxonomy templates using unrecognized rank parameters]]&amp;#039;&lt;br /&gt;
		elseif wasCapitalized then res = res .. &amp;#039;[[Category:Taxonomy templates using capitalized rank parameters]]&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return res&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.angliciseRank(frame)&lt;br /&gt;
	local rankName = frame.args[1]&lt;br /&gt;
	local check = frame.args[&amp;#039;check&amp;#039;] or &amp;#039;no&amp;#039;&lt;br /&gt;
	return p.doAngliciseRank(rankName, check)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[========================== showRanks ====================================&lt;br /&gt;
Returns a wikitable showing all the recognized ranks, how they are shown in&lt;br /&gt;
taxoboxes, whether they are automatically italicized, and whether they are&lt;br /&gt;
checked for consistency of rank order.&lt;br /&gt;
Usage: {{#invoke:Taxobox ranks|showRanks}}&lt;br /&gt;
=============================================================================]]&lt;br /&gt;
function p.showRanks(frame)&lt;br /&gt;
	local res = &amp;#039;{| class=&amp;quot;wikitable sortable&amp;quot;\n&amp;#039;&lt;br /&gt;
	res = res ..&amp;#039;|+ Ranks recognized in taxonomy templates\n&amp;#039;&lt;br /&gt;
	res = res .. &amp;#039;!style=&amp;quot;text-align: left;&amp;quot;|Rank name in&amp;lt;br/&amp;gt;taxonomy&amp;lt;br/&amp;gt;template&amp;#039;&lt;br /&gt;
	res = res .. &amp;#039;!!style=&amp;quot;text-align: left;&amp;quot;|Shown in&amp;lt;br/&amp;gt;taxobox as&amp;#039;&lt;br /&gt;
	res = res .. &amp;#039;!! style=&amp;quot;text-align: left;&amp;quot; |Taxon name&amp;lt;br/&amp;gt;automatically&amp;lt;br/&amp;gt;italicized?&amp;#039;&lt;br /&gt;
	res = res .. &amp;#039;!! style=&amp;quot;text-align: left;&amp;quot; |Rank checked&amp;lt;br/&amp;gt;for consistent&amp;lt;br/&amp;gt;order?&amp;#039;&lt;br /&gt;
	res = res .. &amp;#039;\n&amp;#039;&lt;br /&gt;
	for k, t in pairs(ranks) do&lt;br /&gt;
		res = res .. TableRow .. &amp;#039;|&amp;#039; .. k .. &amp;#039;||&amp;#039; .. t .. &amp;#039;||&amp;#039; .. frame:expandTemplate{ title = &amp;#039;Is italic taxon&amp;#039;, args = { k } } .. &amp;#039;||&amp;#039; .. l.hasRankVal(k) .. &amp;#039;\n&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	return res .. TableEnd&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--************************* Process rank values *****************************&lt;br /&gt;
&lt;br /&gt;
--[[========================= lookupRankVal =================================&lt;br /&gt;
Function to look up the arbitrary numerical value of a rank in a rank value&lt;br /&gt;
table. &amp;quot;Ichno&amp;quot; and &amp;quot;oo&amp;quot; ranks are not stored separately, so if present the&lt;br /&gt;
prefix is removed.&lt;br /&gt;
=============================================================================]]&lt;br /&gt;
function p.lookupRankVal(rank)&lt;br /&gt;
	local rankVal = rankValTable[rank]&lt;br /&gt;
	if not rankVal then&lt;br /&gt;
		-- may be an &amp;quot;ichno&amp;quot; or &amp;quot;oo&amp;quot; rank; try removing &amp;quot;ichno-&amp;quot; or &amp;quot;oo-&amp;quot;&lt;br /&gt;
		local baseRank = mw.ustring.gsub(mw.ustring.gsub(rank, &amp;#039;^ichno&amp;#039;, &amp;#039;&amp;#039;), &amp;#039;^oo&amp;#039;, &amp;#039;&amp;#039;)&lt;br /&gt;
		if baseRank == &amp;#039;rdo&amp;#039; then baseRank = &amp;#039;ordo&amp;#039; end&lt;br /&gt;
		-- if an &amp;quot;ichno&amp;quot; or &amp;quot;oo&amp;quot; rank, lower rank value slightly so it is ok below the base rank&lt;br /&gt;
		rankVal = rankValTable[baseRank]&lt;br /&gt;
		if rankVal then&lt;br /&gt;
			rankVal = rankVal - 0.1&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return rankVal&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[=========================== hasRankVal =================================&lt;br /&gt;
Utility function to determine whether the rank has a value in rank value&lt;br /&gt;
table. Returns &amp;#039;yes&amp;#039; or &amp;#039;no&amp;#039;.&lt;br /&gt;
=============================================================================]]&lt;br /&gt;
function l.hasRankVal(rank)&lt;br /&gt;
	if rank == &amp;#039;&amp;#039; then return &amp;#039;no&amp;#039; end&lt;br /&gt;
	local rankVal = p.lookupRankVal(rank)&lt;br /&gt;
	if not rankVal then rankVal = &amp;#039;no&amp;#039; else rankVal = &amp;#039;yes&amp;#039; end&lt;br /&gt;
	return rankVal&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[========================== showRankTable ================================&lt;br /&gt;
Returns a wikitable showing the ranks and their values as set up in the&lt;br /&gt;
constant rankValTable.&lt;br /&gt;
Usage: {{#invoke:Taxobox ranks|showRankTable}}&lt;br /&gt;
=============================================================================]]&lt;br /&gt;
function p.showRankTable(frame)&lt;br /&gt;
	local res = &amp;#039;{| class=&amp;quot;wikitable sortable&amp;quot;\n|+ Ranks checked in taxonomy templates\n! Rank !! Shown as !! Value\n&amp;#039;&lt;br /&gt;
	for k, v in pairs(rankValTable) do&lt;br /&gt;
		local rankShown = p.doAngliciseRank(k, &amp;#039;no&amp;#039;)&lt;br /&gt;
		res = res .. TableRow .. &amp;#039;|&amp;#039; .. k .. &amp;#039;||&amp;#039; .. rankShown .. &amp;#039;||&amp;#039; .. v .. &amp;#039;\n&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	return res .. TableEnd&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>commons&gt;Peter coxhead</name></author>
	</entry>
</feed>