Vikipedio:Lua/Moduloj/URIutil
Ŝablona programado | Diskutoj | Lua | Testoj | Subpaĝoj | ||||
---|---|---|---|---|---|---|---|---|
Modulo | Esperanto | English | Deutsch
|
Modulo: | Dokumentado |
URIutil
– Module with functions for strings in context of resource identifiers. This is not targeting for the subset, which is a locator formed as URL (see URLutil). In fact unique key codes for any kind of documents are covered: DOI, ISBN, ISSN, URN; furthermore some national and other codes like LCCN, GTIN/EAN, DNB, GND, ZDB, assigned by public institutions.
Functions for templates
All functions expect exactly one unnamed parameter (which should be provided to get a meaningful answer). Whitespace ahead and after content is ignored.
The return value is an empty string (“nothing”), if the parameter value does not fulfil the expectations. If there is a result or the query condition is true, at least one visible character will be returned. The result does not begin or end with a space.
- coreISSN
- 7 significant digits of a 8-digit or 13-digit ISSN
- formatISBN
- Segmentation by hyphens; “X” capitalized.
- formatISSN
- Segmentation by hyphens; “X” capitalized.
- Optionally: second parameter 8 or 13 for output format; else as got.
- isDNBvalid
- Is this DNB (also GND, ZDB) identifier formally correct, including check digit?
- GND have at least 9 digits, not former 8 digits SWD and GKD with check digit separated by hyphen.
- If a number with up to 7 digits a check digit separated by hyphen is following, a validation by rules before 2012 is tried.
- nothing – if invalid
- number of digits or
2011
– valid
- isDOI
- Is this a syntactically correct Digital Object Identifier?
- number of organisation – yes
- nothing – if invalid
- isEscValid
- Are bad percent escapings in attempt?
- nothing – no complaints
- string – objected sequence
- isGTINvalid
- Is this GTIN (EAN) formally correct, including check digit?
- number of digits
- nothing – if invalid
- GTIN are also ISBN-13, ISSN-13 and perhaps one day AV media.
- isISBN
- Is this a syntactically correct ISBN?
10
if 10 digits and hyphens; also terminated byxX
13
if 13 digits and hyphens; starting with bookland- nothing – else
- isISBNvalid
- Is this a syntactically correct ISBN, including check digit?
10
or13
– yes- nothing – no
- isISSNvalid
- Is this ISSN formally correct, including check digit?
8
or13
– yes- nichts – no
- isLCCN
- Is this a syntactically correct LCCN?
- string – identified, without separators
- nothing – if invalid
- linkDOI
- Bracketed external link on DOI resolver
- linkISBN
- Bracketed external link on Special:Booksources with prefixed keyword ISBN and
formatISBN
(also when syntactically incorrect)
- linkISSN
- Bracketed external link on data base of periodicals with prefixed keyword ISSN and
formatISSN
(also when syntactically incorrect) class="plainlinks-print"
won’t be issued.- linkURN
- Bracketed external link on URN resolver
- For the time being not implemented due lack of universal resolver.
- mayDOI
isDOI
or empty- Number of organisation – yes
0
– empty- nothing – if invalid
- mayISBN
isISBN
or empty10
oder13
– yes0
empty- nothing – if invalid
- mayISSN
isISSNvalid
or empty8
oder13
– yes0
– empty- nothing – if invalid
- mayLCCN
isLCCN
or empty- string – identified, without separators
0
– empty- nothing – if invalid
- mayURI
- URI in general or empty; no spaces within, isEscValid
- Optionally: second parameter
1
permits ASCII only (no IRI). - nothing – no complaints
- string – objected sequence
- Optionally: second parameter
- mayURN
- Valid URN or empty
- nothing – no complaints
- string – objected sequence
- plainISBN
- Raw ISBN with digits only (or X); 10 or 13 characters.
- Appropriate for Wikipedia:BibRecord.
- uriDOI
- Like
linkDOI
with prefixed schemedoi:
- Optionally:
link=0
– without linkingdoi:
on Digital Object Identifier likedoi:
- Optionally:
- uriURN
- Like
linkURN
with prefixed schemeurn:
- Not yet implemented.
Optional parameters
link=
The functions link
* and uri
* link the prefixed keyword/scheme to the assumed enzyclopedic article. The parameter value may specify an alternative page name; or link=0
would suppress linking.
nbsp=
The functions link
* will use non breaking space between prefixed keyword and code; but nbsp=0
requests ASCII spaces.
Markup of bad codes
The functions link
* and uri
* assign class="invalid-ISBN"
etc. to invalid codes. This might be utilized by users or gadgets for markup, e.g. a red box around the code.
.invalid-ISBN,
.invalid-ISSN {
border: solid 2px #FF0000;
}
Examples (test page)
A test page illustrates practical use.
Ĝeneralaj atentigoj pri la enplektado de moduloj
Enplektado okazas ĉiam en la formato
{{#invoke: URIutil |
Funkcionomo | valoro1 | valoro2 | nomoX=valoro … }}
La parametroj povas esti nomitaj aŭ nenomitaj kiel ĉe ŝablonoj.
Se nekonata signoĉeno venas de ekstere (kiel ŝablonaj parametroj), ĉiam estu laborata kun la formo 1=
valoro.
Pliajn informojn vi trovos sur Helpo:Lua.