standardnumber/docs/index.html

1366 lines
64 KiB
HTML
Raw Permalink Normal View History

2017-02-02 21:35:23 +01:00
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge"><![endif]-->
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="generator" content="Asciidoctor 1.5.4">
<meta name="description" content="Stndard number processing">
<meta name="keywords" content="Standard number, Java">
<meta name="author" content="Jörg Prante">
<title>Standard numbers for Java</title>
<style>
/*! normalize.css v2.1.2 | MIT License | git.io/normalize */
/* ========================================================================== HTML5 display definitions ========================================================================== */
/** Correct `block` display not defined in IE 8/9. */
article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; }
/** Correct `inline-block` display not defined in IE 8/9. */
audio, canvas, video { display: inline-block; }
/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */
audio:not([controls]) { display: none; height: 0; }
/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */
[hidden], template { display: none; }
script { display: none !important; }
/* ========================================================================== Base ========================================================================== */
/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */
html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ }
/** Remove default margin. */
body { margin: 0; }
/* ========================================================================== Links ========================================================================== */
/** Remove the gray background color from active links in IE 10. */
a { background: transparent; }
/** Address `outline` inconsistency between Chrome and other browsers. */
a:focus { outline: thin dotted; }
/** Improve readability when focused and also mouse hovered in all browsers. */
a:active, a:hover { outline: 0; }
/* ========================================================================== Typography ========================================================================== */
/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */
h1 { font-size: 2em; margin: 0.67em 0; }
/** Address styling not present in IE 8/9, Safari 5, and Chrome. */
abbr[title] { border-bottom: 1px dotted; }
/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */
b, strong { font-weight: bold; }
/** Address styling not present in Safari 5 and Chrome. */
dfn { font-style: italic; }
/** Address differences between Firefox and other browsers. */
hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; }
/** Address styling not present in IE 8/9. */
mark { background: #ff0; color: #000; }
/** Correct font family set oddly in Safari 5 and Chrome. */
code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; }
/** Improve readability of pre-formatted text in all browsers. */
pre { white-space: pre-wrap; }
/** Set consistent quote types. */
q { quotes: "\201C" "\201D" "\2018" "\2019"; }
/** Address inconsistent and variable font size in all browsers. */
small { font-size: 80%; }
/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sup { top: -0.5em; }
sub { bottom: -0.25em; }
/* ========================================================================== Embedded content ========================================================================== */
/** Remove border when inside `a` element in IE 8/9. */
img { border: 0; }
/** Correct overflow displayed oddly in IE 9. */
svg:not(:root) { overflow: hidden; }
/* ========================================================================== Figures ========================================================================== */
/** Address margin not present in IE 8/9 and Safari 5. */
figure { margin: 0; }
/* ========================================================================== Forms ========================================================================== */
/** Define consistent border, margin, and padding. */
fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; }
/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */
legend { border: 0; /* 1 */ padding: 0; /* 2 */ }
/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */
button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ }
/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */
button, input { line-height: normal; }
/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */
button, select { text-transform: none; }
/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */
button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ }
/** Re-set default cursor for disabled elements. */
button[disabled], html input[disabled] { cursor: default; }
/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */
input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ }
/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */
input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; }
/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */
input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
/** Remove inner padding and border in Firefox 4+. */
button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */
textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ }
/* ========================================================================== Tables ========================================================================== */
/** Remove most spacing between table cells. */
table { border-collapse: collapse; border-spacing: 0; }
meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; }
meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; }
meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; }
*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }
html, body { font-size: 100%; }
body { background: white; color: #222222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; }
a:hover { cursor: pointer; }
img, object, embed { max-width: 100%; height: auto; }
object, embed { height: 100%; }
img { -ms-interpolation-mode: bicubic; }
#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; }
.left { float: left !important; }
.right { float: right !important; }
.text-left { text-align: left !important; }
.text-right { text-align: right !important; }
.text-center { text-align: center !important; }
.text-justify { text-align: justify !important; }
.hide { display: none; }
.antialiased { -webkit-font-smoothing: antialiased; }
img { display: inline-block; vertical-align: middle; }
textarea { height: auto; min-height: 50px; }
select { width: 100%; }
object, svg { display: inline-block; vertical-align: middle; }
.center { margin-left: auto; margin-right: auto; }
.spread { width: 100%; }
p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; }
.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: #6f6f6f; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; }
/* Typography resets */
div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; }
/* Default Link Styles */
a { color: #2ba6cb; text-decoration: none; line-height: inherit; }
a:hover, a:focus { color: #2795b6; }
a img { border: none; }
/* Default paragraph styles */
p { font-family: inherit; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 1.25em; text-rendering: optimizeLegibility; }
p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; }
/* Default header styles */
h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: bold; font-style: normal; color: #222222; text-rendering: optimizeLegibility; margin-top: 1em; margin-bottom: 0.5em; line-height: 1.2125em; }
h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #6f6f6f; line-height: 0; }
h1 { font-size: 2.125em; }
h2 { font-size: 1.6875em; }
h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; }
h4 { font-size: 1.125em; }
h5 { font-size: 1.125em; }
h6 { font-size: 1em; }
hr { border: solid #dddddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; }
/* Helpful Typography Defaults */
em, i { font-style: italic; line-height: inherit; }
strong, b { font-weight: bold; line-height: inherit; }
small { font-size: 60%; line-height: inherit; }
code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: bold; color: #7f0a0c; }
/* Lists */
ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 1.25em; list-style-position: outside; font-family: inherit; }
ul, ol { margin-left: 1.5em; }
ul.no-bullet, ol.no-bullet { margin-left: 1.5em; }
/* Unordered Lists */
ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ }
ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; }
ul.square { list-style-type: square; }
ul.circle { list-style-type: circle; }
ul.disc { list-style-type: disc; }
ul.no-bullet { list-style: none; }
/* Ordered Lists */
ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; }
/* Definition Lists */
dl dt { margin-bottom: 0.3125em; font-weight: bold; }
dl dd { margin-bottom: 1.25em; }
/* Abbreviations */
abbr, acronym { text-transform: uppercase; font-size: 90%; color: #222222; border-bottom: 1px dotted #dddddd; cursor: help; }
abbr { text-transform: none; }
/* Blockquotes */
blockquote { margin: 0 0 1.25em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #dddddd; }
blockquote cite { display: block; font-size: 0.8125em; color: #555555; }
blockquote cite:before { content: "\2014 \0020"; }
blockquote cite a, blockquote cite a:visited { color: #555555; }
blockquote, blockquote p { line-height: 1.6; color: #6f6f6f; }
/* Microformats */
.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #dddddd; padding: 0.625em 0.75em; }
.vcard li { margin: 0; display: block; }
.vcard .fn { font-weight: bold; font-size: 0.9375em; }
.vevent .summary { font-weight: bold; }
.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; }
@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; }
h1 { font-size: 2.75em; }
h2 { font-size: 2.3125em; }
h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; }
h4 { font-size: 1.4375em; } }
/* Tables */
table { background: white; margin-bottom: 1.25em; border: solid 1px #dddddd; }
table thead, table tfoot { background: whitesmoke; font-weight: bold; }
table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222222; text-align: left; }
table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #222222; }
table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f9f9f9; }
table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; }
body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; }
h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; }
.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; }
.clearfix:after, .float-group:after { clear: both; }
*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; line-height: inherit; word-wrap: break-word; }
*:not(pre) > code.nobreak { word-wrap: normal; }
*:not(pre) > code.nowrap { white-space: nowrap; }
pre, pre > code { line-height: 1.4; color: black; font-family: monospace, serif; font-weight: normal; }
em em { font-style: normal; }
strong strong { font-weight: normal; }
.keyseq { color: #555555; }
kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: #222222; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; }
.keyseq kbd:first-child { margin-left: 0; }
.keyseq kbd:last-child { margin-right: 0; }
.menuseq, .menu { color: #090909; }
b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; }
b.button:before { content: "["; padding: 0 3px 0 2px; }
b.button:after { content: "]"; padding: 0 2px 0 3px; }
#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 0.9375em; padding-right: 0.9375em; }
#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; }
#header:after, #content:after, #footnotes:after, #footer:after { clear: both; }
#content { margin-top: 1.25em; }
#content:before { content: none; }
#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; }
#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #dddddd; }
#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #dddddd; padding-bottom: 8px; }
#header .details { border-bottom: 1px solid #dddddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #555555; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; }
#header .details span:first-child { margin-left: -0.125em; }
#header .details span.email a { color: #6f6f6f; }
#header .details br { display: none; }
#header .details br + span:before { content: "\00a0\2013\00a0"; }
#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #6f6f6f; }
#header .details br + span#revremark:before { content: "\00a0|\00a0"; }
#header #revnumber { text-transform: capitalize; }
#header #revnumber:after { content: "\00a0"; }
#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #dddddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; }
#toc { border-bottom: 1px solid #dddddd; padding-bottom: 0.5em; }
#toc > ul { margin-left: 0.125em; }
#toc ul.sectlevel0 > li > a { font-style: italic; }
#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; }
#toc ul { font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; list-style-type: none; }
#toc li { line-height: 1.3334; margin-top: 0.3334em; }
#toc a { text-decoration: none; }
#toc a:active { text-decoration: underline; }
#toctitle { color: #6f6f6f; font-size: 1.2em; }
@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; }
body.toc2 { padding-left: 15em; padding-right: 0; }
#toc.toc2 { margin-top: 0 !important; background-color: #f2f2f2; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #dddddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; }
#toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; }
#toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; }
#toc.toc2 ul ul { margin-left: 0; padding-left: 1em; }
#toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; }
body.toc2.toc-right { padding-left: 0; padding-right: 15em; }
body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #dddddd; left: auto; right: 0; } }
@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; }
#toc.toc2 { width: 20em; }
#toc.toc2 #toctitle { font-size: 1.375em; }
#toc.toc2 > ul { font-size: 0.95em; }
#toc.toc2 ul ul { padding-left: 1.25em; }
body.toc2.toc-right { padding-left: 0; padding-right: 20em; } }
#content #toc { border-style: solid; border-width: 1px; border-color: #d9d9d9; margin-bottom: 1.25em; padding: 1.25em; background: #f2f2f2; -webkit-border-radius: 0; border-radius: 0; }
#content #toc > :first-child { margin-top: 0; }
#content #toc > :last-child { margin-bottom: 0; }
#footer { max-width: 100%; background-color: #222222; padding: 1.25em; }
#footer-text { color: #dddddd; line-height: 1.44; }
.sect1 { padding-bottom: 0.625em; }
@media only screen and (min-width: 768px) { .sect1 { padding-bottom: 1.25em; } }
.sect1 + .sect1 { border-top: 1px solid #dddddd; }
#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; }
#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; }
#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; }
#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: #222222; text-decoration: none; }
#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: #151515; }
.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; }
.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; }
table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; }
.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; }
table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; }
.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; }
.admonitionblock > table td.icon { text-align: center; width: 80px; }
.admonitionblock > table td.icon img { max-width: initial; }
.admonitionblock > table td.icon .title { font-weight: bold; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; text-transform: uppercase; }
.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #dddddd; color: #555555; }
.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; }
.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: white; -webkit-border-radius: 0; border-radius: 0; }
.exampleblock > .content > :first-child { margin-top: 0; }
.exampleblock > .content > :last-child { margin-bottom: 0; }
.sidebarblock { border-style: solid; border-width: 1px; border-color: #d9d9d9; margin-bottom: 1.25em; padding: 1.25em; background: #f2f2f2; -webkit-border-radius: 0; border-radius: 0; }
.sidebarblock > :first-child { margin-top: 0; }
.sidebarblock > :last-child { margin-bottom: 0; }
.sidebarblock > .content > .title { color: #6f6f6f; margin-top: 0; }
.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; }
.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eeeeee; }
.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; }
.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px solid #cccccc; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 0.8em 0.8em 0.65em 0.8em; font-size: 0.8125em; }
.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; }
@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } }
@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } }
.literalblock.output pre { color: #eeeeee; background-color: black; }
.listingblock pre.highlightjs { padding: 0; }
.listingblock pre.highlightjs > code { padding: 0.8em 0.8em 0.65em 0.8em; -webkit-border-radius: 0; border-radius: 0; }
.listingblock > .content { position: relative; }
.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; }
.listingblock:hover code[data-lang]:before { display: block; }
.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; }
.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; }
table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; }
table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.4; }
table.pyhltable td.code { padding-left: .75em; padding-right: 0; }
pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #dddddd; }
pre.pygments .lineno { display: inline-block; margin-right: .25em; }
table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; }
.quoteblock { margin: 0 1em 1.25em 1.5em; display: table; }
.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; }
.quoteblock blockquote, .quoteblock blockquote p { color: #6f6f6f; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; }
.quoteblock blockquote { margin: 0; padding: 0; border: 0; }
.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: #6f6f6f; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); }
.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; }
.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; }
.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #555555; }
.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; }
.quoteblock .quoteblock blockquote:before { display: none; }
.verseblock { margin: 0 1em 1.25em 1em; }
.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #6f6f6f; font-weight: 300; text-rendering: optimizeLegibility; }
.verseblock pre strong { font-weight: 400; }
.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; }
.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; }
.quoteblock .attribution br, .verseblock .attribution br { display: none; }
.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #555555; }
.quoteblock.abstract { margin: 0 0 1.25em 0; display: block; }
.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; }
.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; }
table.tableblock { max-width: 100%; border-collapse: separate; }
table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; }
table.tableblock, th.tableblock, td.tableblock { border: 0 solid #dddddd; }
table.grid-all th.tableblock, table.grid-all td.tableblock { border-width: 0 1px 1px 0; }
table.grid-all tfoot > tr > th.tableblock, table.grid-all tfoot > tr > td.tableblock { border-width: 1px 1px 0 0; }
table.grid-cols th.tableblock, table.grid-cols td.tableblock { border-width: 0 1px 0 0; }
table.grid-all * > tr > .tableblock:last-child, table.grid-cols * > tr > .tableblock:last-child { border-right-width: 0; }
table.grid-rows th.tableblock, table.grid-rows td.tableblock { border-width: 0 0 1px 0; }
table.grid-all tbody > tr:last-child > th.tableblock, table.grid-all tbody > tr:last-child > td.tableblock, table.grid-all thead:last-child > tr > th.tableblock, table.grid-rows tbody > tr:last-child > th.tableblock, table.grid-rows tbody > tr:last-child > td.tableblock, table.grid-rows thead:last-child > tr > th.tableblock { border-bottom-width: 0; }
table.grid-rows tfoot > tr > th.tableblock, table.grid-rows tfoot > tr > td.tableblock { border-width: 1px 0 0 0; }
table.frame-all { border-width: 1px; }
table.frame-sides { border-width: 0 1px; }
table.frame-topbot { border-width: 1px 0; }
th.halign-left, td.halign-left { text-align: left; }
th.halign-right, td.halign-right { text-align: right; }
th.halign-center, td.halign-center { text-align: center; }
th.valign-top, td.valign-top { vertical-align: top; }
th.valign-bottom, td.valign-bottom { vertical-align: bottom; }
th.valign-middle, td.valign-middle { vertical-align: middle; }
table thead th, table tfoot th { font-weight: bold; }
tbody tr th { display: table-cell; line-height: 1.4; background: whitesmoke; }
tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222222; font-weight: bold; }
p.tableblock > code:only-child { background: none; padding: 0; }
p.tableblock { font-size: 1em; }
td > div.verse { white-space: pre; }
ol { margin-left: 1.75em; }
ul li ol { margin-left: 1.5em; }
dl dd { margin-left: 1.125em; }
dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; }
ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.625em; }
ul.unstyled, ol.unnumbered, ul.checklist, ul.none { list-style-type: none; }
ul.unstyled, ol.unnumbered, ul.checklist { margin-left: 0.625em; }
ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1em; font-size: 0.85em; }
ul.checklist li > p:first-child > input[type="checkbox"]:first-child { width: 1em; position: relative; top: 1px; }
ul.inline { margin: 0 auto 0.625em auto; margin-left: -1.375em; margin-right: 0; padding: 0; list-style: none; overflow: hidden; }
ul.inline > li { list-style: none; float: left; margin-left: 1.375em; display: block; }
ul.inline > li > * { display: block; }
.unstyled dl dt { font-weight: normal; font-style: normal; }
ol.arabic { list-style-type: decimal; }
ol.decimal { list-style-type: decimal-leading-zero; }
ol.loweralpha { list-style-type: lower-alpha; }
ol.upperalpha { list-style-type: upper-alpha; }
ol.lowerroman { list-style-type: lower-roman; }
ol.upperroman { list-style-type: upper-roman; }
ol.lowergreek { list-style-type: lower-greek; }
.hdlist > table, .colist > table { border: 0; background: none; }
.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; }
td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; }
td.hdlist1 { font-weight: bold; padding-bottom: 1.25em; }
.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; }
.colist > table tr > td:first-of-type { padding: 0 0.75em; line-height: 1; }
.colist > table tr > td:first-of-type img { max-width: initial; }
.colist > table tr > td:last-of-type { padding: 0.25em 0; }
.thumb, .th { line-height: 0; display: inline-block; border: solid 4px white; -webkit-box-shadow: 0 0 0 1px #dddddd; box-shadow: 0 0 0 1px #dddddd; }
.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; }
.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; }
.imageblock > .title { margin-bottom: 0; }
.imageblock.thumb, .imageblock.th { border-width: 6px; }
.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; }
.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; }
.image.left { margin-right: 0.625em; }
.image.right { margin-left: 0.625em; }
a.image { text-decoration: none; display: inline-block; }
a.image object { pointer-events: none; }
sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; }
sup.footnote a, sup.footnoteref a { text-decoration: none; }
sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; }
#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; }
#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; }
#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; text-indent: -1.05em; margin-bottom: 0.2em; }
#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; }
#footnotes .footnote:last-of-type { margin-bottom: 0; }
#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; }
.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; }
.gist .file-data > table td.line-data { width: 99%; }
div.unbreakable { page-break-inside: avoid; }
.big { font-size: larger; }
.small { font-size: smaller; }
.underline { text-decoration: underline; }
.overline { text-decoration: overline; }
.line-through { text-decoration: line-through; }
.aqua { color: #00bfbf; }
.aqua-background { background-color: #00fafa; }
.black { color: black; }
.black-background { background-color: black; }
.blue { color: #0000bf; }
.blue-background { background-color: #0000fa; }
.fuchsia { color: #bf00bf; }
.fuchsia-background { background-color: #fa00fa; }
.gray { color: #606060; }
.gray-background { background-color: #7d7d7d; }
.green { color: #006000; }
.green-background { background-color: #007d00; }
.lime { color: #00bf00; }
.lime-background { background-color: #00fa00; }
.maroon { color: #600000; }
.maroon-background { background-color: #7d0000; }
.navy { color: #000060; }
.navy-background { background-color: #00007d; }
.olive { color: #606000; }
.olive-background { background-color: #7d7d00; }
.purple { color: #600060; }
.purple-background { background-color: #7d007d; }
.red { color: #bf0000; }
.red-background { background-color: #fa0000; }
.silver { color: #909090; }
.silver-background { background-color: #bcbcbc; }
.teal { color: #006060; }
.teal-background { background-color: #007d7d; }
.white { color: #bfbfbf; }
.white-background { background-color: #fafafa; }
.yellow { color: #bfbf00; }
.yellow-background { background-color: #fafa00; }
span.icon > .fa { cursor: default; }
.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; }
.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #207c98; }
.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; }
.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; }
.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; }
.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; }
.conum[data-value] { display: inline-block; color: #fff !important; background-color: #222222; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; }
.conum[data-value] * { color: #fff !important; }
.conum[data-value] + b { display: none; }
.conum[data-value]:after { content: attr(data-value); }
pre .conum[data-value] { position: relative; top: -0.125em; }
b.conum * { color: inherit !important; }
.conum:not([data-value]):empty { display: none; }
.literalblock pre, .listingblock pre { background: #eeeeee; }
</style>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.5.0/css/font-awesome.min.css">
<style>
/* Stylesheet for CodeRay to match GitHub theme | MIT License | http://foundation.zurb.com */
/*pre.CodeRay {background-color:#f7f7f8;}*/
.CodeRay .line-numbers{border-right:1px solid #d8d8d8;padding:0 0.5em 0 .25em}
.CodeRay span.line-numbers{display:inline-block;margin-right:.5em;color:rgba(0,0,0,.3)}
.CodeRay .line-numbers strong{color:rgba(0,0,0,.4)}
table.CodeRay{border-collapse:separate;border-spacing:0;margin-bottom:0;border:0;background:none}
table.CodeRay td{vertical-align: top;line-height:1.45}
table.CodeRay td.line-numbers{text-align:right}
table.CodeRay td.line-numbers>pre{padding:0;color:rgba(0,0,0,.3)}
table.CodeRay td.code{padding:0 0 0 .5em}
table.CodeRay td.code>pre{padding:0}
.CodeRay .debug{color:#fff !important;background:#000080 !important}
.CodeRay .annotation{color:#007}
.CodeRay .attribute-name{color:#000080}
.CodeRay .attribute-value{color:#700}
.CodeRay .binary{color:#509}
.CodeRay .comment{color:#998;font-style:italic}
.CodeRay .char{color:#04d}
.CodeRay .char .content{color:#04d}
.CodeRay .char .delimiter{color:#039}
.CodeRay .class{color:#458;font-weight:bold}
.CodeRay .complex{color:#a08}
.CodeRay .constant,.CodeRay .predefined-constant{color:#008080}
.CodeRay .color{color:#099}
.CodeRay .class-variable{color:#369}
.CodeRay .decorator{color:#b0b}
.CodeRay .definition{color:#099}
.CodeRay .delimiter{color:#000}
.CodeRay .doc{color:#970}
.CodeRay .doctype{color:#34b}
.CodeRay .doc-string{color:#d42}
.CodeRay .escape{color:#666}
.CodeRay .entity{color:#800}
.CodeRay .error{color:#808}
.CodeRay .exception{color:inherit}
.CodeRay .filename{color:#099}
.CodeRay .function{color:#900;font-weight:bold}
.CodeRay .global-variable{color:#008080}
.CodeRay .hex{color:#058}
.CodeRay .integer,.CodeRay .float{color:#099}
.CodeRay .include{color:#555}
.CodeRay .inline{color:#000}
.CodeRay .inline .inline{background:#ccc}
.CodeRay .inline .inline .inline{background:#bbb}
.CodeRay .inline .inline-delimiter{color:#d14}
.CodeRay .inline-delimiter{color:#d14}
.CodeRay .important{color:#555;font-weight:bold}
.CodeRay .interpreted{color:#b2b}
.CodeRay .instance-variable{color:#008080}
.CodeRay .label{color:#970}
.CodeRay .local-variable{color:#963}
.CodeRay .octal{color:#40e}
.CodeRay .predefined{color:#369}
.CodeRay .preprocessor{color:#579}
.CodeRay .pseudo-class{color:#555}
.CodeRay .directive{font-weight:bold}
.CodeRay .type{font-weight:bold}
.CodeRay .predefined-type{color:inherit}
.CodeRay .reserved,.CodeRay .keyword {color:#000;font-weight:bold}
.CodeRay .key{color:#808}
.CodeRay .key .delimiter{color:#606}
.CodeRay .key .char{color:#80f}
.CodeRay .value{color:#088}
.CodeRay .regexp .delimiter{color:#808}
.CodeRay .regexp .content{color:#808}
.CodeRay .regexp .modifier{color:#808}
.CodeRay .regexp .char{color:#d14}
.CodeRay .regexp .function{color:#404;font-weight:bold}
.CodeRay .string{color:#d20}
.CodeRay .string .string .string{background:#ffd0d0}
.CodeRay .string .content{color:#d14}
.CodeRay .string .char{color:#d14}
.CodeRay .string .delimiter{color:#d14}
.CodeRay .shell{color:#d14}
.CodeRay .shell .delimiter{color:#d14}
.CodeRay .symbol{color:#990073}
.CodeRay .symbol .content{color:#a60}
.CodeRay .symbol .delimiter{color:#630}
.CodeRay .tag{color:#008080}
.CodeRay .tag-special{color:#d70}
.CodeRay .variable{color:#036}
.CodeRay .insert{background:#afa}
.CodeRay .delete{background:#faa}
.CodeRay .change{color:#aaf;background:#007}
.CodeRay .head{color:#f8f;background:#505}
.CodeRay .insert .insert{color:#080}
.CodeRay .delete .delete{color:#800}
.CodeRay .change .change{color:#66f}
.CodeRay .head .head{color:#f4f}
</style>
</head>
<body class="article">
<div id="header">
<h1>Standard numbers for Java</h1>
<div class="details">
<span id="author" class="author">Jörg Prante</span><br>
<span id="revdate">Version 1.0</span>
</div>
<div id="toc" class="toc">
<div id="toctitle"></div>
<ul class="sectlevel1">
<li><a href="#what-are-standard-numbers">1. What are standard numbers?</a></li>
<li><a href="#ark-archival-resource-key">2. ARK - Archival Resource Key</a></li>
<li><a href="#doi-digital-object-identifier-system-iso-26324-z39-50-bib-1-use-attribute-1094">3. DOI - Digital Object Identifier System (ISO 26324, Z39.50 BIB-1 Use Attribute 1094)</a></li>
<li><a href="#ean">4. EAN</a></li>
<li><a href="#gtin-global-trade-item-number">5. GTIN - Global Trade Item Number</a></li>
<li><a href="#iban-iso-13616-international-bank-account-number-iban">6. IBAN ISO 13616 International Bank Account Number (IBAN)</a></li>
<li><a href="#isan-iso-15706-international-standard-audiovisual-number">7. ISAN - ISO 15706 International Standard Audiovisual Number</a></li>
<li><a href="#isbn-international-standard-book-number-iso-2108-z39-50-bib-1-use-attribute-7">8. ISBN - International Standard Book Number (ISO 2108, Z39.50 BIB-1 Use Attribute 7)</a></li>
<li><a href="#ismn-international-standard-music-number-iso-10957-z39-50-bib-1-use-attribute-1092">9. ISMN - International Standard Music Number (ISO 10957, Z39.50 BIB-1 Use Attribute 1092)</a></li>
<li><a href="#isni-international-standard-name-identifier-iso-27729">10. ISNI - International Standard Name Identifier (ISO 27729)</a></li>
<li><a href="#issn-international-standard-serial-number-iso-3297-z39-50-bib-1-use-attribute-8">11. ISSN - International Standard Serial Number (ISO 3297, Z39.50 BIB-1 Use Attribute 8)</a></li>
<li><a href="#istc-international-standard-text-code-iso-21047">12. ISTC - International Standard Text Code (ISO 21047)</a></li>
<li><a href="#iswc-international-standard-musical-work-code-iso-15707">13. ISWC - International Standard Musical Work Code (ISO 15707)</a></li>
<li><a href="#orcid-open-researcher-and-contributor-id">14. ORCID - Open Researcher and Contributor ID</a></li>
<li><a href="#ppn-pica-productie-nummer">15. PPN - Pica Productie Nummer</a></li>
<li><a href="#sicii-serial-item-and-contribution-identifier-z39-56">16. SICII - Serial Item and Contribution Identifier (Z39.56)</a></li>
<li><a href="#upc-universal-product-code-iso-15420">17. UPC - Universal Product Code (ISO 15420)</a></li>
<li><a href="#zdb-zeitschriftendatenbank-id">18. ZDB - Zeitschriftendatenbank-ID</a></li>
<li><a href="#javadoc">19. Javadoc</a></li>
<li><a href="#gradle-test-report">20. Gradle test report</a></li>
</ul>
</div>
</div>
<div id="content">
<div class="sect1">
<h2 id="what-are-standard-numbers">1. What are standard numbers?</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Standard numbers are numbers that have a defined syntax, drafted and maintained by
standard bodies, and embraced by organizations worldwide.
Standard numbers are considered to be unique.
They are assigned by the standard body or can be constructed in a specified manner to ensure uniqueness.
They can be checked for validity and most of them carry checksums.</p>
</div>
<div class="paragraph">
<p>The economic advantages of standard numbers are manifold</p>
</div>
<div class="ulist">
<ul>
<li>
<p>they are compact</p>
</li>
<li>
<p>they identify things or entities</p>
</li>
<li>
<p>they can be printed, recognized, and compared for identification</p>
</li>
<li>
<p>they can be processed by computers, for instance as a key in a database</p>
</li>
<li>
<p>they are globally available</p>
</li>
<li>
<p>they persist</p>
</li>
</ul>
</div>
<div class="paragraph">
<p>The Java API for standard numbers provides</p>
</div>
<div class="ulist">
<ul>
<li>
<p>a parser for standard numbers</p>
</li>
<li>
<p>a formatter for standard numbers</p>
</li>
<li>
<p>a checksum calculator</p>
</li>
<li>
<p>and a validator for standard numbers</p>
</li>
</ul>
</div>
<div class="paragraph">
<p>The following standard numbers are implemented</p>
</div>
<div class="paragraph">
<p>ARK, DOI, EAN, GTIN, IBAN, ISAN, ISBN, ISMN, ISNI, ISSN, ISTC, ISWC, ORCID, PPN, SICI, UPC, ZDB</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="ark-archival-resource-key">2. ARK - Archival Resource Key</h2>
<div class="sectionbody">
<div class="paragraph">
<p>An ARK is a Uniform Resource Locator (URL) that is a multi-purpose identifier
for information objects of any type. An ARK contains the label ark: after the
hostname, an URL request terminated by '?' returns a brief metadata record,
and an URL request terminated by '??' returns metadata that includes a commitment
statement from the current service provider.</p>
</div>
<div class="paragraph">
<p>The ARK and its inflections ('?' and '??') gain access to three facets of a
provider&#8217;s ability to provide persistence.</p>
</div>
<div class="paragraph">
<p>Implicit in the design of the ARK scheme is that persistence is purely a matter
of service and not a property of a naming syntax.</p>
</div>
<div class="paragraph">
<p>See <a href="http://tools.ietf.org/html/draft-kunze-ark-18" target="_blank">ARK IETF RFC</a>,
<a href="http://www.cdlib.org/services/uc3/docs/jak_ARKs_Berlin_2012.pdf" target="_blank">10 years ARK</a></p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="doi-digital-object-identifier-system-iso-26324-z39-50-bib-1-use-attribute-1094">3. DOI - Digital Object Identifier System (ISO 26324, Z39.50 BIB-1 Use Attribute 1094)</h2>
<div class="sectionbody">
<div class="paragraph">
<p>DOI is an acronym for "digital object identifier", meaning a "digital identifier of an object"
rather than an "identifier of a digital object". The DOI system was initiated by the
International DOI Foundation in 1998, and initially developed with the collaboration
of some participants in ISO/TC46/SC9. Due to its application in the fields of
information and documentation and previous collaboration with some ISO/TC46/SC9 participants,
it was introduced as a possible work item in 2004 and further developed from 2006 to 2010.</p>
</div>
<div class="paragraph">
<p>The DOI system is designed to work over the Internet. A DOI name is permanently assigned
to an object to provide a resolvable persistent network link to current information about
that object, including where the object, or information about it, can be found on the
Internet. While information about an object can change over time, its DOI name will not
change. A DOI name can be resolved within the DOI system to values of one or more types
of data relating to the object identified by that DOI name, such as a URL, an e-mail address,
other identifiers and descriptive metadata.</p>
</div>
<div class="paragraph">
<p>The DOI system enables the construction of automated services and transactions.
Applications of the DOI system include but are not limited to managing information
and documentation location and access; managing metadata; facilitating electronic
transactions; persistent unique identification of any form of any data; and commercial
and non-commercial transactions.</p>
</div>
<div class="paragraph">
<p>The content of an object associated with a DOI name is described unambiguously
by DOI metadata, based on a structured extensible data model that enables the object
to be associated with metadata of any desired degree of precision and granularity
to support description and services. The data model supports interoperability
between DOI applications.</p>
</div>
<div class="paragraph">
<p>The scope of the DOI system is not defined by reference to the type of content
(format, etc.) of the referent, but by reference to the functionalities it provides
and the context of use. The DOI system provides, within networks of DOI applications,
for unique identification, persistence, resolution, metadata and semantic interoperability.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="ean">4. EAN</h2>
<div class="sectionbody">
<div class="paragraph">
<p>European Article Number is a 13-digit barcoding standard for marking products
sold at retail point of sale.</p>
</div>
<div class="paragraph">
<p>Numbers encoded in UPC and EAN barcodes are known as
Global Trade Item Numbers (GTIN).</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="gtin-global-trade-item-number">5. GTIN - Global Trade Item Number</h2>
<div class="sectionbody">
<div class="paragraph">
<p>GTIN describes a family of GS1 (EAN.UCC) global data structures that employ
14 digits and can be encoded into various types of data carriers.</p>
</div>
<div class="paragraph">
<p>Currently, GTIN is used exclusively within bar codes, but it could also be used
in other data carriers such as radio frequency identification (RFID).
The GTIN is only a term and does not impact any existing standards, nor does
it place any additional requirements on scanning hardware.</p>
</div>
<div class="paragraph">
<p>For North American companies, the UPC is an existing form of the GTIN.</p>
</div>
<div class="paragraph">
<p>Since 2005, EAN International and American UCC merged to GS1 and also
EAN and UPC is now named GTIN.</p>
</div>
<div class="paragraph">
<p>The EAN/UCC-13 code is now officially called GTIN-13 (Global Trade Identifier Number).
Former 12-digit UPC codes can be converted into EAN/UCC-13 code by simply
adding a preceeding zero.</p>
</div>
<div class="paragraph">
<p>As of January 1, 2007, the former ISBN numbers have been integrated into
the EAN/UCC-13 code. For each old ISBN-10 code, there exists a proper translation
into EAN/UCC-13 by adding "978" as prefix.</p>
</div>
<div class="paragraph">
<p>The family of data structures comprising GTIN include</p>
</div>
<div class="ulist">
<ul>
<li>
<p>GTIN-8 (EAN/UCC-8): this is an 8-digit number</p>
</li>
<li>
<p>GTIN-12 (UPC-A): this is a 12-digit number</p>
</li>
<li>
<p>GTIN-13 (EAN/UCC-13): this is a 13-digit number</p>
</li>
<li>
<p>GTIN-14 (EAN/UCC-14 or ITF-14): this is a 14-digit number</p>
</li>
</ul>
</div>
<div class="paragraph">
<p>See <a href="http://www.gtin.info/" target="_blank">GTIN info</a></p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="iban-iso-13616-international-bank-account-number-iban">6. IBAN ISO 13616 International Bank Account Number (IBAN)</h2>
<div class="sectionbody">
<div class="paragraph">
<p>The International Bank Account Number (IBAN) is an internationally agreed means of
identifying bank accounts across national borders with a reduced risk of transcription
errors. It was originally adopted by the European Committee for Banking Standards (ECBS)
and later as an international standard under ISO 13616:1997. The current standard
is ISO 13616:2007, which indicates SWIFT as the formal registrar.</p>
</div>
<div class="paragraph">
<p>Checksum calculation is in accordance to ISO 7064 MOD-97.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="isan-iso-15706-international-standard-audiovisual-number">7. ISAN - ISO 15706 International Standard Audiovisual Number</h2>
<div class="sectionbody">
<div class="paragraph">
<p>The International Standard Audiovisual Number (ISAN) is a unique identifier for
audiovisual works and related versions, similar to ISBN for books.</p>
</div>
<div class="paragraph">
<p>It was developed within an ISO (International Organisation for Standardisation) TC46/SC9
working group. ISAN is managed and run by ISAN-IA.</p>
</div>
<div class="paragraph">
<p>The ISAN standard (ISO standard 15706:2002 and ISO 15706-2) is recommended or required
as the audiovisual identifier of choice for producers, studios, broadcasters,
Internet media providers and video games publishers who need to encode, track, and
distribute video in a variety of formats.</p>
</div>
<div class="paragraph">
<p>It provides a unique, internationally recognized and permanent reference number for each
audiovisual work and related versions registered in the ISAN system.</p>
</div>
<div class="paragraph">
<p>ISAN identifies works throughout their entire life cycle from conception, to production,
to distribution and consumption.</p>
</div>
<div class="paragraph">
<p>ISANs can be incorporated in both digital and physical media, such as theatrical
release prints, DVDs, publications, advertising, marketing materials and packaging,
as well as licensing contracts to uniquely identify works.</p>
</div>
<div class="paragraph">
<p>The ISAN identifier is incorporated in many draft and final standards such as
AACS, DCI, MPEG, DVB, and ATSC.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="isbn-international-standard-book-number-iso-2108-z39-50-bib-1-use-attribute-7">8. ISBN - International Standard Book Number (ISO 2108, Z39.50 BIB-1 Use Attribute 7)</h2>
<div class="sectionbody">
<div class="paragraph">
<p>The International Standard Book Number is a 13-digit number
that uniquely identifies books and book-like products published
internationally.</p>
</div>
<div class="paragraph">
<p>The purpose of the ISBN is to establish and identify one title or
edition of a title from one specific publisher
and is unique to that edition, allowing for more efficient marketing of products by booksellers,
libraries, universities, wholesalers and distributors.</p>
</div>
<div class="paragraph">
<p>Every ISBN consists of thirteen digits and whenever it is printed it is preceded by the letters ISBN.
The thirteen-digit number is divided into four parts of variable length, each part separated by a hyphen.</p>
</div>
<div class="paragraph">
<p>This class is based upon the ISBN converter and formatter class by
<a href="http://www.openly.com/">Openly Informatics, Inc.</a></p>
</div>
<div class="paragraph">
<p>See <a href="https://www.isbn-international.org/content/isbn-users-manual" target="_blank">The ISBN Users' Manual</a>,
<a href="https://www.ietf.org/proceedings/37/charters/urn-charter.html" target="_blank">The IETF URN Charter</a>,
<a href="http://www.iana.org/assignments/urn-namespaces" target="_blank">The IANA URN assignments</a>,
<a href="https://www.isbn-international.org/range_file_generation" target="_blank">ISBN prefix generation</a></p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="ismn-international-standard-music-number-iso-10957-z39-50-bib-1-use-attribute-1092">9. ISMN - International Standard Music Number (ISO 10957, Z39.50 BIB-1 Use Attribute 1092)</h2>
<div class="sectionbody">
<div class="paragraph">
<p>The International Standard Music Number (ISMN) is a thirteen-character alphanumeric identifier
for printed music developed by ISO. The original proposal for an ISMN was made by the
UK Branch of IAML (International Association of Music Libraries, Archives and Documentation
Centres).</p>
</div>
<div class="paragraph">
<p>The original format comprised four elements: a distinguishing prefix M, a publisher ID,
an item ID and a check digit, typically looking like M-2306-7118-7.</p>
</div>
<div class="paragraph">
<p>From 1 January 2008 the ISMN was defined as a thirteen digit identifier beginning 979-0 where
the zero replaced M in the old-style number. The resulting number is identical with its
EAN-13 number as encoded in the item&#8217;s barcode.</p>
</div>
<div class="paragraph">
<p>See <a href="http://www.ismn-international.org/download/Web_ISMN%20Manual_2008-3.pdf" target="_blank">ISMN Manual 2008</a></p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="isni-international-standard-name-identifier-iso-27729">10. ISNI - International Standard Name Identifier (ISO 27729)</h2>
<div class="sectionbody">
<div class="paragraph">
<p>The International Standard Name Identifier (ISNI) is a method for uniquely identifying
the public identities of contributors to media content such as books, TV programmes,
and newspaper articles. Such an identifier consists of 16 numerical digits divided
into four blocks.</p>
</div>
<div class="paragraph">
<p>Checksum calculation is in accordance to ISO/IEC 7064:2003, MOD 11-2.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="issn-international-standard-serial-number-iso-3297-z39-50-bib-1-use-attribute-8">11. ISSN - International Standard Serial Number (ISO 3297, Z39.50 BIB-1 Use Attribute 8)</h2>
<div class="sectionbody">
<div class="paragraph">
<p>The International Standard Serial Number (ISSN) is a unique
eight-digit number used to identify a print or electronic periodical
publication. The ISSN system was adopted as international standard
ISO 3297 in 1975. The ISO subcommittee TC 46/SC 9 is responsible
for the standard.</p>
</div>
<div class="paragraph">
<p>The ISSN (International Standard Serial Number) is an eight-digit number
which identifies periodical publications as such, including electronic
serials.</p>
</div>
<div class="paragraph">
<p>The ISSN is a numeric code which is used as an identifier: it has no
signification in itself and does not contain in itself any information
referring to the origin or contents of the publication.</p>
</div>
<div class="paragraph">
<p>The ISSN takes the form of the acronym ISSN followed by two groups
of four digits, separated by a hyphen. The eighth character is a
control digit calculated according to a modulo 11 algorithm on
the basis of the 7 preceding digits; this eighth control character
may be an "X" if the result of the computing is equal to "10",
in order to avoid any ambiguity.</p>
</div>
<div class="paragraph">
<p>The ISSN is linked to a standardized form of the title of the
identified serial, known as the "key title", which repeats
the title of the publication, qualifying it with additional elements
in order to distinguish it from other publications having identical
titles.</p>
</div>
<div class="paragraph">
<p>If the title of the publication changes in any significant way,
a new ISSN must be assigned in order to correspond to this new form
of title and avoid any confusion. A serial publication whose
title is modified several times in the course of its existence
will be assigned each time a new ISSN, thus allowing precise
identification of each form of the title : in fact it is then
considered that they are different publications even if there
is a logical link between them.</p>
</div>
<div class="paragraph">
<p>Contrary to other types of publications, the world of serial
publications is particularly changeable and complex :
the lifetime of a title may be extremely short; many publications
may be part of a complex set of relationships, etc.
These particularities themselves necessitated the introduction
of the ISSN.</p>
</div>
<div class="paragraph">
<p>See <a href="http://www.issn.org/2-22636-All-about-ISSN.php" target="_blank">All about ISSN</a>:</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="istc-international-standard-text-code-iso-21047">12. ISTC - International Standard Text Code (ISO 21047)</h2>
<div class="sectionbody">
<div class="paragraph">
<p>The International Standard Text Code (ISTC) is a numbering system for the unique identification
of text-based works; the term “work” can refer to any content appearing in conventional
printed books, audio-books, static e-books or enhanced digital books, as well as content
which might appear in a newspaper or journal.</p>
</div>
<div class="paragraph">
<p>The ISTC provides sales analysis systems, retail websites, library catalogs and other
bibliographic systems with a method of automatically linking together publications
of the “same content” and/or “related content”, thus improving discoverability of
products and efficiencies.</p>
</div>
<div class="paragraph">
<p>An ISTC number is the link between a users search for a piece of content and the
ultimate sale or loan of a publication.</p>
</div>
<div class="paragraph">
<p>The standard was formally published in March 2009.</p>
</div>
<div class="paragraph">
<p>Checksum algorithm is ISO 7064 MOD 16/3.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="iswc-international-standard-musical-work-code-iso-15707">13. ISWC - International Standard Musical Work Code (ISO 15707)</h2>
<div class="sectionbody">
<div class="paragraph">
<p>International Standard Musical Work Code (ISWC) is a unique identifier for
musical works, similar to ISBN.</p>
</div>
<div class="paragraph">
<p>Its primary purpose is in collecting society administration, and to clearly identify works in
legal contracts. It would also be useful in library cataloging.</p>
</div>
<div class="paragraph">
<p>Due to the fact that a musical work can have multiple authors, it is inevitable that,
on rare occasions, a duplicate ISWC might exist and might not be detected immediately.</p>
</div>
<div class="paragraph">
<p>Because of the existing business practices among collecting societies, it is not possible
to simply declare an ISWC as obsolete. In such cases, as soon as they are identified,
the system will deal with duplicate registrations by linking such registration records
in the ISWC database.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="orcid-open-researcher-and-contributor-id">14. ORCID - Open Researcher and Contributor ID</h2>
<div class="sectionbody">
<div class="paragraph">
<p>ORCID is compatible to International Standard Name Identifier (ISNI, ISO 2772).</p>
</div>
<div class="paragraph">
<p>Checksum calculation is according to ISO/IEC 7064:2003, MOD 11-2.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="ppn-pica-productie-nummer">15. PPN - Pica Productie Nummer</h2>
<div class="sectionbody">
<div class="paragraph">
<p>A catalog record numbering system, uniquely identifying records, used by PICA
(Project voor geIntegreerde Catalogus Automatisering) integrated library systems.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="sicii-serial-item-and-contribution-identifier-z39-56">16. SICII - Serial Item and Contribution Identifier (Z39.56)</h2>
<div class="sectionbody">
<div class="paragraph">
<p>The SICI code (Serial Item and Contribution Identifier) is described in the
American standard ANSI/NISO Z39.56. The SICI code is known among
international scientific publishers and reproduction rights agencies.
The SICI even provides for the unambiguous identification of each article
or contribution published in a given issue of a serial publication.</p>
</div>
<div class="paragraph">
<p>The SICI contains</p>
</div>
<div class="ulist">
<ul>
<li>
<p>the ISSN</p>
</li>
<li>
<p>the date of publication, between brackets and formatted according to the
formula YYYYMM</p>
</li>
<li>
<p>the issue number</p>
</li>
<li>
<p>the version number of the standard, here 1, preceded by a semicolon</p>
</li>
<li>
<p>and lastly a hyphen which precedes the control character calculated
on the basis of all the preceding characters</p>
</li>
</ul>
</div>
<div class="paragraph">
<p>Example:</p>
</div>
0095-4403(199502/03)21:3&lt;12:WATIIB&gt;2.0.TX;2-J
</div>
</div>
<div class="sect1">
<h2 id="upc-universal-product-code-iso-15420">17. UPC - Universal Product Code (ISO 15420)</h2>
<div class="sectionbody">
<div class="paragraph">
<p>The Universal Product Code (UPC) is a barcode symbology (i.e., a specific type of barcode)
that is widely used in the United States, Canada, the United Kingdom, Australia,
New Zealand and in other countries for tracking trade items in stores.
Its most common form, the UPC-A, consists of 12 numerical digits, which are uniquely
assigned to each trade item.</p>
</div>
<div class="paragraph">
<p>Along with the related EAN barcode, the UPC is the barcode mainly used for scanning
of trade items at the point of sale, per GS1 specifications.</p>
</div>
<div class="paragraph">
<p>UPC data structures are a component of GTINs (Global Trade Item Numbers).</p>
</div>
<div class="paragraph">
<p>All of these data structures follow the global GS1 specification which bases on
international standards.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="zdb-zeitschriftendatenbank-id">18. ZDB - Zeitschriftendatenbank-ID</h2>
<div class="sectionbody">
<div class="paragraph">
<p>ZDB is the worlds largest specialized database for serial titles (journals, annuals, newspapers, also
e-journals).</p>
</div>
<div class="paragraph">
<p>See <a href="http://support.d-nb.de/iltis/onlineRoutinen/Pruefziffernberechnung.htm" target="_blank">Prüfziffernberechnung in ILTIS</a>,
<a href="https://wiki.dnb.de/pages/viewpage.action?pageId=48139522" target="_blank">DNB Wiki</a></p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="javadoc">19. Javadoc</h2>
<div class="sectionbody">
<div class="paragraph">
<p>The Javadoc can be found <a href="javadoc">here</a>.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="gradle-test-report">20. Gradle test report</h2>
<div class="sectionbody">
<div class="paragraph">
<p>The Gradle test report can be found <a href="test">here</a>.</p>
</div>
</div>
</div>
</div>
<div id="footer">
<div id="footer-text">
Last updated 2017-02-02 20:36:24 MEZ
</div>
</div>
</body>
</html>