X-Git-Url: https://git.dlugolecki.net.pl/?a=blobdiff_plain;f=doc%2Finterface.html;h=5e9d8b23cb980f4eaef7fa1002067c3e40331fc8;hb=d7e1e0c33172af1165d3059f67d51ec099fa4e02;hp=68cea056841bd13363a64fd92462228750fcb435;hpb=5ae8605423ad98b85bebd61f9ecf97daa746d534;p=gedcom-parse.git diff --git a/doc/interface.html b/doc/interface.html index 68cea05..5e9d8b2 100644 --- a/doc/interface.html +++ b/doc/interface.html @@ -14,11 +14,11 @@
  • Gedcom_val types
  • @@ -825,9 +825,8 @@ element start callback.
    ELT_SUB_INDIV_RESI,
    ELT_SUB_INDIV_BIRT,
    ELT_SUB_INDIV_GEN,
    - ELT_SUB_INDIV_ADOP
    -
    -
    + ELT_SUB_INDIV_ADOP,
    +ELT_SUB_INDIV_EVEN
    STRING
    @@ -915,9 +914,8 @@ element start callback.
    ELT_SUB_INDIV_RESI,
    ELT_SUB_INDIV_BIRT,
    ELT_SUB_INDIV_GEN,
    - ELT_SUB_INDIV_ADOP
    -
    -
    + ELT_SUB_INDIV_ADOP,
    +ELT_SUB_INDIV_EVEN
    STRING
    @@ -929,7 +927,14 @@ element start callback.
    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)

    @@ -1047,8 +1052,8 @@ element start callback.
    ELT_SUB_INDIV_RESI,
    ELT_SUB_INDIV_BIRT,
    ELT_SUB_INDIV_GEN,
    - ELT_SUB_INDIV_ADOP
    -
    + ELT_SUB_INDIV_ADOP,
    +ELT_SUB_INDIV_EVEN
    STRING
    @@ -1064,10 +1069,8 @@ element start callback.
    ELT_SUB_INDIV_RESI,
    ELT_SUB_INDIV_BIRT,
    ELT_SUB_INDIV_GEN,
    - ELT_SUB_INDIV_ADOP
    -
    -
    -
    + ELT_SUB_INDIV_ADOP,
    +ELT_SUB_INDIV_EVEN
    DATE
    @@ -1083,9 +1086,8 @@ element start callback.
    ELT_SUB_INDIV_RESI,
    ELT_SUB_INDIV_BIRT,
    ELT_SUB_INDIV_GEN,
    - ELT_SUB_INDIV_ADOP

    -
    -
    + ELT_SUB_INDIV_ADOP,
    +ELT_SUB_INDIV_EVEN
    AGE
    @@ -1101,9 +1103,8 @@ element start callback.
    ELT_SUB_INDIV_RESI,
    ELT_SUB_INDIV_BIRT,
    ELT_SUB_INDIV_GEN,
    - ELT_SUB_INDIV_ADOP

    -
    -
    + ELT_SUB_INDIV_ADOP,
    +ELT_SUB_INDIV_EVEN
    STRING
    @@ -1119,9 +1120,8 @@ element start callback.
    ELT_SUB_INDIV_RESI,
    ELT_SUB_INDIV_BIRT,
    ELT_SUB_INDIV_GEN,
    - ELT_SUB_INDIV_ADOP

    -
    -
    + ELT_SUB_INDIV_ADOP,
    +ELT_SUB_INDIV_EVEN
    STRING
    @@ -1466,6 +1466,7 @@ element start callback.
    ELT_SUB_INDIV_BIRT,
    ELT_SUB_INDIV_GEN,
    ELT_SUB_INDIV_ADOP,
    +ELT_SUB_INDIV_EVEN,
    ELT_SUB_SOUR
    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,
    @@ -1857,13 +1865,13 @@ the value that is returned by GEDCOM_STRING(val) is always the s raw_value passed to the start callback, and is thus in fact redundant.

    The date value is used for all elements that return a date.  See -here for the definition.
    +here for the definition.

    The xref value is for cross-references between records in the file.  See -here for the definition.
    +here for the definition.

    -

    struct date_value

    +

    struct date_value

    This struct describes a date as given in the GEDCOM file, and has the following definition:
    @@ -1991,7 +1999,7 @@ the value that is returned by GEDCOM_STRING(val) is always the s
    -

    struct date
    +

    struct date

    The date1 and date2 also have a strict syntax:
    @@ -2176,7 +2184,7 @@ The modifier can be one of the following:
  • AGE_NO_MODIFIER : no modifier
  • AGE_LESS_THAN  : the modifier '<' is added
  • AGE_GREATER_THAN : the modifier '>' is added

  • -

    struct xref_value

    +

    struct xref_value

    This struct represents a cross-reference in the GEDCOM file (but note that the Gedcom_val contains a pointer to such a struct, not the struct @@ -2200,7 +2208,9 @@ be one of:
  • 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)
  • @@ -2211,6 +2221,10 @@ can be filled by the application with an object (of any type) that corresponds with the cross-reference, and then later extracted when the cross-reference is used or defined again in the file.  This relieves the application from the burden of maintaining the mapping between cross-references and objects.
    +
    +The value 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.

    The parser checks whether all cross-references that are used are defined (if not, an error is produced) and whether all cross-references that are @@ -2219,11 +2233,63 @@ the type of the cross-reference is the same on definition and use (if not, an error is produced).  The first two checks are done at the end of the parsing, because cross-references can be defined after their usage in GEDCOM.
    -
    +
    +The following functions are available to manipulate xref_value objects:
    +
    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 given key, to the given object, with a use count equal to 0.  Returns the new xref_value if success.  Returns NULL in one of the following cases:
    + +
    + 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:
    + +
    + 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.  Returns NULL in one of the following cases:
    + +
    +
    +
    +
    + +A cross-reference key must be a string of maximum 22 characters, of the following format:
    + +An example would thus be: "@This is an xref_val@".
    +
    $Id$
    $Name$


    +
    +
    +
    +
    \ No newline at end of file