Modified cite.php to implement these extensions
This bug replaces Bug 12498, which I have marked WONTFIX.
The implemented extensions are intended to be entirely backwards compatible with existing wikitext, and to enhance functionality as follows:
- Allow <Ref>...</Ref> declarations outside of the article prose, thus reducing editorial clutter inside the prose. Support for a decl=whatever parameter is added for this. Refs can be invisibly declared in a block using <ref decl=whatever>...</ref>, with all the clutter represented by "..." being removed from the article prose. Only minimal clutter (e.g., <Ref name=whatever />) would need to be placed inline in the article prose.
- Allow editorial control over the order in which Refs are expanded when the <References /> tag is encountered. Editors would exercise this control by placing the block of invisibly declared footnotes, grouped and ordered as desired, early in the wikitext — ahead of the first occurrence of a Ref tag in the visible article prose. Cite.php will have stacked the Refs in the footnote declaration block in the order they were encountered, and they will be expanded in that order.
- Allow anonymous subheaders to appear in the list of expanded references. Support for a head parameter is added for this. Subheaders can be invisibly declared in the invisible block of declared Refs as <Ref head>...</Ref>, and will appear in the expanded references list at the point where they were declared.
Allowing footnotes to be grouped, with each group introduced by editor-controllable headers, provides functionality similar to that provided by Bug 6271.
This extension provides functionality addressing Bug 5997.