Template:Isotopes/decay-mode/code/id-list/doc


 * /code/id-list


 * Isotopes


 * Isotopes/decay-mode/code/symbol-self-check

[Template]

codes defined, synonyms

 * For properties of codes (as opposed to: definition aka id of a code) see . For example symbol, en name, wikilink target, descriptions.


 * document-status: 

This is only a _derived_ list. For the actual *defining* list see in-code list in /id-list


 * /overview -- content list
 * /testcases: Isotopes/decay-mode/testcases -- data checks

create-link

 * Isotopes/decay-mode/property/create-link


 * yes
 * dm-symbol &rarr;
 * en-name &rarr;
 * qid &rarr;
 * en-link &rarr;
 * yes not tested

Isotopes/decay-mode/code

 * Isotopes/decay-mode/code/id-list -- actual definitons, synonyms, type
 * Isotopes/decay-mode/code/normalise
 * Isotopes/decay-mode/code/has-linkrequest
 * Isotopes/decay-mode/code/cleanup

self-test

 * Isotopes/decay-mode/code/symbol-self-check
 * dflt: when same, returns blank


 * to consider: add non-verified option

verify and test-unverified

 * code-in, type, test-unchecked-code


 * from datatestcases
 * code testing
 * Normalise without post-check (=return bad/unk codes too):
 * yes. Skips verify-code
 * Normalise without post-check (=return bad/unk codes too):
 * yes. Skips verify-code


 * verify-code, test-unchecked-code -- internal self-check
 * to return code as normalised but unchecked (=return bad codes too):


 * not: Does not work in mainspace (then: always verfy-code).
 * not: by using Isotopes/decay-mode/property (instead: feed normal-code with normalised/unchecked code)


 * more:


 * verify-code, test-unchecked-code -- internal self-check

Normalising decay mode

 * Isotopes/decay-mode/code/normalise
 * code-in, type
 * returns:
 * (1) normalised code (alphanumeric only),
 * (2) merge-synonym (b+b+ &rarr; 2b+),
 * (3) &lt;blank> when code is not recognised.


 * test unk code
 * synonym replacement: always
 * yes:
 * document-status

The template normalises a decay code like &beta;+ into a basic, unambiguous code. That normal code is used to handle the decay mode formatting & properies.

For example, &beta;+ → code

In the example:
 * b+ &rarr;

Data retrieved for b+:
 * symbol:
 * en-name:
 * AZ-changes:

The code is in basic keyboard characters. This allows the editor to enter a decay name by plain text characters.
 * Using basic keyboard characters
 * a b e g p n + - 2 3 A-Z a-z 0-9 (SF CD IT Ne Mg Si, 24Ne, stable, syn, ...)

dm code normalisation: The whole string is considered. So, not recognised is input:
 * α ❌,
 * α (? not sure) ❌,
 * α ❌


 * Letter epsilon is coded "epsi". Also, bare letter "e" stands for "&epsi;". Latin letter "e" only occurns in "e+".

Resulting code is in (US) keyboard characters.

The very same code can be enterd by its keyboard letters:

Also recognised: bare alpha, beta, gamma, epsilon

Alternative codes are normalised, and recognised

Note:
 * Bare Latin letter "e" is not a code, so bare letter "e" code stands for "&epsilon;"
 * Inversely, "e&minus;" only exists with Latin "e", so "e-" is unambiguous.


 * (not handled)
 * (not handled)
 * (not handled)
 * (not handled)

half-life (hl) and natural abundance (na)
Codes for hl and na are handled by code too:
 * "stable", "observationally stable", "synthetic" and "trace".

Other values, such as number values like " " (for $1.23 y$), are not recognised. In Infobox uses, such values can be passed through and shown unedited. By using these hl, na options, it is prevented that some dm input would find "stable" as recognised code (it is not, for dm).
 * hl, na

add a new code

 * write formatted, formal symbol (Greek, , ..)
 * check how it normalised (into keyboard keys only, expected); this is the internal ID
 * define ID in /dm-id
 * check in testcases (add new /row)
 * add dm-format in property-list
 * more test inputs: plain, formatted forms
 * add synonyms (=other keyboard ids)
 * test synonym(s) by bare code, by formatted code input