Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Humanipedia
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
Module:Legislationuk
Module
Discussion
English
Read
Edit source
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit source
View history
General
What links here
Related changes
Special pages
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
local p = {} function p.main( frame ) local args if frame:getParent().args[ 1 ] then args = frame:getParent().args else args = frame.args end local input = "" local divider = "|" local o = "<table class=\"wikitable sortable\"style=\"border-style:none none none none\"><tr><th colspan=3>Short title<th style=\"min-width:200px;\">Citation<th class=unsortable>[[Royal assent]]<tr class=expand-child><th colspan=5>Long title<tr class=expand-child><th colspan=5 style=\"background:#fff;border-style:none none none none\"><div style=min-height:0.25em></div>" local h = {} for i = 1, 2 do h[ i ] = mw.ustring.char( i + 57343 ) end for i, _ in pairs( args ) do input = args[ i ] if mw.ustring.find( input, "{{|" ) and mw.ustring.find( input, "}}" ) then input = mw.ustring.gsub( input, "%[%[(.*)|(.*)%]%]", "%[%[%1" .. h[ 1 ] .. "%2%]%]" ) input = mw.ustring.gsub( input, "style=", h[ 2 ] ) local leg = {} local s = "" local c = 1 local par input = mw.ustring.sub( input, mw.ustring.find( input, "|" ) + 1) while input ~= "" do if mw.ustring.find( input, "|" ) then divider = "|" else divider = "}" end s = mw.ustring.sub( input, 1, mw.ustring.find( input, divider ) - 1) if mw.ustring.find( s, "=" ) then par = mw.ustring.sub( s, 1, mw.ustring.find( s, "=" ) - 1) leg[ par ] = mw.ustring.sub( s, mw.ustring.find( s, "=" ) + 1) else par = c leg[ c ] = mw.ustring.sub( input, 1, mw.ustring.find( input, divider ) - 1) c = c + 1 end leg[ par ] = mw.ustring.gsub( leg[ par ], "%[%[(.*)" .. h[ 1 ] .. "(.*)%]%]", "%[%[%1|%2%]%]") leg[ par ] = mw.ustring.gsub( leg[ par ], h[ 2 ], "style=") if divider == "|" then input = mw.ustring.sub( input, mw.ustring.find( input, "|" ) + 1) else input = "" end end o = o .. p.act( leg ) end end o = o .. "</table>" .. frame:expandTemplate{ title = "notelist" } return o end function p.act( args ) local data = mw.loadData( "Module:Legislationuk/data" ) local legShortTitle = args[ 1 ] or "" local link = args[ "link" ] or "" local legNote1 = args[ "note1" ] or "" local cyShortTitle = args[ "cyshort" ] or "" local legType = args[ 2 ] or "" local legNumber = args[ 3 ] or "" local legNote2 = args[ "note2" ] or "" local legDate = args[ 4 ] or "" local legNote3 = args[ "note3" ] or "" local maintained = args[ "maintained" ] or "" local archived = args[ "archived" ] or "" local repealed = args[ "repealed" ] or "" local legLongTitle = args[ 5 ] or "" local legNote4 = args[ "note4" ] or "" local cyLongTitle = args[ "cylong" ] or "" local url = args[ "url" ] or "" legDate = os.time {day = tonumber( mw.ustring.sub( legDate, 1, 2 ) ), month = tonumber( mw.ustring.sub( legDate, 4, 5 ) ), year = tonumber( mw.ustring.sub( legDate, 7 ) ) } local o = "<tr><td colspan=3 style=background:#" if repealed == "y" then o = o .. "f2cece;border-color:#bfa3a3" else o = o .. "ececec" end o = o .. " data-sort-value=\"" if mw.ustring.find( legShortTitle, "%(No%..*%d+%)" ) then o = o .. mw.ustring.gsub( legShortTitle, "(.*)%(No%..*(%d+)%) (.*)", "%1%3% %2" ) else o = o .. legShortTitle .. " 1\"" end o = o .. "><div style=display:flex;align-items:center;width:42em;max-width:51vw class=box><div style=flex-grow:9>\'\'\'[[" if link ~= "" then o = o .. link .. "|" end o = o .. legShortTitle .. "]]\'\'\'" .. legNote1 if repealed == "y" then o = o .. " (repealed)" end if cyShortTitle ~= "" then o = o .. "<br><span style=font-size:0.975em;font-weight:700;font-style:italic>" .. cyShortTitle .. "</span>" end o = o .. "</div><div style=float:right;min-width:" if maintained == "y" and archived ~= "n" then o = o .. "4.5" else o = o .. "2.25" end o = o .. "em;max-width:" if maintained == "y" and archived ~= "n" then o = o .. "4.5" else o = o .. "2.25" end o = o .. "em>" if maintained == "y" then local lt = { [ "public" ] = "ukpga", [ "local" ] = "ukla", [ "private" ] = "ukppa", [ "asp" ] = "asp", [ "asc" ] = "asc", [ "anaw" ] = "anaw", [ "nawm" ] = "mwa", [ "ania" ] = "nia", ["apni"] = "apni", [ "mnia" ] = "mnia", [ "church" ] = "ukcm" } if lt[ legType ] and legDate and legNumber then local url = "https://www.legislation.gov.uk/" .. lt[ legType ] .. "/" .. os.date( "%Y", legDate ) .. "/" .. legNumber .. "/contents" o = o .. "[[File:Legislation.gov.uk External.svg|29x14px|link=" .. url .. "|Act text]]" end end local s if maintained == "y" and archived ~= "n" then o = o .. "<wbr>" end if archived ~= "n" then if legType == "nawm" or legType == "anaw" or legType == "asc" then o = o .. "[[File:Library External.svg|26x17px|link=https://archives.library.wales/index.php/" .. url .. "|Act text]]" else local lt = { [ "public" ] = "PU", [ "local" ] = "PB", [ "personal" ] = "PB", [ "private" ] = "PB", [ "apni" ] = "APNI"} if legDate < os.time {day=1, month=1, year=1963} or (legType == "apni" and legDate < os.time {day=1, month=1, year=1943} ) then for _, t in ipairs( data ) do if legDate >= t.sDate.date and legDate <= t.eDate.date then s = t.archive end end end local lt2 = { [ "public" ] = legNumber, [ "local" ] = p.roman { legNumber }, [ "personal" ] = legNumber, [ "private" ] = legNumber, [ "asp" ] = legNumber, [ "asc" ] = legNumber, [ "anaw" ] = legNumber, [ "nawm" ] = legNumber, [ "ania" ] = legNumber, [ "apni" ] = legNumber, [ "mnia" ] = legNumber, [ "church" ] = legNumber } url = "https://archives.parliament.uk/collections/getrecord/GB61_HL_PO_" .. lt[ legType ] .. "_1_" .. os.date( "%Y", legDate ) .. "_" .. (s or "") .. "c" .. lt2[ legType ] o = o .. "[[File:Parliamentary Archives External.svg|27x19px|link=" .. url .. "|Information in the Parliamentary Archives]]" end end o = o .. "</div></div><td " if repealed == "y" then o = o .. "style=background:#fff5f5;border-color:#bfa3a3 " end o = o .. "data-sort-value=" if legType == "apni" and legDate >= os.time{ day = 1, month = 1, year = 1947 } then o = o .. os.time{ day = 1, month = 1, year = tonumber (os.date( "%Y", legDate ) ) } + legNumber elseif legDate >= os.time{ day = 1, month = 1, year = 1963 } then o = o .. os.time{ day = 1, month = 1, year = tonumber (os.date( "%Y", legDate ) ) } + legNumber else for _, t in ipairs( data ) do if tonumber( legDate ) >= tonumber( t.sDate.date ) and tonumber( legDate ) <= tonumber( t.eDate.date ) then o = o .. tonumber( t.sDate.date ) + legNumber end end end o = o .. "><div style=width:10em;max-width:18vw><span class=nowrap>" if legDate < os.time {day=1, month=1, year=1963} or (legType == "apni" and legDate < os.time{ day = 1, month = 1, year = 1947 }) then for _, t in ipairs( data ) do if tonumber( legDate ) >= tonumber( t.sDate.date ) and tonumber( legDate ) <= tonumber( t.eDate.date ) then o = o .. t.citation end end else o = o .. os.date( "%Y", legDate ) end local lt = { [ "public" ] = "c. " .. legNumber, [ "local" ] = "c. " .. p.roman { legNumber }, [ "personal" ] = "c. \'\'" .. legNumber .. "\'\'", [ "private" ] = "c. \'\'" .. legNumber .. "\'\' <small>Pr.</small>", [ "asp" ] = "asp " .. legNumber, [ "asc" ] = "asc " .. legNumber .. "<br>\'\'" .. os.date( "%Y", legDate ) .. " dsc " .. legNumber .. "\'\'", [ "anaw" ] = "anaw " .. legNumber .. "<br>\'\'" .. os.date( "%Y", legDate ) .. " dccc " .. legNumber .. "\'\'", [ "nawm" ] = "nawm " .. legNumber .. "<br>\'\'" .. os.date( "%Y", legDate ) .. " mccc " .. legNumber .. "\'\'", [ "ania" ] = "c. " .. legNumber .. " (N.I.)", [ "apni" ] = "c. " .. legNumber .." (N.I.)", [ "mnia" ] = "c. " .. legNumber .. " (N.I.)", [ "church" ] = "No. " .. legNumber } o = o .. " " .. lt[ legType ] .. legNote2 .. "</span></div><td" if repealed == "y" then o = o .. " style=background:#fff5f5;border-color:#bfa3a3" end o = o .. "><div style=width:9em;max-width:18vw>" .. os.date("*t", legDate).day .. " " .. os.date("%B %Y", legDate ) .. legNote3 .. "</div><tr class=expand-child><td colspan=5" if repealed == "y" then o = o .. " style=background:#fff5f5;border-color:#bfa3a3" end o = o .. "><div style=max-width:fit-content" if cyLongTitle ~= "" then o = o .. " class=box><div style=display:inline-block;padding-right:1%;max-width:49%;vertical-align:top" end o = o .. ";max-height:9em;overflow:auto>" if legLongTitle ~= "" then o = o .. legLongTitle .. legNote4 else o = o .. " " end o = o .. "</div>" if cyLongTitle ~= "" then o = o .. "<div style=display:inline-block;float:right;padding-left:1%;max-width:49%;vertical-align:top;max-height:9em;overflow:auto;font-style:italic>" .. cyLongTitle .. "</div></div>" end local c = 1 local n = 0 local po = args[ "po1" ] while po do local poIsShortTitle = args[ "po" .. c .. "short" ] local poNote1 = args[ "po" .. c .. "note1" ] or "" local poYearOffset = args[ "po" .. c .. "year" ] or "" local poIsLongTitle = args[ "po" .. c .. "long" ] local poLongTitle if poIsLongTitle == "n" then poLongTitle = "" n = n + 1 else poLongTitle = args[ c + 5 - n ] end local poNote2 = args[ "po" .. c .. "note2" ] or "" o = o .. p.po{po, poIsShortTitle, poNote1, poLongTitle, poNote2, poYearOffset, legDate } c = c + 1 po = args[ "po" .. c ] end o = o .. "<tr class=expand-child><td colspan=5 style=\"border-style:none none none none;background:#fff\"><div style=min-height:.25em></div>" return o end function p.po( args ) local frame = mw.getCurrentFrame() local o = "<tr class=expand-child><td style=\"background:#fff;width:1em;border-style:none solid none none\"> <td style=background:#f5fdff;max-width:61em colspan=4><div" if args[ 2 ] ~= "n" then o = o .. ">\'\'\'[[" .. args[ 1 ] .. "]]\'\'\'" .. (args[ 3 ] or '') if args[ 6 ] == "y" then o = o .. frame:extensionTag( "ref", "Although passed in " .. os.date("%Y", args[ 7 ]) .. ", the short title is specified as the " .. args[ 1 ] .. ".", { name = mw.hash.hashValue( "crc32b", args[ 1 ] ), group = "lower-alpha" } ) end if args[ 4 ] and args[ 4 ] ~= "" then return o .. "<div style=max-height:7em;overflow:auto>" .. args[ 4 ] .. (args[ 5 ] or '') else return o end else o = o .. " style=max-height:8.25em;overflow:auto>" .. (args[ 1 ] or '') .. (args[ 3 ] or '') return o end end function p.ordinal( args ) local ordinal, digit = {"st", "nd", "rd"}, mw.ustring.sub( args, -1 ) if tonumber( digit ) > 0 and tonumber( digit ) <= 3 and mw.ustring.sub( args, -2 ) ~= 11 and mw.ustring.sub( args, -2 ) ~= 12 and mw.ustring.sub( args, -2 ) ~= 13 then return args .. ordinal[ tonumber( digit ) ] else return args .. "th" end end function p.roman( args ) local inputRoman = tonumber( args[ 1 ] ) if inputRoman < 400 then inputRoman = tostring( inputRoman ) return mw.ustring.lower( require("Module:Roman").main{ inputRoman } ) elseif inputRoman == 400 then return "cccc" elseif inputRoman < 500 then inputRoman = inputRoman - 400 inputRoman = tostring( inputRoman ) return "cccc" .. mw.ustring.lower( require("Module:Roman").main{ inputRoman } ) else return "" end end function p.header( frame ) local data = mw.loadData( "Module:Legislationuk/data" ) local pargs = frame:getParent().args local args = frame.args local inputType = pargs[ 1 ] or args[ 1 ] or "" local inputState = pargs[ "state" ] or args[ "state" ] or "" local inputNumber = tonumber( pargs[ 2 ] ) or tonumber( args[ 2 ] ) or "" local inputSession = pargs[ "session" ] or args[ "session" ] or "" local actsPublic = tonumber( pargs[ 3 ] ) or tonumber( args[ 3 ] ) or 0 local actsLocal = tonumber( pargs[ 4 ] ) or tonumber( args[ 4 ] ) or 0 local actsPrivate = tonumber( pargs[ 5 ] ) or tonumber( args[ 5 ] ) or 0 local currentSession = "" local o = "" if inputState == "scotland" or inputState == "wales" or inputState == "northern ireland" then inputType = "year" inputNumber = tonumber( pargs[ 1 ] ) or tonumber( args[ 1 ] ) or 0 actsPublic = tonumber( pargs[ 2 ] ) or tonumber( args[ 2 ] ) or 0 actsLocal = tonumber( pargs[ 3 ] ) or tonumber( args[ 3 ] ) or 0 end local acts = actsPublic + actsLocal + actsPrivate if inputState == "scotland" then o = o .. frame:preprocess( "{{DEFAULTSORT:List of acts of the Scottish Parliament, " .. inputNumber .."}}" ) elseif inputState == "wales" then o = o .. frame:preprocess( "{{DEFAULTSORT:List of acts of the Welsh Parliament, " .. inputNumber .."}}" ) elseif inputState == "northern ireland" then if inputNumber >= 2000 then o = o .. frame:preprocess( "{{DEFAULTSORT:List of acts of the Northern Ireland Assembly, " .. inputNumber .."}}" ) elseif inputNumber <= 1972 then o = o .. frame:preprocess( "{{DEFAULTSORT:List of acts of the Parliament of Northern Ireland, " .. inputNumber .."}}" ) end elseif inputType == "year" then o = o .. frame:preprocess( "{{DEFAULTSORT:List of acts of the Parliament of the United Kingdom, " .. inputNumber .."}}" ) elseif inputSession == "only" then o = o .. frame:preprocess( "{{DEFAULTSORT:List of acts of the " .. p.ordinal( inputNumber ) .. " Parliament of the United Kingdom}}" ) else o = o .. frame:preprocess( "{{DEFAULTSORT:List of acts of the " .. p.ordinal( inputNumber ) .. " Parliament of the United Kingdom, " .. p.ordinal( inputSession ) .. " Session}}" ) end o = o .. "" .. frame:expandTemplate{ title = "Use British English", args = { date = "July 2021" } } .. "" .. frame:expandTemplate{ title = "Use dmy dates", args = { date = "July 2021" } } .. "" .. frame:expandTemplate{ title = "Short description", args = { "None" } } .. " " if inputState == "UK" or inputState == "" then o = o .. frame:expandTemplate{ title = "UK acts of Parliament lists", args = { "years" } } else end o = o .. "This is a '''list of " if inputState == "scotland" then o = o .. "acts of the Scottish Parliament " elseif inputState == "wales" then if inputNumber >= 2021 then o = o .. "acts of Senedd Cymru " elseif inputNumber == 2020 then o = o .. "acts of the National Assembly for Wales and acts of Senedd Cymru" elseif inputNumber <= 2020 and inputNumber >= 2012 then o = o .. "acts of the National Assembly for Wales " else o = o .. "measures of the National Assembly for Wales " end elseif inputState == "northern ireland" then if inputNumber >= 2000 then o = o .. "acts of the Northern Ireland Assembly " elseif inputNumber <= 1972 then o = o .. "acts of the Parliament of Northern Ireland " end else o = o .. "acts of the " if inputType == "parliament" and inputSession == "only" then o = o .. p.ordinal( inputNumber ) .. " " elseif inputType == "parliament" then o = o .. p.ordinal( inputSession ) .. " [[Legislative session|session]] of the " .. p.ordinal( inputNumber ) .. " " end o = o .. "Parliament of the United Kingdom" end if inputType == "year" then o = o .. " passed in " .. inputNumber .. "'''." else o = o .. "''', which " for _, t in ipairs( data ) do if t.session and tonumber( inputNumber ) == tonumber( t.session.parliament ) and ( tonumber( inputSession ) == tonumber( t.session.number ) or ( inputSession == "only" and tonumber( t.session.number ) == 1 ) ) then if t.eDate == "current" then if inputSession == "only" then o = o .. "has so far consisted of a single session that " end o = o .. "began on " .. os.date( "*t", t.sDate.date ).day .. " " .. os.date("%B %Y", t.sDate.date ) if t.sDate.citation.work ~= "LG" then o = o .. frame:extensionTag( "ref", p.citation( t.sDate.citation ) .. "." ) else o = o .. frame:extensionTag( "ref", p.citation( t.sDate.citation ) ) end o = o .. " and has not yet concluded." currentSession = "y" else if inputSession == "only" then o = o .. "consisted of a single session that " end o = o .. "ran from " .. os.date( "*t", t.sDate.date ).day .. " " .. os.date("%B %Y", t.sDate.date ) if t.sDate.citation.work ~= "LG" then o = o .. frame:extensionTag( "ref", p.citation( t.sDate.citation ) .. "." ) else o = o .. frame:extensionTag( "ref", p.citation( t.sDate.citation ) ) end o = o .. " until " .. os.date( "*t", t.eDate.date ).day .. " " .. os.date("%B %Y", t.eDate.date ) .. "." if t.eDate.citation.work ~= "LG" then o = o .. frame:extensionTag( "ref", p.citation( t.eDate.citation ) .. "." ) else o = o .. frame:extensionTag( "ref", p.citation( t.eDate.citation ) ) end end end end end if inputState == "scotland" then o = o .. " [[Act of the Scottish Parliament|Acts of the Scottish Parliament]] are enacted by the [[Scottish Parliament]], which has legislative authority over [[Devolution in the United Kingdom|devolved]] matters in relation to [[Scotland]] under the authority of the [[Scotland Act 1998]]." .. frame:extensionTag( "ref", "{{citation|title=Scotland Act 1998|page=1998 c. 46, s. 28 |no-pp=yes|url=https://www.legislation.gov.uk/ukpga/1998/46/section/28}}." ) elseif inputState == "wales" then if inputNumber >= 2020 then o = o .. " [[Act of Senedd Cymru|Acts of Senedd Cymru]] are enacted by [[Senedd Cymru]] (the Welsh Parliament; or simply the Senedd), which has" elseif inputNumber >= 2012 then o = o .. " [[Act of the National Assembly for Wales|Acts of the National Assembly for Wales]] are [[Act of Senedd Cymru|acts of Senedd Cymru]] enacted by [[Senedd Cymru]] (the Welsh Parliament; or simply the Senedd) under its former name of the National Assembly for Wales." .. frame:extensionTag( "ref", "{{citation|title=Senedd and Elections (Wales) Act 2020|page=2020 anaw 1, s. 2 |no-pp=yes|url=https://www.legislation.gov.uk/anaw/2020/1/section/2}}." ) .. " It has" else o = o .. " [[Measure of the National Assembly for Wales|Measures of the National Assembly for Wales]] were enacted by [[Senedd Cymru]] (the Welsh Parliament; or simply the Senedd) under its former name of the National Assembly for Wales," .. frame:extensionTag( "ref", "{{citation|title=Senedd and Elections (Wales) Act 2020|page=2020 anaw 1, s. 2 |no-pp=yes|url=https://www.legislation.gov.uk/anaw/2020/1/section/2}}." ) .. " as part of its" end o = o .. " legislative authority over [[Devolution in the United Kingdom|devolved]] matters in relation to [[Wales]] under the authority of the [[Government of Wales Act 2006]]." if inputNumber >= 2012 then o = o .. frame:extensionTag( "ref", "{{citation|title=Government of Wales Act 2006|page=2006 c. 32, s. 107 |no-pp=yes|url=https://www.legislation.gov.uk/ukpga/2006/32/section/107}}." ) if inputNumber == 2020 then o = o .. " Before 6 May 2020, the Senedd was known as the National Assembly for Wales," .. frame:extensionTag( "ref", "{{citation|title=Senedd and Elections (Wales) Act 2020|page=2020 anaw 1, s. 2 |no-pp=yes|url=https://www.legislation.gov.uk/anaw/2020/1/section/2}}." ) .. " and acts passed before that date are accordingly known as [[Act of the National Assembly for Wales|acts of the National Assembly for Wales]]." end else o = o .. frame:extensionTag( "ref", "{{citation|title=Government of Wales Act 2006|page=2006 c. 32, s. 93 |no-pp=yes|url=https://www.legislation.gov.uk/ukpga/2006/32/section/93}}." ) .. " It has no longer been possible for the Senedd to pass measures since 5 May 2011, when it was conferred with the power to pass [[acts of Senedd Cymru]] (then known as acts of the National Assembly for Wales) following [[2011 Welsh devolution referendum|a referendum]]" if inputNumber == 2011 then o = o .. "," else o = o .. "." end o = o .. frame:extensionTag( "ref", "{{citation|title=Government of Wales Act 2006|page=2006 c. 32, ss. 106 & 107 |no-pp=yes|url=https://www.legislation.gov.uk/ukpga/2006/32/contents}}; {{citation|title=Government of Wales Act 2006 (Commencement of Assembly Act Provisions, Transitional and Saving Provisions and Modifications) Order 2011|page=S.I. 2011/1011 (W. 150) (C. 42), arts. 2 & 3 |no-pp=yes|url=https://www.legislation.gov.uk/wsi/2011/1011/contents}}." ) if inputNumber == 2011 then o = o .. " although a minor exemption was granted to any proposed measures which had been passed by the National Assembly but not yet given [[royal assent]] at that date." .. frame:extensionTag( "ref", "{{citation|title=Government of Wales Act 2006|page=2006 c. 32, s. 106A |no-pp=yes|url=https://www.legislation.gov.uk/ukpga/2006/32/section/106A}}." ) end end elseif inputState == "northern ireland" then if inputNumber >= 2000 then o = o .. " [[Act of the Northern Ireland Assembly|Acts of the Northern Ireland Assembly]] are enacted by the [[Northern Ireland Assembly]], which has legislative authority over [[Devolution in the United Kingdom|devolved]] matters in relation to [[Northern Ireland]] under the authority of the [[Northern Ireland Act 1998]]." .. frame:extensionTag( "ref", "{{citation|title=Northern Ireland Act 1998|page=1998 c. 47, s. 5 |no-pp=yes|url=https://www.legislation.gov.uk/ukpga/1998/47/section/5}}." ) elseif inputNumber <= 1972 then o = o .. " [[Act of the Parliament of Northern Ireland|Acts of the Parliament of Northern Ireland]] are enacted by the [[Parliament of Northern Ireland]], which has legislative authority over [[Devolution in the United Kingdom|devolved]] matters in relation to [[Northern Ireland]] under the authority of the [[Government of Ireland Act 1920]]." .. frame:extensionTag( "ref", "{{citation|title=Government of Ireland Act 1920|page=10 & 11 Geo. 5. c. 67, s. 1 |no-pp=yes|url=https://www.legislation.gov.uk/ukpga/Geo5/10-11/67}}." ) end end if inputType == "year" then inputNumber = tonumber( inputNumber ) end o = o .. "\n__TOC__\n" if inputState == "wales" then o = o .. "All legislation passed by the Senedd is [[Multilingualism|bilingual]], with the [[English language|English]] and [[Welsh language|Welsh]] texts being equally authoritative." if inputNumber <= 2020 then o = o .. frame:extensionTag( "ref", "{{citation|title=Government of Wales Act 2006|page=2006 c. 32, s. 156(1) |no-pp=yes|url=https://www.legislation.gov.uk/ukpga/2006/32/section/156}}." ) end if inputNumber >= 2020 then o = o .. frame:extensionTag( "ref", "{{citation|title=Legislation (Wales) Act 2019|page=2019 anaw 4, s. 5 |no-pp=yes|url=https://www.legislation.gov.uk/anaw/2019/4/section/5}}." ) end o = o .. "\n" end if inputState == "wales" and inputNumber <= 2011 then o = o .. "Measures " else o = o .. "[[Act of Parliament (UK)|Acts]] " end if inputState == "scotland" or inputState == "wales" or ( inputState == "northern ireland" and inputNumber >= 1943) then o = o .. "are [[Citation of United Kingdom legislation|cited]] by calendar year, in the same fashion as [[Act of Parliament (UK)|acts of Parliament of the United Kingdom]]." else if ( inputType == "year" and inputNumber >= 1963 ) or ( inputType == "parliament" and tonumber( inputNumber ) >= 43 ) or ( inputType == "parliament" and tonumber( inputNumber ) == 42 and tonumber( inputSession ) >= 4 ) then o = o .. "passed since 1963 are [[Citation of United Kingdom legislation|cited]] by calendar year," .. frame:extensionTag( "ref", "{{citation|title=Acts of Parliament Numbering and Citation Act 1962|page=10 & 11 Eliz. 2. c. 34, s. 1 |no-pp=yes|url=https://www.legislation.gov.uk/ukpga/Eliz2/10-11/34/section/1}}." ) if inputType == "parliament" and tonumber( inputNumber ) == 42 and tonumber( inputSession ) == 4 then o = o .. " while the convention used for earlier acts is to cite" else o = o .. " as opposed to the convention used for earlier acts of citing" end o = o .. " the [[Regnal years of English monarchs|regnal year(s)]] in which the relevant " if inputType == "year" then o = o .. "[[Legislative session|parliamentary session]]" else o = o .. "parliamentary session" end o = o .. " was held." .. frame:extensionTag( "ref", "{{citation|author1=Law Commission|author2=Scottish Law Commission|title=Report on the Interpretation Act 1889 and certain other enactments relating to the construction and operation of Acts of Parliament and other instruments|page=(Cmnd. 7235; Law Com. No. 90; Scot Law Com. No. 53, 1978) para. 7A |no-pp=yes|url=https://www.scotlawcom.gov.uk/files/8512/7989/6586/rep53.pdf}}; cf. {{citation|title=An Act for shortening the Language used in Acts of Parliament|page=13 & 14 Vict. c. 21, s. 3 (now rep.) |no-pp=yes|url=https://archives.parliament.uk/collections/getrecord/GB61_HL_PO_PU_1_1850_13and14V1n40}} and the {{citation|title=Interpretation Act 1889|page=52 & 53 Vict. c. 63, s. 35(1) (now rep.) |no-pp=yes|url=https://www.legislation.gov.uk/ukpga/1889/63/contents}}." ) else o = o .. "passed before 1963 are [[Citation of United Kingdom legislation|cited]] by the [[Regnal years of English monarchs|regnal year(s)]] in which the relevant " if inputType == "year" then o = o .. "[[Legislative session|parliamentary session]]" else o = o .. "parliamentary session" end o = o .. " was held," .. frame:extensionTag( "ref", "{{citation|author1=Law Commission|author2=Scottish Law Commission|title=Report on the Interpretation Act 1889 and certain other enactments relating to the construction and operation of Acts of Parliament and other instruments|page=(Cmnd. 7235; Law Com. No. 90; Scot Law Com. No. 53, 1978) para. 7A |no-pp=yes|url=https://www.scotlawcom.gov.uk/files/8512/7989/6586/rep53.pdf}}; cf. {{citation|title=An Act for shortening the Language used in Acts of Parliament|page=13 & 14 Vict. c. 21, s. 3 (now rep.) |no-pp=yes|url=https://archives.parliament.uk/collections/getrecord/GB61_HL_PO_PU_1_1850_13and14V1n40}} and the {{citation|title=Interpretation Act 1889|page=52 & 53 Vict. c. 63, s. 35(1) (now rep.) |no-pp=yes|url=https://www.legislation.gov.uk/ukpga/1889/63/contents}}." ) .. " as opposed to the convention used for later acts of citing the calendar year." .. frame:extensionTag( "ref", "{{citation|title=Acts of Parliament Numbering and Citation Act 1962|page=10 & 11 Eliz. 2. c. 34, s. 1 |no-pp=yes|url=https://www.legislation.gov.uk/ukpga/Eliz2/10-11/34/section/1}}." ) end end o = o .. " Each " if inputState == "wales" and inputNumber <= 2011 then o = o .. "measure" else o = o .. "act" end o = o .. " passed in a respective " if ( inputType == "year" and inputNumber >= 1963 ) or ( inputType == "parliament" and tonumber( inputNumber ) >= 43 ) or ( inputType == "parliament" and tonumber( inputNumber ) == 42 and tonumber( inputSession ) == 5 ) then o = o .. "year" elseif inputType == "parliament" and tonumber( inputNumber ) == 42 and tonumber( inputSession ) == 4 then o = o .. "session or year" else o = o .. "session" end o = o .. " is " if inputState == "scotland" then o = o .. "numbered consecutively with [[Arabic numerals]], following the prefix \"asp\"." .. frame:extensionTag( "ref", "{{citation|title=Interpretation and Legislative Reform (Scotland) Act 2010|page=2010 asp 10, ss. 9 & 38 |no-pp=yes|url=https://www.legislation.gov.uk/asp/2010/10/section/38}}; formerly the {{citation|title=Scotland Act 1998 (Transitory and Transitional Provisions) (Publication and Interpretation etc. of Acts of the Scottish Parliament) Order 1999|page=S.I. 1999/1379, art. 5(2) (rev. by art. 8 & s. 55(1) of the Interpretation and Legislative Reform (Scotland) Act 2010) |no-pp=yes|url=https://www.legislation.gov.uk/uksi/1999/1379/article/5}}." ) elseif inputState == "wales" then o = o .. "numbered consecutively with [[Arabic numerals]], following the prefix \"" if inputNumber >= 2021 then o = o .. "asc\"" elseif inputNumber == 2020 then o = o .. "anaw\" or \"asc\" respectively" elseif inputNumber <= 2020 and inputNumber >= 2012 then o = o .. "anaw\"" else o = o .. "nawm\"" end o = o .. " (or, in Welsh, \"" if inputNumber >= 2021 then o = o .. "dsc" elseif inputNumber == 2020 then o = o .. "dccc\" or \"dsc" elseif inputNumber <= 2020 and inputNumber >= 2012 then o = o .. "dccc" else o = o .. "mccc" end o = o .. "\")." o = o .. frame:extensionTag( "ref", "{{citation|title=Government of Wales Act 2006|page=2006 c. 32, s. 115 |no-pp=yes|url=https://www.legislation.gov.uk/ukpga/2006/32/section/115}}; {{citation|title=Interpretation Act 1978|page=1978 c. 30, ss. 19(1), 23B & 23C(1) |no-pp=yes|url=https://www.legislation.gov.uk/ukpga/1978/30/contents}}; {{citation|title=Legislation (Wales) Act 2019|page=2019 anaw 4, s. 22 |no-pp=yes|url=https://www.legislation.gov.uk/anaw/2019/4/section/22}}." ) elseif inputState == "northern ireland" then if inputNumber >= 1943 then o = o .. "given a chapter number (abbreviated \"c.\") denoted by [[Arabic numerals]]," .. frame:extensionTag( "ref", "{{citation|title=Interpretation Act (Northern Ireland) 1954|page=1954 c. 33 (N.I.), ss. 1(a) & 47(1) |no-pp=yes|url=https://www.legislation.gov.uk/apni/1954/33/contents}}; {{citation|title=Interpretation Act 1978|page=1978 c. 30, ss. 19(1) & 24(1) |no-pp=yes|url=https://www.legislation.gov.uk/ukpga/1978/30/contents}}." ) .. " and citations are usually followed by the suffix \"(N.I.)\" so as to prevent confusion with acts of Parliament of the United Kingdom." else o = o .. "passed before 1943 are [[Citation of United Kingdom legislation|cited]] by the [[Regnal years of English monarchs|regnal year(s)]] in which the relevant [[Legislative session|parliamentary session]]" end else o = o .. "given a chapter number (abbreviated \"c.\"), denoted by [[Arabic numerals]] in the case of [[Act of Parliament (UK)#Public general acts|public general acts]], lowercase [[Roman numerals]] in the case of [[Local and personal Acts of Parliament (United Kingdom)#Local acts|local acts]], or [[Italic type|italicised]] Arabic numerals in the case of [[Local and personal Acts of Parliament (United Kingdom)#Personal acts|personal acts]]. These run as separate series." .. frame:extensionTag( "ref", "{{citation|title=Erskine May|page=para. 30.75 |no-pp=yes|url=https://erskinemay.parliament.uk/section/5598/printing-and-promulgation-of-statutes|access-date=9 September 2021|archive-url=https://web.archive.org/web/20210909205918/https://erskinemay.parliament.uk/section/5598/printing-and-promulgation-of-statutes/|archive-date=9 September 2021}}." ) end o = o .. "\n\n" if inputState == "wales" and inputNumber == 2020 then o = o .. actsPublic .. " acts of the National Assembly for Wales and " .. actsLocal .. " acts of Senedd Cymru " else o = o .. actsPublic + actsLocal + actsPrivate if inputState == "wales" and inputNumber <= 2011 then o = o .. " measure" else o = o .. " act" end if acts > 1 then o = o .. "s" end if inputState == "scotland" then o = o .. " of the Scottish Parliament " elseif inputState == "wales" then if inputNumber >= 2021 then o = o .. " of Senedd Cymru " else o = o .. " of the National Assembly for Wales " end elseif inputState == "northern ireland" then if inputNumber >= 1973 then o = o .. " of the Northern Ireland Assembly " else o = o .. " of the Parliament of Northern Ireland " end else o = o .. " of Parliament " end end if inputNumber == tonumber (os.date( "%Y", os.time() ) ) or currentSession == "y" then if acts == 1 then o = o .. "has" else o = o .. "have" end o = o .. " so far been" else if acts == 1 then o = o .. "was" else o = o .. "were" end end o = o .. " passed " if inputType == "year" then o = o .. "in " .. inputNumber else o = o .. "by the " .. p.ordinal( inputNumber ) .. " Parliament in its " if inputSession == "only" then o = o .. "only" else o = o .. p.ordinal( inputSession ) end o = o .. " session" end local actsPublicString = "" local actsLocalString = "" local actsPrivateString = "" if inputState == "scotland" or inputState == "wales" or ( inputState == "northern ireland" and inputNumber >= 2000) then o = o .. "." else if actsPublic > 1 then actsPublicString = actsPublic .. " public general acts" else actsPublicString = actsPublic .. " public general act" end if actsLocal > 1 then actsLocalString = actsLocal .. " local acts" else actsLocalString = actsLocal .. " local act" end if actsPrivate > 1 then actsPrivateString = actsPrivate .. " personal acts" else actsPrivateString = actsPrivate .. " personal act" end if actsPublic > 0 and actsLocal > 0 and actsPrivate > 0 then o = o .. ": " .. actsPublicString .. ", " .. actsLocalString .. " and " .. actsPrivateString .. "." elseif actsPublic > 0 and actsLocal > 0 and actsPrivate == 0 then o = o .. ": " .. actsPublicString .. " and " .. actsLocalString .. "." elseif actsPublic > 0 and actsLocal == 0 and actsPrivate > 0 then o = o .. ": " .. actsPublicString .. " and " .. actsPrivateString .. "." elseif actsPublic == 0 and actsLocal > 0 and actsPrivate > 0 then o = o .. ": " .. actsLocalString .. " and " .. actsPrivateString .. "." elseif actsPublic > 0 and actsLocal == 0 and actsPrivate == 0 then if actsPublic == 1 then o = o .. ": a public general act." else if actsPublic == 2 then o = o .. "; both " else o = o .. "; all " end if inputNumber == tonumber(os.date( "%Y", os.time() ) ) or currentSession == "y" then o = o .. "are" else o = o .. "were" end o = o .. " public general acts." end elseif actsPublic == 0 and actsLocal > 0 and actsPrivate == 0 then if actsLocal == 1 then o = o .. ": a local act." else if actsLocal == 2 then o = o .. "; both " else o = o .. "; all " end if inputNumber == tonumber(os.date( "%Y", os.time() ) ) or currentSession == "y" then o = o .. "are" else o = o .. "were" end o = o .. " local acts." end elseif actsPublic == 0 and actsLocal == 0 and actsPrivate > 0 then if actsPrivate == 1 then o = o .. ": a personal act." else if actsPrivate == 2 then o = o .. "; both " else o = o .. "; all " end if inputNumber == tonumber (os.date( "%Y", os.time() ) ) or currentSession == "y" then o = o .. "are" else o = o .. "were" end o = o .. " personal acts." end end end o = o .. "\n\n[[File:Cib-gov-uk_(CoreUI_Icons_v1.0.0).svg|18x18px|link=]] indicates that a" if inputState == "wales" and inputNumber < 2012 then o = o .. " measure" else o = o .. "n act" end o = o .." is available to view at [[legislation.gov.uk]], and " if inputState == "wales" then o = o .. "[[File:Book (CoreUI Icons v1.0.0).svg|18x18px|link=]]" else o = o .. "[[File:Crowned_Portcullis.svg|18x18px|link=]]" end o = o .. " indicates the location of the original " if inputState == "wales" and inputNumber < 2012 then o = o .. "measure" else o = o .. "act" end o = o .. " in the " if inputState == "wales" then o = o .. "[[National Library of Wales]]." else o = o .. "[[Parliamentary Archives]]." end return o end function p.citation( frame ) local t = frame or "" local o = "{{" if t[ "work" ] == "JHC" then o = o .. "citation|author=House of Commons|title=Journals of the House of Commons|volume=" if t.part then o = o .. "\'\'\'" .. t.vol .. " pt. " .. require("Module:Roman").main{ t.part } .. "\'\'\'" else o = o .. t.vol end o = o .. "|page" if mw.ustring.find( t.page, "β" ) then o = o .. "s" end o = o .. "=" if t.page == "before 1" then o = o .. "before p. 1|no-pp=yes" else o = o .. t.page end o = o .. "}}" elseif t[ "work" ] == "JHL" then o = o .. "citation|author=House of Lords|title=Journals of the House of Lords|volume=" if t.part ~= "" then o = o .. "\'\'\'" .. t.vol .. " pt. " .. require("Module:Roman").main{ t.part } .. "\'\'\'" else o = o .. t.vol end o = o .. "|page" if mw.ustring.find( t.page, "β" ) then o = o .. "s" end o = o .. "=" if t.page == "before 1" then o = o .. "before p. 1|no-pp=yes" else o = o .. t.page end o = o .. "}}" elseif t[ "work" ] == "Hansard" then o = o .. "citation|author=Parliament of the United Kingdom|title=Hansard|series=" .. t.series .. "|volume=" .. t.vol o = o .. "|page=col" if mw.ustring.find( t.col, "β" ) then o = o .. "s" end o = o .. ". " .. t.col .. "|no-pp=yes}}" elseif t[ "work" ] == "LG" then o = o .. "London Gazette|issue=" .. t.issue if t.supplement ~= "" then o = o .. "|supp=" .. t.supplement end o = o .. "|page" if mw.ustring.find( t.page, "β" ) then o = o .. "s" end o = o .. "=" .. t.page o = o .. "|date=" .. os.date( "*t", t.date ).day .. " " .. os.date("%B %Y", t.date ) .. "}}" end return o end return p
Summary:
Please note that all contributions to Humanipedia may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Humanipedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Templates used on this page:
Template:Error
(
edit
)
Template:Module other
(
edit
)
Template:Module rating
(
edit
)
Template:Ombox
(
edit
)
Template:Pp
(
edit
)
Template:Protection padlock
(
edit
)
Template:Sandbox other
(
edit
)
Template:Template link
(
edit
)
Template:Tl
(
edit
)
Module:Error
(
edit
)
Module:File link
(
edit
)
Module:Legislationuk/doc
(
edit
)
Module:Message box
(
edit
)
Module:Protection banner
(
edit
)
Module:String
(
edit
)