The output language in GED2HTML versions 3.0 and later is
a simple programming language that is similar in many respects to
the programming language supported by the Unix command shell.
The print
statement is the basic method of creating
output. Besides this, the language supports standard conditional
and iteration constructs, procedure definitions with parameters,
integer and string variables, and assignment statements.
These other constructs basically exist in order to make it possible
to specify the desired order of execution of print
statements.
Warning!
The description of the output language given below is a fairly brief
summary which is more or less in typical programming language manual style.
I expect it to be understandable to a programmer, if not by itself then
in conjunction with study of the standard output program, and possibly also
some experimentation with the language. I have not made any sort of serious
attempt to make it understandable to a non-programmer, nor am I likely
to do so in the future.
Contents:
The following are the basic lexical elements of a GED2HTML program:
- Integer constants, which consist of any sequence of digits.
- String constants,
which consist of a sequence of
characters enclosed in double quotes (").
Special characters, such as newlines, tabs, form feeds, and
double quotes, may be included in the string by using the
following escape sequences, each of which consists
of a backslash (\) followed by a single character:
- \n stands for a newline.
- \t stands for a tab.
- \f stands for a form feed.
- \" stands for a double quote.
- \\ stands for a backslash.
- Identifiers, which consist of any sequence of upper-
or lower-case letters, digits, or underscore (_), which begins
with an upper- or lower-case letter or underscore.
- Keywords, which are those in the following list:
debug
,
define
,
deftag
,
do
,
else
,
elseif
,
end
,
for
,
if
,
in
,
include
,
local
,
print
,
set
,
then
,
to
,
while
.
- Comments, which begin with a
#
character, and continue to the end of the line.
- Arithmetic operators,
+ - * / %
.
- Logical operators,
& | ~
.
- Relational operators,
= < > <= >=
.
- Concatenation operator,
^
.
- Delimiters,
( ) [ ] { } ; . ,
The GED2HTML output language supports variables that take on
typed values. The types of values supported by the language are listed
below. Roughly, they comprise basic values (integers and strings),
and values that correspond to various kinds of records and substructures
defined in the GEDCOM 5.5 specification, except that in a number of cases
I have attempted to "uniformize" these structures to simplify the
logic of the output program necessary for traversing them.
Values that correspond to GEDCOM records generally have various
attributes or component values, that can be selected.
These are described in more detail below.
Each variable is either global, or else it is local
to a particular procedure. Whether a variable is local as opposed to
global depends on whether the procedure currently being executed contains
a local declaration for that particular variable at the beginning
of the procedure. The values of local variables persist only as long
as the activation of the procedure in which they were declared.
The value of a global variable persists either until GED2HTML exits,
or else a new value is assigned to that variable.
Some global variables are special, in the sense that they are
connected to the internal processing of GED2HTML. Certain special variables
have the property that reading their value returns certain information
about the current state of GED2HTML. Other special variables have the
propery that assignments to them modifies certain parameters that control
the processing of GED2HTML. Nearly all the GED2HTML processing options
can be set by assigning to one of these special variables.
For a list of all the special variables and their meanings,
see here.
An attempt to access a variable that is not special and has never been
assigned a value will yield a particular default value,
usually corresponding to 0 or "false".
Except during the options initialization phases that occur before
GEDCOM processing starts, an attempt to assign a value to a global
variable that does not already exist will elicit a warning message
from the GED2HTML output interpreter. Usually this situation would
occur if there was a missing local declaration for the
indicated variable.
Definitions
A GED2HTML output program consists of a sequence of definitions
of procedures. Each definition is of the form:
define <identifier> <formals> <locals>
{ <statements> }
The <identifier> gives the name of the procedure being defined.
The <formals> is a space-separated list of identifiers that name
the formal parameters of the procedure. The <locals> is a declaration
of the local variables of the procedure, and it has the following form:
local id1 id2 id3 ... idn
Statements
The GED2HTML output language supports the following types of
statements:
- Empty statement:
- A blank can appear whereever a statement is syntactically required.
Executing the empty statement has no effect.
- Call statement:
- A call statement has the form:
<identifier> <actuals> ;
The <identifer> is the name of the procedure to be called.
The <actuals> is a space-separated list of "atomic" expressions
(any expression can be made into an atomic expression by enclosing
it in parentheses).
Executing a call statement causes the actual parameter expressions
to be evaluated, and then the named procedure is invoked with
the resulting values as the actual parameters.
- Print statement:
- A print statement has the form:
print <expressions> ;
or the form
print <expressions> ,
The <expressions> are a space-separated list of "atomic"
expressions
(any expression can be made into an atomic expression by enclosing
it in parentheses).
To execute a print statement, the expressions are evaluated,
and the resulting values are output into the currently active
output file, without any intervening spaces in the output.
In the first form of the print statement, which ends with
a semicolon, a newline is printed after the values of all the
expressions have been printed.
In the second form, no newline is printed.
- Debug statement:
- The debug statement is identical in form to the print statement.
The only difference between the two is that the the debug statement
uses the keyword debug, and output from
the debug statement is printed on the console (standard error),
instead of the the current output file, as is the case with
the print statement.
- Assignment statement:
- The assignment statement has the form:
set <identifier> to <expression>
Execution of an assignment statement proceeds by first evaluating
the <expression>, and then assigning the resulting value
to the variable <identifier>.
- Deftag statement:
- The deftag statement has the form:
deftag <identifier> <expression>
where <id>
is a GEDCOM 5.5 tag
(such as INDI
or BIRT
)
and <expr>
is an expression that evaluates
to a string. The effect is that the default print name
for the specified GEDCOM tag (such as "Individual" or
"Birth") is replaced by the new string. This construct
can be used by the end user to customize the GEDCOM tag
names that get printed out with events; for example, if the
user does not agree with the particular default translation
of the tag name in a particular language.
- If statement:
- The if statement has one of the forms:
if <expression> then <statements> end
if <expression> then <statements>
else <statements>end
if <expression> then <statements>
elseif <expression> then <statements>
elseif <expression> then <statements>
...
else <statements> end
An if statement is executed by first evaluating the <expression>
and interpreting the result as either "true" or "false".
How the result of evaluation is interpreted depends on the type
of value produced.
If the value is an integer value, then a value of 0 is interpreted
as "false" and a nonzero value is interpreted as "true".
If the value is a string value, then a null value, or an empty string,
is interpreted as "false", and other values are interpreted as true.
If the value is any other type of value, then a null value is
interpreted as "false" and a non-null value is interpreted as "true".
The truth value of the initial expression is used to control
which of the alternatives is executed, in the usual way.
- While statement:
- The while statement has the form:
while <expression> do
<statements> end
This statement is executed as follows: the <expression>
and interpreting it as either "true" or "false" as in the
case of the if statement. If the expression evaluates to "true",
the <statements> are executed and the whole process repeats.
If the expression evaluates to "false", execution of the statement
terminates.
- For statement:
- The for statement has the form:
for <identifier> in <expression>
do <statements> end
Execution proceeds as follows. First, the <expression>
is evaluated. If the resulting value is null, then the
statement terminates immediately. Otherwise, the value is
assigned to the control variable <identifier> and
the <statements> are executed.
Upon completion, the qualifier "next" is applied to the
value of the control variable from the preceding iteration.
If the resulting value is non-null, then it is assigned to
the control variable, the <statements> are executed,
etc.
Execution terminates when application of the "next" qualifier
to the previous value of the control variable yields a null
value.
- Include statement:
- The include statement has the form:
include <expression>
The expression is evaluated. The resulting value, which must
be a string value, is interpreted as the name of a file.
The file is opened, and its contents are inserted into the
current output stream.
If the file does not exist or cannot be opened, an error
message is generated.
Expressions
The GED2HTML output language supports the following kinds of expressions:
- Numerals:
- A numeral, standing by itself, is an expression, which evaluates to
the integer represented by the numeral.
- Strings:
- A string constant, standing by itself, is an expression, which evaluates
to the corresponding string value.
- Variables:
- A variable, standing by itself, is an expression. Variables can
be either simple variables, which are single identifiers, or
can have a more elaborate structure, explained
below.
- Parenthesized expression:
- An expression enclosed in parentheses is also an expression.
Parentheses are used to indicate grouping in the usual way.
- Negated expression:
- An expression preceded by a minus sign is also an expression,
which evaluates to the negative of the value to which the
constituent expression evaluates.
- Not expression:
- An expression preceded by a tilde (~) is also an expression,
which evaluates to a truth value which is the logical negation
of the truth value to which the constituent expression evaluates.
- Plus expression:
- If E1 and E2 are expressions, then E1 + E2 is also an expression.
If E1 evaluates to integer value v1 and E2 evaluates to integer
value v2, then E1 + E2 evaluates to the integer value v1 + v2,
otherwise an error occurs.
- Minus expression:
- If E1 and E2 are expressions, then E1 - E2 is also an expression.
If E1 evaluates to integer value v1 and E2 evaluates to integer
value v2, then E1 - E2 evaluates to the integer value v1 - v2,
otherwise an error occurs.
- Times expression:
- If E1 and E2 are expressions, then E1 * E2 is also an expression.
If E1 evaluates to integer value v1 and E2 evaluates to integer
value v2, then E1 * E2 evaluates to the integer value v1 * v2,
otherwise an error occurs.
- Quotient expression:
- If E1 and E2 are expressions, then E1 / E2 is also an expression.
If E1 evaluates to integer value v1 and E2 evaluates to integer
value v2, then E1 / E2 evaluates to the integer value v1 / v2,
otherwise an error occurs.
- Remainder expression:
- If E1 and E2 are expressions, then E1 % E2 is also an expression.
If E1 evaluates to integer value v1 and E2 evaluates to integer
value v2, then E1 % E2 evaluates to the remainder of dividing
v1 by v2, otherwise an error occurs.
- AND expression:
- If E1 and E2 are expressions, then E1 & E2 is also an expression.
If E1 evaluates to a truth value v1 and E2 evaluates to a truth
value v2, then E1 & E2 evaluates to the logical conjunction
of v1 and V2, otherwise an error occurs.
- OR expression:
- If E1 and E2 are expressions, then E1 / E2 is also an expression.
If E1 evaluates to a truth value v1 and E2 evaluates to a truth
value v2, then E1 | E2 evaluates to the logical disjunction
of v1 and V2, otherwise an error occurs.
- Concatenation expression:
- If E1 and E2 are expressions, then E1 ^ E2 is also an expression.
If E1 evaluates to a string value v1 and E2 evaluates to a string
value v2, then E1 ^ E2 evaluates to the string value which is
the concatenation of v1 and v2, otherwise an error occurs.
- Equality test:
- If E1 and E2 are expressions, then E1 = E2 is also an expression,
which evaluates to "true" if E1 and E2 evaluate to equal values,
and to "false" if E1 and E2 evalute to unequal values.
- Comparison test:
- If E1 and E2 are expressions, then E1 < E2, E1 > E2,
E1 <= E2, and E1 >= E2 are also expressions which
which evaluates to "true" if the indicated relationship
holds between the value of E1 and that of E2.
The following kinds of variables are supported:
- Simple variables:
- An identifier, standing by itself, is a variable, which evaluates
to the most recent value assigned to that variable.
If no value has yet been assigned to the variable, an error occurs.
- Qualified variables:
- A qualified variable is a variable, followed by a dot (.),
followed by a qualifier, which is an identifier.
The qualifier serves to select a particular attribute or
component of the current value of the variable to which it is attached.
For example, if i is a simple variable whose current value is an
individual, then
i.mother
is a qualified variable whose value is the individual who is the
mother of the individual denoted by i. Furthermore,
i.mother.name
evaluates to the name of the mother.
Qualifier names are not sensitive to upper/lower-case
distinctions. Thus
i.mother
and
i.MOTHER
mean the same thing.
Whether the application of a particular qualifier to a variable v
is meaningful depends on the current value of v at the time the
qualified variable is evaluated. For a list of all the currently
supported qualifiers together with the types of values to which
they apply, see here.
- Subscripted variables:
- A subscripted variable is a variable followed by an expression
enclosed in square brackets. Evaluation of a subscripted
variable proceeds first by evaluating the subscript
(the expression within the brackets). If the subscript does not
evaluate to an integer, then an error occurs. Otherwise,
the variable to which the subscript is attached is evaluated,
and then the "next" qualifier is repeatedly applied to the resulting
value a number of times equal to the value of the subscript
expression.
As a simple example, the subscripted variable
i[3]
can be regarded as an abbreviation for the qualified variable
i.next.next.next
The output program is used by GED2HTML in the following way:
each time GED2HTML wants to initialize options or create a
particular output file, it begins executing the output program by
invoking a particular entry procedure corresponding to the
type of file that is to be created.
Output produced by print statements during the execution of that
entry procedure and any procedures that it calls, goes to the
particular file being created. GED2HTML assumes that the following entry
procedures are defined in any output program program:
- do_initialize
- This entry procedure is called just prior to processing the GEDCOM file.
It can be used to initialize or modify the settings of options
variables. For a detailed description of how GED2HTML options
processing works, see
here
for the Windows version and
here
for the Unix version.
- do_index
- This entry procedure is called to create the contents of a single
file in the index of persons. The procedure takes a single
argument, which is an index value corresponding to the first
index entry to be output. Subsequent entries to be output to
the same file can be accessed by repeatedly applying the "next"
qualifier, until a null value is obtained.
Each index entry can be either a leaf entry,
which references a single individual, or a range entry,
which references a range of individuals. Whether the
entry is a leaf entry or a range entry can be determined by
applying the "children" qualifier to the index node. If
node is a leaf entry, then applying the "children" qualifier
yields a null value, and if the node is a range entry, then
apply the "children" qualifier yields a nonnull value.
For a leaf entry, the referenced individual can be obtained
by applying the "first" qualifier to the entry.
For a range entry, the first and last individual in the specified
range can be obtained by applying the "first" and "last" qualifiers,
respectively, to the entry.
- do_surnames
- This entry procedure is called to create the contents of a single
file in the index of surnames. The procedure takes a single
argument, which is an index value corresponding to the first
index entry to be output. Subsequent entries to be output to
the same file can be accessed by repeatedly applying the "next"
qualifier, until a null value is obtained.
Each index entry can be either a leaf entry,
which references a single surname, or a range entry,
which references a range of surnames. Whether the
entry is a leaf entry or a range entry can be determined by
applying the "children" qualifier to the index node. If
node is a leaf entry, then applying the "children" qualifier
yields a null value, and if the node is a range entry, then
apply the "children" qualifier yields a nonnull value.
For a leaf entry, the referenced surname can be obtained
by applying the "first" qualifier to the entry.
For a range entry, the first and last surname in the specified
range can be obtained by applying the "first" and "last" qualifiers,
respectively, to the entry.
- do_individuals
- This entry procedure is called to create the contents of an
individual data file. The procedure takes a single argument,
which is the first individual for which information is to be
output into the file. Subsequent individuals to be output to
the same file can be accessed in succession by repeatedly
applying the "next" qualifier. When application of
the "next" qualifier results in a null value, the end of the
list of individuals has been reached.
- do_families
- This entry procedure is called to create the contents of a
family data file. The procedure takes a single argument,
which is the first family for which information is to be
output into the file. Subsequent families to be output to
the same file can be accessed in succession by repeatedly
applying the "next" qualifier. When application of
the "next" qualifier results in a null value, the end of the
list of families has been reached.
- do_sources
- This entry procedure is called to create the contents of a
sources file. The procedure takes a single argument, which
is the first source for which information is to be output into
the file. Subsequent sources to be output to the same file
can be accessed in succession by repeatedly applying the "next"
qualifier. When application of the "next" qualifier results
in a null value, the end of the list of sources has been reached.
- do_notes
- This entry procedure is called to create the contents of a
notes file. The procedure takes a single argument, which
is the first note for which information is to be output into
the file. Subsequent notes to be output to the same file
can be accessed in succession by repeatedly applying the "next"
qualifier. When application of the "next" qualifier results
in a null value, the end of the list of notes has been reached.
- do_gendex
- This entry procedure is called to create the contents of a
"gendex.txt" file. The procedure takes a single argument, which
is the first individual for which an index entry is to be output.
Subsequent individuals can be accessed in succession by repeatedly
applying the "next" qualifier. When application of the "next"
qualifier results in a null value, the end of the list of individuals
has been reached.
The following list gives all of the types of values supported by the
GED2HTML output interpreter, and the set of qualifiers that
it is meaningful to apply to each type of value. For the most part,
applying a qualifier to a value corresponds to selecting a particular
substructure of a given structure, as described in the GEDCOM 5.5
specification, so if there is a question about the meaning of a particular
qualifier, the GEDCOM 5.5 specification should be consulted for clarification.
- Integer values:
- No qualifiers can be applied to integer values.
- String values:
-
- first
- Yields a string obtained by breaking the given string
into "words" delimited by space characters,
and extracting the first such word.
- next
- Yields a string obtained by deleting the first space-delimited
word from the given string.
- upper
- Yields a string value obtained by converting the given
string to upper case.
The conversion is dependent on the particular
locale
that has been selected at the time the conversion is
performed.
NOTE: Locales are not supported by GED2HTML running under
Windows 3.1.
- lower
- Yields a string value obtained by converting the giving
string to lower case.
The conversion is dependent on the particular
locale
that has been selected at the time the conversion is
performed.
NOTE: Locales are not supported by GED2HTML running under
Windows 3.1.
- exists
- The current value of the string is treated as a filename,
and it is determined whether a file of the specified name
actually exists. If so, then the result is non-null,
otherwise the result is null.
- Individual values:
- Individual values correspond to individual records in the GEDCOM file.
- name
- Yields a name value containing the name of the individual.
- names
- Yields a name value which is the head of a list of names
associated with the individual. Names after the first
can be accessed from the first by repeatedly applying
the "next" qualifier.
- surname
- Yields a string value representing the surname of the individual.
- birth
- Yields an event value representing the event of birth of the
individual.
- death
- Yields an event value representing the event of death of the
individual.
- christening
- Yields an event value representing the event of christening of the
individual.
- burial
- Yields an event value representing the event of burial of the
individual.
- attributes
- Yields an attribute value which is the head of a list of
attributes associated with this individual. Attributes after
the first can be accessed from the first by repeatedly
applying the "next" qualifier.
- ordinances
- Yields an ordinance value which is the head of a list of
LDS ordinances associated with this individual.
Ordinances after the first can be accessed from the first
by repeatedly applying the "next" qualifier.
- events
- Yields an event value which is the head of a list of
events associated with this individual. Events after
the first can be accessed from the first by repeatedly
applying the "next" qualifier.
- families
- Yields a family value which is the head of a list of
families in which this individual was a child.
Families after the first can be accessed from the first
by repeatedly applying the "next" qualifier.
- mother
- Yields an individual value corresponding to the WIFE in the first
family in which this individual was a child.
- father
- Yields an individual value corresponding to the HUSB in the first
family in which this individual was a child.
- marriages
- Yields a family value which is the head of a list of
families in which this individual was a spouse.
Families after the first can be accessed from the first
by repeatedly applying the "next" qualifier.
- submitters
- Yields a submitter value which is the head of a list of
submitters of information pertaining to this individual.
Submitters after the first can be accessed from the first
by repeatedly applying the "next" qualifier.
- associations
- This qualifier is not yet fully implemented.
- aliases
- Yields an individual value which is the head of a list of
individuals thought to be the same person as the
current individual.
Aliases after the first can be accessed from the first
by repeatedly applying the "next" qualifier.
- anci
- Yields a submitter value which is the head of a list of
submitters who have an interest in the ancestors of
the current individual.
Submitters after the first can be accessed from the first
by repeatedly applying the "next" qualifier.
- desi
- Yields a submitter value which is the head of a list of
submitters who have an interest in the descendants of
the current individual.
Submitters after the first can be accessed from the first
by repeatedly applying the "next" qualifier.
- sources
- Yields a source citation value which is the head of a list of
source citations associated with this individual.
Citations after the first can be accessed from the first
by repeatedly applying the "next" qualifier.
- objects
- Yields a multimedia value which is the head of a list of
multimedia objects associated with this individual.
Objects after the first can be accessed from the first
by repeatedly applying the "next" qualifier.
Multimedia objects are not completely supported in this
version of GED2HTML.
- notes
- Yields a note value which is the head of a list of
notes associated with this individual. Notes after the
first can be accessed from the first by repeatedly
applying the "next" qualifier.
- rfn
- Yields an attribute value corresponding to the RFN (if any)
of the individual.
- rfn
- Yields an attribute value corresponding to the
permanent Record File Number (if any) of the individual.
- afn
- Yields an attribute value corresponding to the
LDS Ancestral File Number (if any) of the individual.
- refns
- Yields a REFN value corresponding to the head of a list
of user Reference Number structures associated with the
individual. Additional REFN substructures can be accessed
by repeatedly applying the "next" qualifier.
- rin
- Yields an attribute value corresponding to the automated
record ID for this individual.
- ismale
- Yields an integer value which is nonzero if the individual
is indicated as a male, and zero otherwise.
- isfemale
- Yields an integer value which is nonzero if the individual
is indicated as a female, and zero otherwise.
- living
- Yields a note value which is nonnull if the individual
record has a NOTE substructure that begins with !LIVING.
In this case, the value is a string representing the
entire NOTE.
- xref
- Yields a string value representing the cross-reference ID of
the individual record.
- title
- Yields a string value representing the title of the individual,
as given by the first TITL substructure.
- url
- Yields a string representing a URL (uniform resource locator)
which, when output as part of an HTML anchor, will create
a hyperlink to the individual in question.
- next
- Yields the next individual value in whatever list the current
individual value happens to be a part of.
- tagcode
- Yields the string value "INDI", which is the GEDCOM
tag name used for individual records.
- tagname
- Yields a translation of the word "Individual" into the
currently selected output language.
- Family values:
- Family values correspond to family records in the GEDCOM file.
- events
- Yields an event value which is the head of a list of
events associated with this family. Events after
the first can be accessed from the first by repeatedly
applying the "next" qualifier.
- husband
- Yields an individual value representing the husband in the
family.
- wife
- Yields an individual value representing the wife in the
family.
- children
- Yields an individual value which is the head of a list of
children in this family. Children after the first can be
accessed from the first by repeatedly applying the
"next" qualifier.
- notes
- Yields a note value which is the head of a list of
notes associated with this family. Notes after the
first can be accessed from the first by repeatedly
applying the "next" qualifier.
- nchildren
- Yields an attribute value which gives the number of children
associated with this family.
- attributes
- Yields an attribute value which is the head of a list of
attributes associated with this family. Attributes after
the first can be accessed from the first by repeatedly
applying the "next" qualifier.
- ordinances
- Yields an ordinance value which is the head of a list of
LDS ordinances associated with this family. Ordinances
after the first can be accessed from the first by repeatedly
applying the "next" qualifier.
- submitters
- Yields a submitter value which is the head of a list of
submitters of information pertaining to this family.
Submitters after the first can be accessed from the first
by repeatedly applying the "next" qualifier.
- sources
- Yields a source value which is the head of a list of
sources associated with this family. Sources after the
first can be accessed from the first by repeatedly
applying the "next" qualifier.
- refns
- Yields a REFN value corresponding to the first user Reference
Number structure (if any) associated with the individual.
Additional REFN structures can be accessed by repeatedly
applying the "next" qualifier.
- rin
- Yields an attribute value corresponding to the automated
record ID for this family.
- next
- Yields the next family value in whatever list the current
family value happens to be a part of.
- url
- Yields a string representing a URL (uniform resource locator)
which, when output as part of an HTML anchor, will create
a hyperlink to the family in question.
- xref
- Yields a string value representing the cross-reference ID of
the family record.
- tagcode
- Yields the string value "FAM", which is the GEDCOM
tag name used for family records.
- tagname
- Yields a translation of the word "Family" into the
currently selected output language.
- Submitter values:
- Submitter values correspond to submitter records in the GEDCOM file.
- name
- Yields an attribute value giving the name of the submitter.
- objects
- Yields a multimedia value which is the head of a list of
multimedia objects associated with this family.
Objects after the first can be accessed from the first
by repeatedly applying the "next" qualifier.
- address
- Yields an address value giving the address of the submitter.
- phone
- Yields an attribute value giving the phone number of the
submitter.
- rfn
- Yields an attribute value corresponding to the
permanent Record File Number (if any) of the submitter.
- rin
- Yields an attribute value corresponding to the automated
record ID for this submitter.
- refns
- Yields a REFN value corresponding to the head of a list
of user Reference Number structures associated with the
submitter. Additional REFN substructures can be accessed
by repeatedly applying the "next" qualifier.
- next
- Yields the next submitter value in whatever list the current
submitter value happens to be a part of.
- tagcode
- Yields the string value "SUBM", which is the GEDCOM
tag name used for submitter records.
- tagname
- Yields a translation of the word "Submitter" into the
currently selected output language.
-
- Note values:
- Note values correspond to note records (level 0) or note structures
(higher levels) in the GEDCOM file.
- xref
- Yields a string representing the cross-reference ID of
the note record. If the note is at level 0, then
this string value will be non-null. For notes at higher levels,
this string value will be a null value.
- serial
- Yields an integer value ("serial number") that uniquely
identifies the particular note record, and which can
be used to create a hyperlink to the note.
- url
- Yields a string representing a URL (uniform resource locator)
which, when output as part of an HTML anchor, will create
a hyperlink to the note in question.
- text
- Yields a text value representing the text of the note.
- sources
- Yields a source citation value which is the head of a list of
source citations for the note. Citations after the
first can be accessed from the first by repeatedly
applying the "next" qualifier.
- refns
- Yields a REFN value corresponding to the first REFN substructure
(if any) of the note. Additional REFN substructures can
be accessed by repeatedly applying the "next" qualifier.
- rin
- Yields an attribute value corresponding to the automated
record ID for this note.
- rfn
- Yields an attribute value corresponding to the
permanent Record File Number (if any) of the note.
- next
- Yields the next note value in whatever list the current
note value happens to be a part of.
- tagcode
- Yields the string value "NOTE", which is the GEDCOM
tag name used for note records.
- tagname
- Yields a translation of the word "Note" into the
currently selected output language.
- Source values:
- Source values correspond to source records in the GEDCOM file.
- xref
- Yields a string representing the cross-reference ID of
the source record.
- serial
- Yields an integer value ("serial number") that uniquely
identifies the particular source record, and which can
be used to create a hyperlink to it.
- url
- Yields a string representing a URL (uniform resource locator)
which, when output as part of an HTML anchor, will create
a hyperlink to the source in question.
- data
- Yields a source data value that contains information
from any DATA substructure of the source record.
- author
- Yields a text value that contains information about
the author of the source.
- title
- Yields a text value that contains information about
the title of the source.
- abbreviation
- Yields an attribute value that contains a short title
for the source.
- publication
- Yields a text value that contains publication facts
for the source.
- text
- Yields a text value representing the source text.
- repository
- Yields a repository citation value indicating the repository
where the source resides.
- notes
- Yields a note value which is the head of a list of
notes associated with this source. Notes after the
first can be accessed from the first by repeatedly
applying the "next" qualifier.
- refns
- Yields a REFN value corresponding to the first REFN substructure
(if any) of the source. Additional REFN substructures can
be accessed by repeatedly applying the "next" qualifier.
- rin
- Yields an attribute value corresponding to the automated
record ID for this source.
- change
- Yields a change information value giving information about
the last change to the source record.
- next
- Yields the next source value in whatever list the current
source value happens to be a part of.
- tagcode
- Yields the string value "SOUR", which is the GEDCOM
tag name used for source records.
- tagname
- Yields a translation of the word "Source" into the
currently selected output language.
- Source citation values:
- Source citation values correspond to source citations in the
GEDCOM file.
- source
- Yields a source value corresonding to the cited source.
- page
- Yields an attribute value that contains the page number(s)
from the cited source.
- event
- Yields an attribute value identifying the event to which
the source citation pertains.
- date
- Yields a source data value that contains data from the
cited source.
- quay
- Yields an attribute value describing the "quality"
of the cited source.
- notes
- Yields a note value which is the head of a list of
notes associated with this source citation. Notes after the
first can be accessed from the first by repeatedly
applying the "next" qualifier.
- description
- Yields a text value describing the cited source.
- abbreviation
- Yields an attribute value giving an abbreviated title
of the cited source.
- title
- Yields an text value giving the title of the cited source.
- texts
- Yields a text value which is the head of a list of
texts from this source. Texts after the
first can be accessed from the first by repeatedly
applying the "next" qualifier.
- serial
- Yields an integer value ("serial number") that uniquely
identifies the particular citation, and which can
be used to create a hyperlink to it.
- next
- Yields the next source value in whatever list the current
source value happens to be a part of.
- tagcode
- Yields the string value "SOUR", which is the GEDCOM
tag name used for source records.
- tagname
- Yields a translation of the word "Source" into the
currently selected output language.
- Source data values:
- Source data values capture information present in a DATA
substructure of a source record or source citation structure.
- events
- Yields an event value which is the head of a list of
events associated with this source data substructure.
Events after the first can be accessed from the first
by repeatedly applying the "next" qualifier.
- agency
- Yields an attribute value giving the agency responsible
for the source data.
- date
- Yields a date value giving the "entry recording date"
for the source citation.
- notes
- Yields a note value which is the head of a list of
notes associated with this data. Notes after the
first can be accessed from the first by repeatedly
applying the "next" qualifier.
- texts
- Yields a text value which is the head of a list of
texts from this source. Texts after the
first can be accessed from the first by repeatedly
applying the "next" qualifier.
- next
- Yields the next source value in whatever list the current
source value happens to be a part of.
- tagcode
- Yields the string value "DATA", which is the GEDCOM
tag name used for source records.
- tagname
- Yields a translation of the word "Data" into the
currently selected output language.
- Repository values:
- Repository values correspond to repository records in the GEDCOM file.
- name
- Yields an attribute value giving the name of the repository.
- address
- Yields an address value giving the address of the repository.
- phone
- Yields an attribute value giving the telephone number for
the repository.
- notes
- Yields a note value which is the head of a list of
notes associated with this repository. Notes after the
first can be accessed from the first by repeatedly
applying the "next" qualifier.
- refns
- Yields a REFN value corresponding to the first REFN substructure
(if any) of the repository. Additional REFN substructures can
be accessed by repeatedly applying the "next" qualifier.
- rin
- Yields an attribute value corresponding to the automated
record ID for this repository.
- change
- Yields a change information value giving information about
the last change to the repository record.
- next
- Yields the next source value in whatever list the current
repository value happens to be a part of.
- tagcode
- Yields the string value "REPO", which is the GEDCOM
tag name used for repository records.
- tagname
- Yields a translation of the word "Repository" into the
currently selected output language.
- Repository citation values:
- Repository citation values correspond to source repository
citation structures in the GEDCOM file.
- repository
- Yields a repository value indicating the repository associated
with this citation.
- notes
- Yields a note value which is the head of a list of
notes associated with this citation. Notes after the
first can be accessed from the first by repeatedly
applying the "next" qualifier.
- caln
- Yields an attribute value giving the call number associated
with this citation.
- serial
- Yields an integer value ("serial number") that uniquely
identifies the particular citation, and which can
be used to create a hyperlink to it.
- next
- Yields the next repository citation in whatever list the current
citation happens to be a part of.
- tagcode
- Yields the string value "REPO", which is the GEDCOM
tag name used for repository citations.
- tagname
- Yields a translation of the word "Repository" into the
currently selected output language.
- Change information values:
- Change information values correspond to change date structures
in the GEDCOM file.
- date
- Yields a date value giving the date associated with this
change information.
- notes
- Yields a note value which is the head of a list of
notes associated with this change information.
Notes after the first can be accessed from the first by
repeatedly applying the "next" qualifier.
- tagcode
- Yields the string value "CHAN", which is the GEDCOM
tag name used for change information.
- tagname
- Yields a translation of the word "Change" into the
currently selected output language.
- Header values:
- A header value represents the information contained in the
HEAD record that begins each GEDCOM transmission.
- date
- Yields a string value representing the date of the GEDCOM
transmission.
- filename
- Yields a string value representing the name of the GEDCOM
file, as recorded in the GEDCOM header record.
- copr
- Yields a string value representing the copyright notification
that appears in the GEDCOM header record.
- submitter
- Yields a submitter value indicating the submitter that
appears in the GEDCOM header record.
- note
- Yields a text value representing the note (if any) that
appears in the GEDCOM header record.
- tagcode
- Yields the string value "HEAD", which is the GEDCOM
tag name used for the GEDCOM header record.
- tagname
- Yields a translation of the word "Header" into the
currently selected output language.
- Multimedia values:
- Multimedia values correspond to multimedia objects in the GEDCOM file.
These value are not currently supported, and no qualifiers are currently
defined for multimedia values.
- Name values:
- Name values represent names of individuals.
- fullname
- Yields a string value representing the full name,
in a format suitable for printing.
- gedcom
- Yields a string value representing the full name,
in GEDCOM format, with slashes delimiting the surname.
- surname
- Yields a string value representing the surname portion of
the name.
- sources
- Yields a source citation value which is the head of a list of
source citations for the name. Citations after the
first can be accessed from the first by repeatedly
applying the "next" qualifier.
- notes
- Yields a note value which is the head of a list of
notes associated with this name.
Notes after the first can be accessed from the first by
repeatedly applying the "next" qualifier.
- npfx
- Yields a string value corresponding to the value of the
NPFX
field of the name structure.
- givn
- Yields a string value corresponding to the value of the
GIVN
field of the name structure.
- nick
- Yields a string value corresponding to the value of the
NICK
field of the name structure.
- spfx
- Yields a string value corresponding to the value of the
SPFX
field of the name structure.
- surn
- Yields a string value corresponding to the value of the
SURN
field of the name structure.
- nsfx
- Yields a string value corresponding to the value of the
NSFX
field of the name structure.
- tagcode
- Yields the string value "NAME", which is the GEDCOM
tag name used for the GEDCOM header record.
- tagname
- Yields a translation of the word "Name" into the
currently selected output language.
- Attribute values:
- Attribute values represent unstructured textual information associated
with various GEDCOM substructures.
- text
- Yields a string value corresponding to the textual information
contained in the attribute.
- event
- Yields an event value corresponding to the GEDCOM "event detail"
(if any) associated with the attribute.
- next
- Yields an attribute value corresponding to the next attribute
in whatever list the current attribute is a part of.
- tagcode
- Yields a string value giving the GEDCOM tag, such as "RESI",
associated with this attribute.
- tagname
- Yields a string value that is a human-readable version of the
GEDCOM tag indicating the particular type of attribute,
rendered in the current output language. For example,
for a RESI attribute, the tag would be "Residence" in English
and "Domicile" in French.
- Event values:
- Event values correspond to event structures in the GEDCOM file.
- text
- Yields a text value that describes the event.
- type
- Yields a string value representing the contents of the
TYPE field in the GEDCOM event record.
- date
- Yields a date value representing the date on which the
event occurred.
- place
- Yields a place value representing the place at which the
event occurred.
- age
- Yields a string value representing the contents of the
AGE field in the GEDCOM event record.
- agency
- Yields an attribute value representing the contents of the
AGNC field in the GEDCOM event record.
- cause
- Yields a string value representing the contents of the
CAUS field in the GEDCOM event record.
- sources
- Yields a source value which is the head of a list of
sources associated with this event. Sources after the
first can be accessed from the first by repeatedly
applying the "next" qualifier.
- notes
- Yields a note value which is the head of a list of
notes associated with this event. Notes after the
first can be accessed from the first by repeatedly
applying the "next" qualifier.
- family
- Yields a family value representing the family associated
with certain kinds of GEDCOM event records.
- adoption
- Yields a string value representing the contents of the
ADOP field in the GEDCOM event record.
- next
- Yields the next event value in whatever list the current
event value happens to be a part of.
- tagcode
- Yields a string value giving the GEDCOM tag, such as "BIRT",
associated with this event.
- tagname
- Yields a string value that is a human-readable version of the
GEDCOM tag indicating the particular type of event,
rendered in the current output language. For example,
for a BIRT event, the tag would be "Birth" in English
and "Naissance" in French.
- Place values:
- Place values correspond to place structures in the GEDCOM file.
- name
- Yields a string value representing the name of the place.
- tagcode
- Yields the string value "PLAC", which is the GEDCOM
tag name used for the GEDCOM place structure.
- tagname
- Yields a translation of the word "Place" into the
currently selected output language.
- REFN values:
- REFN values represent user-defined reference numbers associated
with various GEDCOM structures.
- number
- Yields a string value representing the reference number.
- type
- Yields a string value representing the reference type.
- next
- Yields a REFN value representing the next value in whatever
list the current REFN value happens to be a part of.
- tagcode
- Yields the string value "REFN", which is the GEDCOM
tag name used for the user reference number structure.
- tagname
- Yields a translation of the word "Reference" into the
currently selected output language.
- Text values:
- Text values represent substructures consisting lines of
textual data, such as are found in NOTE and SOURCE records.
Text values often occur in linked lists representing
an initial line and its continuations.
- cont
- Yields a text value representing a continuation of the
current text, with an implied line break.
- conc
- Yields a text value representing a continuation of the
current text, without any line break.
- text
- Yields a string value representing the line of
textual data.
- next
- Yields the next text value in whatever list the current
text value happens to be a part of.
- tagcode
- Yields a string value giving the GEDCOM tag, such as "AUTH",
associated with this particular textual information.
- tagname
- Yields a string value that is a human-readable version of the
GEDCOM tag indicating the particular type of textual
information, rendered in the current output language.
For example, for a AUTH event, the tag would be "Author"
in English and "Auteur" in French.
- Persons index values:
- Index values do not correspond to anything in the GEDCOM standard.
Rather, they are a notion introduced by GED2HTML to support the
output of hierarchical indexes consisting of many interconnected
"nodes", each of which covers a range of individuals.
Each index value represents one node.
- first
- Yields an individual value corresponding to the first entry
in the range covered by the current node.
- last
- Yields an individual value corresponding to the last entry
in the range covered by the current node.
- parent
- Yields an index value corresponding to the index node
"one level higher up" in the index.
- children
- Yields an index value which is the first in a list of
index nodes "one level lower down" in the index.
Subsequent index nodes can be accessed from the first
by repeatedly applying the "next" qualifier.
- succ
- Yields an index value corresponding to the next node
"at the same level" as the current node.
- pred
- Yields an index value corresponding to the previous node
"at the same level" as the current node.
- url
- Yields a string representing a URL (uniform resource locator)
which, when output as part of an HTML anchor, will create
a hyperlink to the index node in question.
- prev
- Yields an index value corresponding to the previous node
"with the same parent" as the current node.
- next
- Yields an index value corresponding to the next node
"with the same parent" as the current node.
- Surnames index values:
- Surnames index values do not correspond to anything in the GEDCOM
standard. Rather, they are a notion introduced by GED2HTML to
support the output of hierarchical indexes of consisting of many
interconnected "nodes", each of which covers a range of surnames.
Each index value represents one node.
- first
- Yields an individual value corresponding to the first entry
in the range of surnames covered by the current node.
- last
- Yields an individual value corresponding to the last entry
in the range of surnames covered by the current node.
- parent
- Yields a surnames index value corresponding to the index node
"one level higher up" in the index.
- children
- Yields a surnames index value which is the first in a list of
index nodes "one level lower down" in the index.
Subsequent index nodes can be accessed from the first
by repeatedly applying the "next" qualifier.
- succ
- Yields a surnames index value corresponding to the next node
"at the same level" as the current node.
- pred
- Yields a surnames index value corresponding to the previous node
"at the same level" as the current node.
- index
- Yields a persons index value which is the "leaf" node of the
persons index that contains the first person having with the
first surname covered by the current node.
- url
- Yields a string representing a URL (uniform resource locator)
which, when output as part of an HTML anchor, will create
a hyperlink to the index node in question.
- prev
- Yields a surnames index value corresponding to the previous node
"with the same parent" as the current node.
- next
- Yields a surnames index value corresponding to the next node
"with the same parent" as the current node.
- Ordinance values:
- Ordinance values represent LDS ordinance information associated
with an individual or family.
- date
- Yields a date value representing the date associated
with the ordinance.
- place
- Yields a place value representing the place associated
with the ordinance.
- sources
- Yields a source citation value which is the head of a list of
citations associated with this ordinance. Citations after
the first can be accessed from the first by repeatedly
applying the "next" qualifier.
- family
- Yields the family value associated with a FAMC field
in an SLGC ordinance.
- status
- Yields a string value giving the date status code associated
with the ordinance.
- temple
- Yields a string value giving the temple code associated
with the ordinance.
- next
- Yields an ordinance value representing the next value in whatever
list the current ordinance value happens to be a part of.
- tagcode
- Yields a string value giving the GEDCOM tag, such as "SLGC",
associated with this ordinance.
- tagname
- Yields a string value that is a human-readable version of the
GEDCOM tag indicating the particular type of attribute,
rendered in the current output language.
For LDS ordinances, there are just two tags, SLGC,
which would be rendered as "Sealing to parents" in English,
and SLGS, which would be rendered as "Sealing to spouse"
in English.
- Address values:
- Address values represent information found in a GEDCOM ADDR
structure. Currently only the "address line" information in
such a structure is accessible.
- text
- Yields a text value giving the address line text.
- adr1
- Yields a string value corresponding to the value of the
ADR1
field of the address structure.
- adr2
- Yields a string value corresponding to the value of the
ADR2
field of the address structure.
- city
- Yields a string value corresponding to the value of the
CITY
field of the address structure.
- stae
- Yields a string value corresponding to the value of the
STAE
field of the address structure.
- post
- Yields a string value corresponding to the value of the
POST
field of the address structure.
- ctry
- Yields a string value corresponding to the value of the
CTRY
field of the address structure.
- tagcode
- Yields the string value "ADDR", which is the GEDCOM
tag name used for the user reference number structure.
- tagname
- Yields a translation of the word "Address" into the
currently selected output language.
- Date values:
- Date values correspond to date structures in the GEDCOM file.
- value
- Yields a string value representing the given date
in the currently selected output language.
- string
- Yields a string value that gives the uninterpreted
date exactly as it appeared in the GEDCOM file.
- exact
- Yields an integer value that is nonzero if the
given date is an exact date, rather than an
approximate date or date range.
- day
- Yields an integer value identifying the day of the month
selected from the given date.
- month
- Yields an integer value identifying the month
selected from the given date.
- year
- Yields an integer value identifying the year
selected from the given date.
- tagcode
- Yields the string value "ADDR", which is the GEDCOM
tag name used for the user reference number structure.
- tagname
- Yields a translation of the word "Address" into the
currently selected output language.
The special variables understood by the GED2HTML output interpreter
can be divided into two classes: read-only variables, which
can be read to yield internal information about the state of GED2HTML,
and read/write variables, which can be assigned to change
various options settings of GED2HTML. In addition, there are several
ordinary variables that are not really handled "specially" by the GED2HTML
output interpreter, but rather are referenced by the standard output
program to control some features that do not require special support from
the output interpreter.
Note that variables are sensitive to upper/lower-case distinctions.
Read-only Variables
- HEADER
- Yields a header value representing the information gleaned from
the HEAD record of the GEDCOM being processed.
- NUMBER_OF_FAMILIES
- Yields an integer value representing the number of family
records contained in the GEDCOM being processed.
- NUMBER_OF_SOURCES
- Yields an integer value representing the number of (level 0)
source records contained in the GEDCOM being processed.
- NUMBER_OF_NOTES
- Yields an integer value representing the number of (level 0)
note records contained in the GEDCOM being processed.
- OSTYPE
- Yields a string value which describes the operating system that
the executing version of GED2HTML was compiled for.
- PATH_TO_ROOT
- Yields a string value which gives the path from the output
file currently being generated to the "root" of the output
tree being constructed by GED2HTML. This variable can
be used to construct relative URL's in the current output
file that will work for any combination of output processing
options.
- PERSONS_URL
- This variable has a string value, which is a relative URL suitable
for reaching the top-level index of persons. The value of this
variable is affected by the "CASE_FOLD_LINKS" option and the
"FILENAME_TEMPLATE" option.
- SURNAMES_URL
- This variable has a string value, which is a relative URL suitable
for reaching the top-level index of surnames. The value of this
variable is affected by the "CASE_FOLD_LINKS" option and the
"FILENAME_TEMPLATE" option.
- TODAY
- Yields a string value representing the date of the run.
- VERSION
- Yields a string value which describes the version of GED2HTML
that is executing.
Read/Write Variables
- CASE_FOLD_LINKS
- This variable controls certain processing to be performed on the
URLs output in HTML anchors (hyper-links).
If the value "Lower" is is assigned to this variable,
then all URLs output by GED2HTML as part of HTML anchors are
converted (folded) to lower case before being output.
If the value "Upper" is assigned to this variable, then all URLs
are converted to upper case. If the value "None" is assigned,
then no conversion of any kind is performed. The default is "None".
The reason for this feature is to accomodate the ideosyncrasies
of various systems and uploading software having to do what happens
to MS-DOS-style upper-case-only filenames when the files are
uploaded from a Windows system to a Web service provider's system.
Generally speaking, "None" is the correct initialization for this
variable on a Unix system.
- CHARACTER_SET
- The string value assigned to this variable controls the way in which
GED2HTML interprets characters in the GEDCOM file.
The possible values are:
"ASCII", "ANSI", "ANSEL", "IBM WINDOWS", "MS-DOS", and "IBMPC".
If no explicit assignment is made to this variable, then
it gets initialized from the CHAR field of the GEDCOM header
when the GEDCOM is read.
If this variable receives an explicit assignment, then the
value in the GEDCOM header is ignored.
The default is ANSI (ISO-Latin-1), in case the
character set cannot otherwise be determined.
- DESTINATION_DIRECTORY
- A string value assigned to this variable is interpreted as the
name of a directory in which the HTML files output by GED2HTML
should be put.
- DOS_CODE_PAGE
- Assigning an integer value to this variable selects the
DOS code page to be used for GEDCOM's encoded using
IBMPC or MS-DOS character sets, as determined by the CHAR
field in the GEDCOM header.
Currently supported code pages are 437 (United States),
863 (Canadian-French), and 850 (Multilingual/Latin I).
If an unrecognized value is assigned to this variable,
the code page defaults to 850.
- ERROR_FILE
- A string value assigned to this variable is interpreted as the
name of a file to be used to log any errors that occur
during the processing of the GEDCOM. The default value
is "g2herrs.txt".
- FILENAME_TEMPLATE
- A string value assigned to this variable is interpreted as
a pattern to be used in constructing the names of the various
HTML output files. The default is "%s.html", which indicates
the name of an HTML output file is constructed by taking a
base string and concatenating it with ".html".
- FILES_PER_DIRECTORY
- A number assigned to this variable determines the number of individual
data files GED2HTML will put in a single subdirectory.
The default value is 100.
If 0 is assigned to this variable, then GED2HTML will not use any
subdirectories. Instead, it will create a "flat" structure in
which all output files reside in the same directory.
- GENERATE_INDEX
- Assigning a nonzero value to this variable enables the creation of the
persons and surnames indexes. The default value is 1.
- GENERATE_INDIVIDUALS
- Assigning a nonzero value to this variable enables the creation of the
data pages for individuals. The default value is 1.
- GENERATE_SOURCES
- Assigning a nonzero value to this variable enables the creation of the
sources files. The default value is 1.
- GENERATE_NOTES
- Assigning a nonzero value to this variable enables the creation of the
notes files. The default value is 1.
- GENERATE_GENDEX
- Assigning a nonzero value to this variable enables the creation
"GENDEX.txt" index file, which can be used by index servers
to centrally index your data so that others can find it
more easily. The default value is 1.
- IGNORE_NOTES
- Assigning a non-zero value to this variable will cause the the program
to completely ignore any notes in the input GEDCOM,
other than
!LIVING
notes.
The default value is zero.
- IGNORE_SOURCES
- Assigning a non-zero value to this variable will cause the the program
to completely ignore any sources in the input GEDCOM.
The default value is zero.
- INCLUDE_IMAGE_EXT
- The value assigned to this variable is a string that is automatically
appended by the standard output program to the GEDCOM identifier
(RIN) for an individual, to construct the name of an associated
external file to be included in the HTML output.
This file is inserted near the beginning of an individual page,
and it is intended to be used to include an image of that
person. The default value is
.img
.
- INCLUDE_INFO_EXT
- The value assigned to this variable is a string that is automatically
appended by the standard output program to the GEDCOM identifier
(RIN) for an individual, to construct the name of an associated
external file to be included in the HTML output.
This file is inserted near the end of an individual page,
and it is intended to be used to include additional information
about the person, external to the GEDCOM file being processed.
The default value is
.inc
.
- INCLUDE_PATH
- The value assigned to this variable is a string that is
automatically prepended by the standard output program
to the GEDCOM identifier (RIN) for an individual,
to construct the name of an associated external file to be
included in the HTML output.
It is intended that this variable be used to specify the
name of a directory in which the files to be included can
be found.
The default value is the empty string, which means that the
files to be included will be taken from the directory in which
the current output file is being produced.
- INDEX_WIDTH
- The value assigned to this variable controls the maximum number of entries
in each page of the hierarchical persons index. The default
value is 28, which means that each index page will contain
links either up to 28 individual data pages, or up to 28
"lower-level" index pages. In general, the more entries per page,
the fewer "levels" of index are necessary to index a given
number of individuals.
Assigning 0 to this variable turns off the hierarchical index feature,
causing a "flat" index to be created in which all individuals
appear in a single index page.
Note that GED2HTML does not always put the maximum number of
individuals in an index page. Rather, it tries to adjust the
number of individuals in an index page to avoid producing lots
of "widow" pages that contain very few entries. It generally
succeeds at this, except that it is sometimes the case that
the top-level index page has as few as two entries in it.
This situation can generally be avoided by increasing the
index width a bit.
- INDIVIDUALS_PER_FILE
- Setting this variable to an integer value determines the number of
individuals GED2HTML will try to put in each of the individual
data files it creates. Putting several individuals in a single
file tends to save disk space on many systems. The default value
is 10. To force GED2HTML to put exactly one individual per file,
assign 0 to this variable.
NOTE: If "STABLE_FILENAMES" has a nonzero value (the default),
then GED2HTML treats a positive value assigned to
"INDIVIDUALS_PER_FILE" as a target value.
It does not necessarily guarantee to put exactly
the specified number of individuals in each file. If you must
have exactly the specified number of individuals in each file,
then initialize "STABLE_FILENAMES" to zero.
- LANGUAGE
- The string assigned to this variable selects the (human) language that
will be used to render the names of various GEDCOM tags in the
HTML output. For example, if "English" is assigned to LANGUAGE
then the GEDCOM tag "BIRT" will be rendered in the
output as "Birth". If, instead "French" is assigned to LANGUAGE,
then the GEDCOM tag "BIRT" will be rendered as "Naissance".
The currently available choices are "English", "French",
"Danish", "Dutch", "German", "Italian", "Norwegian", "Swedish",
"Finnish", and "Slovenian".
Setting the "LANGUAGE" variable actually has three distinct effects:
- Various GEDCOM tags in the input file are rendered in the
HTML output according to the chosen language.
For example, if "English" is chosen, then the GEDCOM tag
"BIRT" will be rendered as "Birth".
On the other hand, if "French" is chosen, then this tag
will be rendered as "Naissance".
The specific translations of the GEDCOM tags are compiled
into GED2HTML and are currently not directly customizable
by the user. This may change in a future version of GED2HTML.
- The chosen language influences the choice of certain text
strings and punctuation in the HTML output.
The complete list of these strings can be found in the
GED2HTML output program, and can be customized by modifying
this program, as described here.
- When you enter a language name in the "Language" field,
GED2HTML also initializes the "LOCALE" variable to
correspond to the chosen language.
The locale affects the translation and formatting of dates
that appear in the GED2HTML output, as well as the collating
sequence and upper/lower case conversions for international
characters.
The correspondence between languages and locales is
precompiled into GED2HTML. However, if you find that
the preselected locale to be inappropriate, you can set
the locale independently by setting the LOCALE
output interpreter variable to the desired locale name.
NOTE: Locales are not supported by GED2HTML running under
Windows 3.1.
See here for more details on
variables and the output interpreter.
For a list of all the output interpreter variables that can be
initialized to select processing options, see
here.
- LIVING_CUTOFF_YEAR
- This variable has an integer value. If nonzero, then GED2HTML
presumes that all individuals born or christened during this
year or a later year are living unless they also have an
explicitly recorded death or burial date, or unless
the variable LIVING_IGNORE_DEATH has a nonzero value.
The default value is zero, which disables this feature.
See here for more information on
eliding information about living individuals.
- LIVING_IGNORE_DEATH
- This variable has an integer value. If nonzero, then GED2HTML
does not automatically assume that a person is dead just
because there is death or burial information.
Setting this variable to a nonzero value, in combination
with an appropriate setting of LIVING_CUTOFF_YEAR, can
be used to suppress information about individuals born
or christened since a particular date.
The default value is one, which enables this feature.
Setting the value of this variable to zero causes personal
information to be output for persons born after LIVING_CUTOFF_YEAR,
as long as there is some death or burial information for
that person.
See here for more information on
eliding information about living individuals.
- LIVING_NOTE
- This variable has a string value, which is inserted as an explanatory
note on data pages for individuals that have automatically been
presumed to be living. Assigning to this variable changes the
default text of the note.
See here for more information on
eliding information about living individuals.
- LOCALE
- The string value of this variable controls the formatting of
dates, as well as the collating sequence and details of upper/lower
conversion for international characters.
Normally this variable does not need to be set explicitly,
as it is set automatically as a result of selecting a particular
output language. However, one can set this variable to override
the default choice associated with the selected output language.
The possible values are system dependent, and require that you
have knowledge of the locales supported by your operating system.
For additional related discussion, see
here.
NOTE: Locales are not supported by GED2HTML running under
Windows 3.1.
- NO_LDS_ORDINANCES
- If set to a nonzero value, then the production of output corresponding
to LDS ordinance information is suppressed.
The default value is zero.
- NOTES_PER_FILE
- For GEDCOMs containing many notes records, putting all the notes
in a single HTML file can produce a file that is too large to
be downloaded conveniently over the Web. Assigning a nonzero
value to this variable causes GED2HTML to output notes to multiple
files, with the total number of notes output in any one file
limited to the specified value. The default value is 0, which
means put all notes in a single notes file.
- NUMBER_OF_DIRECTORIES
- A nonzero number assigned to this variable forces GED2HTML to use a
fixed number of subdirectories to contain the individual data files.
The default value is 0, which permits GED2HTML to use as many
directories as it sees fit.
Note that a nonzero value assigned to this variable causes any value
entered in "INDIVIDUALS_PER_FILE" to be ignored, and GED2HTML
will put as many individuals as necessary in each file in order
to output all the individuals using the specified number of
directories and files per directory.
- OUTPUT_PROGRAM
- A string value assigned to this variable is interpreted as the
name of an alternate output program file, to be used
to control the production of the HTML output files.
See here for more information on
output programs.
- PEDIGREE_DATES
- If this variable is assigned a nonzero value, then birth/death
date information is placed in the pedigree charts output by the
pedigree
statement.
The default value is 1, meaning that dates are produced.
- PEDIGREE_DEPTH
- The value assigned to this variable controls the number of generations
of ancestors that appear in the pedigree charts output in each
individual data page. The default value is 2.
Assigning a value of 0 turns off the production of pedigree charts.
- SOURCES_PER_FILE
- For GEDCOMs containing many source records, putting all the sources
in a single HTML file can produce a file that is too large to
be downloaded conveniently over the Web. Assigning a nonzero
value to this variable causes GED2HTML to output sources to multiple
files, with the total number of sources output in any one file
limited to the specified value. The default value is 0, which
means put all sources in a single sources file.
- STABLE_FILENAMES
- Assigning a nonzero value to this variable enables a feature that
causes GED2HTML to use a "hash function" to calculate the directory
and file in which the data for a given individual will appear,
directly from the GEDCOM identifier (RIN) for that individual.
This has the advantage of making the mapping from individuals
to directory/file pairs "stable" under additions to and
deletions from the GEDCOM. This means that if you process
your GEDCOM once, then add some new individuals to it and
process your GEDCOM again, the second time all the individuals
that were there the previous time end up in the exact same
place in the output file as they did the first time.
This feature can be advantageous for linking from external
documents into the HTML tree output by GED2HTML.
See here for more details.
The default value is 1.
The disadvantages of using "STABLE_FILENAMES" are:
(1) GED2HTML has less control over exactly how many individuals
will end up in any given file; (2) the hash function randomizes
the individuals so that a particular file will generally contain
a number of completely unrelated individuals, rather than a group
of individuals with the same surname.
- SURNAME_WIDTH
- For large GEDCOMs, putting all the surnames in a single surnames
file can produce a file that is too large to download conveniently
over the Web. Assigning a nonzero value to this variable causes
GED2HTML to create a multiple-file surname index, in which the
number of surnames in any given file is limited to the specified
value. The default value is 0, which causes GED2HTML to put
all the surnames in a single file.
- UPPER_CASE_SURNAMES
- Assigning a nonzero value to this variable causes all surnames to be
converted into upper case as the GEDCOM is read. The default
value is 1. For international characters, conversion into
upper case depends on the current setting of the "LOCALE" variable.
- USE_LOCAL_TIME
- If this integer variable has a nonzero value, then time-of-day
information appearing in the output will be with respect to
the local time zone, rather than GMT (UTC).
The default value is zero.
Other Variables
Besides the above special variables, there are a few other variables
referenced by the default output program, which although not true
special variables in the sense that the GED2HTML output interpreter
has specialized support for them, nevertheless function as options flags
that modify the behavior of the standard output program.
- BACKGROUND_COLOR
- This variable has a string value, which is inserted on each
page of output as the "BGCOLOR" attribute of the HTML
"<BODY>" tag. For example, setting this variable to
"#ffffff" will set a white background.
- BACKGROUND_IMAGE
- This variable has a string value, which is inserted on each
page of output as the "BACKGROUND" attribute of the HTML
"<BODY>" tag. For example, setting this variable to
"foo.gif" will cause the image file "foo.gif" to be used
as the background image.
In general, you typically would set this variable to be
the full "absolute" URL of the location of the image file,
for example
http://www.starkeffect.com/images/foo.gif
.
If you don't do it this way, then you'll have to have a copy of
"foo.gif" in every subdirectory created by GED2HTML,
or else Web browsers will not always be able to locate the
image file.
- CONT_MEANS_BREAK
- If this variable has a nonzero value, then notes records in the GEDCOM
that are continued over several GEDCOM lines using the CONT tag
will be rendered in the HTML output with a line break
<BR> before each CONT line. Continuation lines that
use the CONC tag are rendered without a line break.
This seems to correspond to the spirit of what the GEDCOM
standard has to say about the use of CONT and CONC,
however the output of some genealogy programs looks ugly
this way. In such cases, assigning a value of zero to this
variable CONT be rendered exactly like CONC; that is, without a
line break. The default value is 1.
- FAMILY_GROUPS
- The integer value of this variable determines whether the
output will be in the "traditional" GED2HTML individual-based
format, or in a newer "family group sheet" format.
The default is zero, which means the traditional format is used.
- HOMEPAGE
- A string value assigned to this variable is interpreted as an
URL, and a hyperlink to this URL is inserted into each of the
output pages. The purpose is to make it easy for people to get
back to your home page, no matter where in your data
they are looking.
- INLINE_NOTES
- The integer value of this variable controls whether notes occuring
at level 0 in the GEDCOM file will be placed on the same page as
the individual or family that references them, or whether they
will instead be placed in a separate notes files.
The default value is zero, which means that the notes will
be placed in a separate notes file.
- INLINE_SOURCES
- The integer value of this variable controls whether sources occuring
at level 0 in the GEDCOM file will be placed on the same page as
the individual or family that references them, or whether they
will instead be placed in a separate sources files.
The default value is zero, which means that the sources will
be placed in a separate sources file.
- LINK_COLOR
- This variable has a string value, which is inserted on each
page of output as the "LINK" attribute of the HTML
"<BODY>" tag. For example, setting this variable to
"#00ff00" will cause hyperlinks to be rendered in green.
- MAILTO
- A string value assigned to this variable is interpreted as an
E-mail address, and an HTML "mailto:" link to this address is
inserted into the "top-level" persons and surnames index pages.
The purpose is to make it easy for people to contact you,
no matter where in your data they are looking.
- NO_ALPHABET_TABS
- The integer value of this variable controls whether or not
an "alphabet tab" style surnames index will be produced.
The default value is zero, which means that by default,
the alphabet tab style will be used for the surnames index,
as long as the special variable SURNAME_WIDTH is zero.
If NO_ALPHABET_TABS is nonzero, or SURNAME_WIDTH is nonzero,
then the "traditional" GED2HTML format will be used instead.
- OMIT_META
- The integer value of this variable controls whether or not
HTML "META" tags will be inserted into the output pages.
META tags supply various kinds of keywords and descriptive
information that can help a browser display the document, and
also can help Web indexing and search engines classify the
document more appropriately. The default value is 0,
which means that META tags will be output.
- TEXT_COLOR
- This variable has a string value, which is inserted on each
page of output as the "TEXT" attribute of the HTML
"<BODY>" tag. For example, setting this variable to
"#ff0000" will make red the default text color.
- VISITED_COLOR
- This variable has a string value, which is inserted on each
page of output as the "VLINK" attribute of the HTML
"<BODY>" tag. For example, setting this variable to
"#0000ff" will caused visited hyperlinks to be rendered in blue.
GED2HTML home page
Copyright © 1997-2000 Eugene W. Stark. All rights reserved.
SEND ME EMAIL