Die Dokumentation für dieses Modul kann unter Modul:Vorlage:Runeberg/DBL/Doku erstellt werden

local Serial = "2018-02-14"
--[=[ Runeberg/DBL
require() table supporting: Dansk biografisk leksikon (1887...1905)
]=]



return {
    facet = function ( Data, aEdt, aVol, aPag )
        local j = aVol or 1
        local m = aPag or 1
        local volume = Data.project.pages[ 1 ][ aVol ]
        local r1, r2
        if type( volume ) == "table" then
            local d = volume[ 1 ]
            if m <= d[ 2 ] then
                m  = m + d[ 3 ]
                r1 = string.format( "/%d", j )
                r2 = string.format( "%04d.html", m )
            end
        end
        return r1, r2
    end, -- .facet()
    figures = function ( Data )
        -- Retrieve numbers from invocation
        -- Returns numbers: edition, volume, column, error
        local sEdt = mw.text.trim( Data.params.ed or "1" )
        local sVol = mw.text.trim( Data.params.vol or "" )
        local sPag = mw.text.trim( Data.params.sub or "" )
        local rEdt = sEdt:match( "^1$" )
        local rVol, rPag, rErr
        if rEdt then
            rEdt = tonumber( rEdt )
            rVol = sVol:match( "^1?%d$" )
            if rVol then
                rVol = tonumber( rVol )
                if rVol == 0  or  rVol > 19 then
                    rVol = false
                    rErr = 3
                else
                    rPag = sPag:match( "^%d+$" )
                    if rPag then
                        rPag = tonumber( rPag )
                    elseif sPag ~= "" then
                        rErr = 5
                    end
                end
            elseif sVol ~= "" then
                rErr = 4
            end
        elseif sEdt ~= ""  or  sVol ~= ""  or  sPag ~= "" then
            rErr = 1
        end
        return  rEdt, rVol, rPag, rErr
    end, -- .figures()
    pages = {
        { { { 1,  616, 18 } },       --  1
          { { 1,  644,  2 } },       --  2
          { { 1,  640,  2 } },       --  3
          { { 1,  646,  2 } },       --  4
          { { 1,  628,  2 } },       --  5
          { { 1,  641,  2 } },       --  6
          { { 1,  606,  2 } },       --  7
          { { 1,  642,  2 } },       --  8
          { { 1,  644,  2 } },       --  9
          { { 1,  626,  2 } },       -- 10 auf S. 626 Rettelser zu Band 1 bis 3
          { { 1,  644,  2 } },       -- 11 auf S. 644 Rettelser zu Band 1 bis 3
          { { 1,  646,  2 } },       -- 12
          { { 1,  628,  2 } },       -- 13 auf S. 628 Rettelser zu Band 1 bis 6
          { { 1,  636,  2 } },       -- 14
          { { 1,  624,  2 } },       -- 15
          { { 1,  628,  2 } },       -- 16
          { { 1,  636,  2 } },       -- 17 auf S. 636 Rettelser zu Band 1 bis 4
          { { 1,  632,  2 } },       -- 18 auf S. 632 Rettelser zu Band 2 bis 6
          { { 1,  484, 90 } } } },   -- 19 ab S. 417 Rettelser og Tilføjelser
    ranges = {
        { "Aaberg–Beaumelle",          --  1
          "Beccau–Brandis",            --  2
          "Brandt–Clavus",             --  3
          "Clemens–Eynden",            --  4
          "Faaborg–Gersdorff",         --  5
          "Gerson–H. Hansen",          --  6
          "I. Hansen–Holmsted",        --  7
          "Holst–Juul",                --  8
          "Jyde–Køtschau",             --  9
          "Laale–Løvenørn",            -- 10
          "Maar–Müllner",              -- 11
          "Münch–Peirup",              -- 12
          "Pelli–Reravius",            -- 13
          "Resen–Saxtrup",             -- 14
          "Scalabrini–Skanke",         -- 15
          "Skarpenberg–Sveistrup",     -- 16
          "Svend Tveskjæg–Tøxen",      -- 17
          "Ubbe–Wimpffen",             -- 18
          "Vind–Oetken" } },           -- 19
    serial = Serial }



--    Runeberg/DBL