X-Git-Url: https://git.dlugolecki.net.pl/?a=blobdiff_plain;f=doc%2Finterface.html;h=5e9d8b23cb980f4eaef7fa1002067c3e40331fc8;hb=133000dc1075930c51adae600c732ee1ab9ffab0;hp=c27e3d07664a6cc826670865b420eddb2b47700b;hpb=6d7fe09b0eab9dd8ea3c209d59589bea6514a48c;p=gedcom-parse.git diff --git a/doc/interface.html b/doc/interface.html index c27e3d0..5e9d8b2 100644 --- a/doc/interface.html +++ b/doc/interface.html @@ -1,9 +1,7 @@
STRING
STRING
REC_INDI
XREF_PTR(INDI)
XREF_PTR(FAM),
+XREF_PTR(INDI),
+XREF_PTR(NOTE),
+XREF_PTR(OBJE),
+XREF_PTR(REPO),
+XREF_PTR(SOUR),
+XREF_PTR(SUBM),
+XREF_PTR(SUBN)
STRING
DATE
,
ELT_SUB_INDIV_BIRT,
ELT_SUB_INDIV_GEN,
- ELT_SUB_INDIV_ADOP
STRING
AGE
,
ELT_SUB_INDIV_BIRT,
ELT_SUB_INDIV_GEN,
- ELT_SUB_INDIV_ADOP
STRING
,
ELT_SUB_INDIV_BIRT,
ELT_SUB_INDIV_GEN,
- ELT_SUB_INDIV_ADOP
STRING
ELT_SUB_FAM_EVT_HUSB
,ELT_SUB_FAM_EVT_WIFE
STRING
AGE
NULL
@@ -1519,6 +1520,7 @@ element start callback.
ELT_SUB_INDIV_BIRT,
ELT_SUB_INDIV_GEN,
ELT_SUB_INDIV_ADOP,
+ELT_SUB_INDIV_EVEN,
ELT_SUB_LIO_BAPL,
ELT_SUB_LIO_SLGC,
ELT_SUB_LSS_SLGS,
@@ -1613,7 +1615,12 @@ element start callback.
ELT_SUB_FAM_EVT
,
ELT_SUB_FAM_EVT_EVEN,
ELT_SUB_INDIV_ATTR,
- ELT_SUB_INDIV_RESI
+ ELT_SUB_INDIV_RESI,
+
+ELT_SUB_INDIV_BIRT,
+ ELT_SUB_INDIV_GEN,
+ ELT_SUB_INDIV_ADOP,
+ELT_SUB_INDIV_EVEN
STRING
@@ -1642,6 +1649,7 @@ element start callback.
ELT_SUB_INDIV_BIRT,
ELT_SUB_INDIV_GEN,
ELT_SUB_INDIV_ADOP,
+ELT_SUB_INDIV_EVEN,
ELT_SUB_LIO_BAPL,
ELT_SUB_LIO_SLGC,
ELT_SUB_LSS_SLGS,
@@ -1822,6 +1830,14 @@ element start callback.
struct date_value dv = GEDCOM_DATE(val);
GEDCOM_IS_AGE(val)
struct age_value age = GEDCOM_AGE(val);
GEDCOM_IS_XREF_PTR(val)
GEDCOM_STRING(val)
is always the s
raw_value
passed to the start callback, and is thus in fact redundant.GEDCOM_STRING(val)
is always the s
date1
and date2
also have a strict syntax:-+ -These are represented by 2 serial day numbers (+sdn1
andsdn2
) and aDate_type
equal + +These are represented by 2 serial day numbers (+ +sdn1
andsdn2
) and aDate_type
equal toDATE_BOUNDED
.
-
+
+ For example, the Gregorian date "MAR 1990" is represented by the serial day numbers for "1 MAR 1990" and "31 MAR 1990", and the Gregorian date "1990" is represented by the serial day numbers for "1 JAN 1990" and "31 DEC 1990". Similarly for the other calendar types.
+
+struct age_value
+ + This struct describes an age as given in the GEDCOM file, and has the + following definition:
+ + ++struct age_value {
+ Age_type type;
+ Age_modifier mod;
+ int years;
+ int months;
+ int days;
+ char phrase[MAX_PHRASE_LEN + + 1];
+ };
+-
Age_type + |
+ Meaning + |
+ Relevant members + |
+
AGE_UNRECOGNIZED + |
+ format not recognized, full raw value in phrase + |
+ phrase + |
+
AGE_CHILD + |
+ the indication 'CHILD' + |
+ mod + |
+
AGE_INFANT + |
+ the indication 'INFANT' + |
+ mod + |
+
AGE_STILLBORN + |
+ the indication 'STILLBORN' + |
+ mod + |
AGE_NUMERIC + |
+ an indication in years, months and/or days (each can be -1 if not given) + |
+ mod, years, months, days + |
+
AGE_NO_MODIFIER
: no modifierAGE_LESS_THAN
: the modifier '<' is addedAGE_GREATER_THAN
: the modifier '>' is addedGedcom_val
contains a pointer to such a struct, not the struct
itself). It is defined as:XREF_REPO
XREF_SOUR
XREF_SUBM
XREF_SUBN
XREF_SUBN
XREF_ANY
(if the type is not known, see below)XREF_USER
(for application-specific cross-references)
XREF_ANY
is used when the type of the object is not
+immediately known: it has to come from further information. This is
+the case in an association (ELT_SUB_ASSO
): the type is then given by the TYPE
subtag.+struct xref_value* gedcom_get_by_xref (const char *key)
+Retrieve an xref_value by its key. Returns+NULL
if the given key isn't a valid cross-reference key (see below) or isn't used.
+struct xref_value* gedcom_add_xref (Xref_type type, const char* key, Gedcom_ctxt object)
+Add an xref_value of the given+type
(see list above), with the givenkey
, to the givenobject
, with a use count equal to 0. Returns the new xref_value if success. ReturnsNULL
in one of the following cases:
++
+- the key isn't a valid cross-reference key (see below)
+- there is already an xref_value with the same key
+- there was a memory allocation error
+int gedcom_delete_xref (const char* key)
+
+Delete the xref_value corresponding to the given key. Returns 0 if success. Returns 1 in one of the following cases:+
++
+- the key isn't a valid cross-reference key (see below)
+- there is no xref_value with the given key
+- the xref_value is still in use, i.e. its use count is not 0 (see
+gedcom_link_xref
andgedcom_unlink_xref
below)struct xref_value* gedcom_link_xref (Xref_type type, const char* key)
+struct xref_value* gedcom_unlink_xref (Xref_type type, const char* key)
+Declare the xref_value corresponding to the given key as being +used/no longer used (linked to or unlinked) as the given type. The +use of these functions is not mandatory, but it can aid in spotting places in the code where xref_value objects are deleted while they are still referenced.+
+
+Returns the xref_value object if success, and its use count is incremented/decremented. ReturnsNULL
in one of the following cases:
++
+- the key isn't a valid cross-reference key (see below)
+- there is no xref_value with the given key
+- the xref_value was previously added as another type than the type provided here
+
+
++ +A cross-reference key must be a string of maximum 22 characters, of the following format:
$Id$
$Name$