X-Git-Url: https://git.dlugolecki.net.pl/?a=blobdiff_plain;f=doc%2Finterface.html;h=906aeea95a226a7d5c42ff8dfb988c55523d1d8e;hb=873c320ed054d11625baebb356e67f185cff5685;hp=65626e929686faeae53225ccde7dc1a3ad92d71f;hpb=697e964cef3b6c7d485c4ee2b6e7e823963e03f0;p=gedcom-parse.git diff --git a/doc/interface.html b/doc/interface.html index 65626e9..906aeea 100644 --- a/doc/interface.html +++ b/doc/interface.html @@ -14,11 +14,11 @@
  • Gedcom_val types
  • @@ -29,9 +29,9 @@

    Record identifiers

    The following table describes the identifiers to be used in the record - callbacks.  The last columns gives the + callbacks.  The last columns give the Gedcom_val type of the xref and  -val arguments in the header start callback.
    +val
    arguments in the record start and end callback.

    @@ -44,10 +44,12 @@ val arguments in the header start callback.
    - + + + + + + + + + + + + + + + + + + + + + + @@ -161,9 +183,9 @@ val arguments in the header start callback.

    Element identifiers

    The following table describes the identifiers to be used in the element - callbacks.  The last column gives the + callbacks.  The last columns give the Gedcom_val type of the val argument in the -element start callback.
    +element start and end callback.

    Possible
     xref types

    Possible
    - val types
    -

    -
    Possible start
    + val types

    +
    Possible end
    + val types

    +
    REC_HEAD
    @@ -57,7 +59,9 @@ val arguments in the header start callback.
    NULL
    NULL
    -
    NULL
    +
    REC_FAM
    @@ -67,7 +71,9 @@ val arguments in the header start callback.
    XREF_PTR(FAM)
    NULL
    -
    NULL
    +
    REC_INDI
    @@ -77,7 +83,9 @@ val arguments in the header start callback.
    XREF_PTR(INDI)
    NULL
    -
    NULL
    +
    REC_OBJE
    @@ -87,7 +95,9 @@ val arguments in the header start callback.
    XREF_PTR(OBJE)
    NULL
    -
    NULL
    +
    REC_NOTE
    @@ -97,7 +107,9 @@ val arguments in the header start callback.
    XREF_PTR(NOTE)
    STRING
    -
    STRING
    +
    REC_REPO
    @@ -107,7 +119,9 @@ val arguments in the header start callback.
    XREF_PTR(REPO)
    NULL
    -
    NULL
    +
    REC_SOUR
    @@ -117,7 +131,9 @@ val arguments in the header start callback.
    XREF_PTR(SOUR)
    NULL
    -
    NULL
    +
    REC_SUBN
    @@ -127,7 +143,9 @@ val arguments in the header start callback.
    XREF_PTR(SUBN)
    NULL
    -
    NULL
    +
    REC_SUBM
    @@ -137,7 +155,9 @@ val arguments in the header start callback.
    XREF_PTR(SUBM)
    NULL
    -
    NULL
    +
    REC_USER
    @@ -152,7 +172,9 @@ val arguments in the header start callback.
    NULL
    STRING
    XREF_PTR(USER)

    -
    NULL
    +
    @@ -177,10 +199,13 @@ element start callback.
    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1865,13 +2179,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:
    @@ -1998,8 +2312,11 @@ the value that is returned by GEDCOM_STRING(val) is always the s
    Used within
    Possible
    +
    Possible start
    val types

    -
    Possible end
    + val types

    +
    ELT_HEAD_SOUR
    @@ -190,7 +215,9 @@ element start callback.
    REC_HEAD
    STRING
    -
    NULL
    +
    ELT_HEAD_SOUR_VERS
    @@ -200,7 +227,9 @@ element start callback.
    ELT_HEAD_SOUR
    STRING
    -
    NULL
    +
    ELT_HEAD_SOUR_NAME
    @@ -210,7 +239,9 @@ element start callback.
    ELT_HEAD_SOUR
    STRING
    -
    NULL
    +
    ELT_HEAD_SOUR_CORP
    @@ -220,7 +251,9 @@ element start callback.
    ELT_HEAD_SOUR
    STRING
    -
    NULL
    +
    ELT_HEAD_SOUR_DATA
    @@ -230,7 +263,9 @@ element start callback.
    ELT_HEAD_SOUR
    STRING
    -
    NULL
    +
    ELT_HEAD_SOUR_DATA_DATE
    @@ -240,7 +275,9 @@ element start callback.
    ELT_HEAD_SOUR_DATA
    DATE
    -
    NULL
    +
    ELT_HEAD_SOUR_DATA_COPR
    @@ -250,7 +287,9 @@ element start callback.
    ELT_HEAD_SOUR_DATA
    STRING
    -
    NULL
    +
    ELT_HEAD_DEST
    @@ -260,7 +299,9 @@ element start callback.
    REC_HEAD
    STRING
    -
    NULL
    +
    ELT_HEAD_DATE
    @@ -270,7 +311,9 @@ element start callback.
    REC_HEAD
    DATE
    -
    NULL
    +
    ELT_HEAD_DATE_TIME
    @@ -280,7 +323,9 @@ element start callback.
    ELT_HEAD_DATE
    STRING
    -
    NULL
    +
    ELT_HEAD_SUBM
    @@ -290,7 +335,9 @@ element start callback.
    REC_HEAD
    XREF_PTR(SUBM)
    -
    NULL
    +
    ELT_HEAD_SUBN
    @@ -300,7 +347,9 @@ element start callback.
    REC_HEAD
    XREF_PTR(SUBN)
    -
    NULL
    +
    ELT_HEAD_FILE
    @@ -310,7 +359,9 @@ element start callback.
    REC_HEAD
    STRING
    -
    NULL
    +
    ELT_HEAD_COPR
    @@ -320,7 +371,9 @@ element start callback.
    REC_HEAD
    STRING
    -
    NULL
    +
    ELT_HEAD_GEDC
    @@ -330,7 +383,9 @@ element start callback.
    REC_HEAD
    NULL
    -
    NULL
    +
    ELT_HEAD_GEDC_VERS
    @@ -340,7 +395,9 @@ element start callback.
    ELT_HEAD_GEDC
    STRING
    -
    NULL
    +
    ELT_HEAD_GEDC_FORM
    @@ -350,7 +407,9 @@ element start callback.
    ELT_HEAD_GEDC
    STRING
    -
    NULL
    +
    ELT_HEAD_CHAR
    @@ -360,7 +419,9 @@ element start callback.
    REC_HEAD
    STRING
    -
    NULL
    +
    ELT_HEAD_CHAR_VERS
    @@ -370,7 +431,9 @@ element start callback.
    ELT_HEAD_CHAR
    STRING
    -
    NULL
    +
    ELT_HEAD_LANG
    @@ -380,7 +443,9 @@ element start callback.
    REC_HEAD
    STRING
    -
    NULL
    +
    ELT_HEAD_PLAC
    @@ -390,7 +455,9 @@ element start callback.
    REC_HEAD
    NULL
    -
    NULL
    +
    ELT_HEAD_PLAC_FORM
    @@ -400,7 +467,9 @@ element start callback.
    ELT_HEAD_PLAC
    STRING
    -
    NULL
    +
    ELT_HEAD_NOTE
    @@ -410,7 +479,9 @@ element start callback.
    REC_HEAD
    STRING
    -
    STRING
    +
    ELT_FAM_HUSB
    @@ -420,7 +491,9 @@ element start callback.
    REC_FAM
    XREF_PTR(INDI)
    -
    NULL
    +
    ELT_FAM_WIFE
    @@ -430,7 +503,9 @@ element start callback.
    REC_FAM
    XREF_PTR(INDI)
    -
    NULL
    +
    ELT_FAM_CHIL
    @@ -440,7 +515,9 @@ element start callback.
    REC_FAM
    XREF_PTR(INDI)
    -
    NULL
    +
    ELT_FAM_NCHI
    @@ -450,7 +527,9 @@ element start callback.
    REC_FAM
    STRING
    -
    NULL
    +
    ELT_FAM_SUBM
    @@ -460,7 +539,9 @@ element start callback.
    REC_FAM
    XREF_PTR(SUBM)
    -
    NULL
    +
    ELT_INDI_RESN
    @@ -470,7 +551,9 @@ element start callback.
    REC_INDI
    STRING
    -
    NULL
    +
    ELT_INDI_SEX
    @@ -480,7 +563,9 @@ element start callback.
    REC_INDI
    STRING
    -
    NULL
    +
    ELT_INDI_SUBM
    @@ -490,7 +575,9 @@ element start callback.
    REC_INDI
    XREF_PTR(SUBM)
    -
    NULL
    +
    ELT_INDI_ALIA
    @@ -500,7 +587,9 @@ element start callback.
    REC_INDI
    XREF_PTR(INDI)
    -
    NULL
    +
    ELT_INDI_ANCI
    @@ -510,7 +599,9 @@ element start callback.
    REC_INDI
    XREF_PTR(SUBM)
    -
    NULL
    +
    ELT_INDI_DESI
    @@ -520,7 +611,9 @@ element start callback.
    REC_INDI
    XREF_PTR(SUBM)
    -
    NULL
    +
    ELT_INDI_RFN
    @@ -530,7 +623,9 @@ element start callback.
    REC_INDI
    STRING
    -
    NULL
    +
    ELT_INDI_AFN
    @@ -540,7 +635,9 @@ element start callback.
    REC_INDI
    STRING
    -
    NULL
    +
    ELT_OBJE_FORM
    @@ -550,7 +647,9 @@ element start callback.
    REC_OBJE
    STRING
    -
    NULL
    +
    ELT_OBJE_TITL
    @@ -560,7 +659,9 @@ element start callback.
    REC_OBJE
    STRING
    -
    NULL
    +
    ELT_OBJE_BLOB
    @@ -570,7 +671,9 @@ element start callback.
    REC_OBJE
    NULL
    -
    STRING
    +
    ELT_OBJE_BLOB_CONT
    @@ -580,7 +683,9 @@ element start callback.
    ELT_OBJE_BLOB
    STRING
    -
    NULL
    +
    ELT_OBJE_OBJE
    @@ -590,7 +695,9 @@ element start callback.
    REC_OBJE
    XREF_PTR(OBJE)
    -
    NULL
    +
    ELT_REPO_NAME
    @@ -600,7 +707,9 @@ element start callback.
    REC_REPO
    STRING
    -
    NULL
    +
    ELT_SOUR_DATA
    @@ -610,7 +719,9 @@ element start callback.
    REC_SOUR
    NULL
    -
    NULL
    +
    ELT_SOUR_DATA_EVEN
    @@ -620,7 +731,9 @@ element start callback.
    ELT_SOUR_DATA
    STRING
    -
    NULL
    +
    ELT_SOUR_DATA_EVEN_DATE
    @@ -630,7 +743,9 @@ element start callback.
    ELT_SOUR_DATA_EVEN
    DATE
    -
    NULL
    +
    ELT_SOUR_DATA_EVEN_PLAC
    @@ -640,7 +755,9 @@ element start callback.
    ELT_SOUR_DATA_EVEN
    STRING
    -
    NULL
    +
    ELT_SOUR_DATA_AGNC
    @@ -650,7 +767,9 @@ element start callback.
    ELT_SOUR_DATA
    STRING
    -
    NULL
    +
    ELT_SOUR_AUTH
    @@ -660,7 +779,9 @@ element start callback.
    REC_SOUR
    STRING
    -
    STRING
    +
    ELT_SOUR_TITL
    @@ -670,7 +791,9 @@ element start callback.
    REC_SOUR
    STRING
    -
    STRING
    +
    ELT_SOUR_ABBR
    @@ -680,7 +803,9 @@ element start callback.
    REC_SOUR
    STRING
    -
    NULL
    +
    ELT_SOUR_PUBL
    @@ -690,7 +815,9 @@ element start callback.
    REC_SOUR
    STRING
    -
    STRING
    +
    ELT_SOUR_TEXT
    @@ -700,7 +827,9 @@ element start callback.
    REC_SOUR
    STRING
    -
    STRING
    +
    ELT_SUBN_SUBM
    @@ -710,7 +839,9 @@ element start callback.
    REC_SUBN
    XREF_PTR(SUBM)
    -
    NULL
    +
    ELT_SUBN_FAMF
    @@ -720,7 +851,9 @@ element start callback.
    REC_SUBN
    STRING
    -
    NULL
    +
    ELT_SUBN_TEMP
    @@ -730,7 +863,9 @@ element start callback.
    REC_SUBN
    STRING
    -
    NULL
    +
    ELT_SUBN_ANCE
    @@ -740,7 +875,9 @@ element start callback.
    REC_SUBN
    STRING
    -
    NULL
    +
    ELT_SUBN_DESC
    @@ -750,7 +887,9 @@ element start callback.
    REC_SUBN
    STRING
    -
    NULL
    +
    ELT_SUBN_ORDI
    @@ -760,7 +899,9 @@ element start callback.
    REC_SUBN
    STRING
    -
    NULL
    +
    ELT_SUBN_RIN
    @@ -770,7 +911,9 @@ element start callback.
    REC_SUBN
    STRING
    -
    NULL
    +
    ELT_SUBM_NAME
    @@ -780,7 +923,9 @@ element start callback.
    REC_SUBM
    STRING
    -
    NULL
    +
    ELT_SUBM_LANG
    @@ -790,7 +935,9 @@ element start callback.
    REC_SUBM
    STRING
    -
    NULL
    +
    ELT_SUBM_RFN
    @@ -800,7 +947,9 @@ element start callback.
    REC_SUBM
    STRING
    -
    NULL
    +
    ELT_SUBM_RIN
    @@ -810,7 +959,9 @@ element start callback.
    REC_SUBM
    STRING
    -
    NULL
    +
    ELT_SUB_ADDR
    @@ -829,7 +980,9 @@ element start callback.
    ELT_SUB_INDIV_EVEN
    STRING
    -
    STRING
    +
    ELT_SUB_ADDR_CONT
    @@ -839,7 +992,9 @@ ELT_SUB_INDIV_EVEN
    ELT_SUB_ADDR
    STRING
    -
    NULL
    +
    ELT_SUB_ADDR_ADR1
    @@ -849,7 +1004,9 @@ ELT_SUB_INDIV_EVEN
    ELT_SUB_ADDR
    STRING
    -
    NULL
    +
    ELT_SUB_ADDR_ADR2
    @@ -859,7 +1016,9 @@ ELT_SUB_INDIV_EVEN
    ELT_SUB_ADDR
    STRING
    -
    NULL
    +
    ELT_SUB_ADDR_CITY
    @@ -869,7 +1028,9 @@ ELT_SUB_INDIV_EVEN
    ELT_SUB_ADDR
    STRING
    -
    NULL
    +
    ELT_SUB_ADDR_STAE
    @@ -879,7 +1040,9 @@ ELT_SUB_INDIV_EVEN
    ELT_SUB_ADDR
    STRING
    -
    NULL
    +
    ELT_SUB_ADDR_POST
    @@ -889,7 +1052,9 @@ ELT_SUB_INDIV_EVEN
    ELT_SUB_ADDR
    STRING
    -
    NULL
    +
    ELT_SUB_ADDR_CTRY
    @@ -899,7 +1064,9 @@ ELT_SUB_INDIV_EVEN
    ELT_SUB_ADDR
    STRING
    -
    NULL
    +
    ELT_SUB_PHON
    @@ -918,7 +1085,9 @@ ELT_SUB_INDIV_EVEN
    ELT_SUB_INDIV_EVEN
    STRING
    -
    NULL
    +
    ELT_SUB_ASSO
    @@ -935,7 +1104,9 @@ XREF_PTR(REPO),
    XREF_PTR(SOUR),
    XREF_PTR(SUBM),
    XREF_PTR(SUBN)
    -
    NULL
    +
    ELT_SUB_ASSO_TYPE
    @@ -945,7 +1116,9 @@ XREF_PTR(SUBN)
    ELT_SUB_ASSO
    STRING
    -
    NULL
    +
    ELT_SUB_ASSO_RELA
    @@ -955,7 +1128,9 @@ XREF_PTR(SUBN)
    ELT_SUB_ASSO
    STRING
    -
    NULL
    +
    ELT_SUB_CHAN
    @@ -969,7 +1144,9 @@ XREF_PTR(SUBN)

    NULL
    -
    NULL
    +
    ELT_SUB_CHAN_DATE
    @@ -979,7 +1156,9 @@ XREF_PTR(SUBN)
    ELT_SUB_CHAN
    DATE
    -
    NULL
    +
    ELT_SUB_CHAN_TIME
    @@ -989,7 +1168,9 @@ XREF_PTR(SUBN)
    ELT_SUB_CHAN_DATE
    STRING
    -
    NULL
    +
    ELT_SUB_FAMC
    @@ -999,7 +1180,9 @@ XREF_PTR(SUBN)
    REC_INDI
    XREF_PTR(FAM)
    -
    NULL
    +
    ELT_SUB_FAMC_PEDI
    @@ -1009,7 +1192,9 @@ XREF_PTR(SUBN)
    ELT_SUB_FAMC
    STRING
    -
    NULL
    +
    ELT_SUB_CONT
    @@ -1024,7 +1209,9 @@ XREF_PTR(SUBN)

    STRING
    -
    NULL
    +
    ELT_SUB_CONC
    @@ -1039,7 +1226,9 @@ XREF_PTR(SUBN)

    STRING
    -
    NULL
    +
    ELT_SUB_EVT_TYPE
    @@ -1056,7 +1245,9 @@ XREF_PTR(SUBN)
    ELT_SUB_INDIV_EVEN
    STRING
    -
    NULL
    +
    ELT_SUB_EVT_DATE
    @@ -1073,7 +1264,9 @@ ELT_SUB_INDIV_EVEN
    ELT_SUB_INDIV_EVEN
    DATE
    -
    NULL
    +
    ELT_SUB_EVT_AGE
    @@ -1090,7 +1283,9 @@ ELT_SUB_INDIV_EVEN
    ELT_SUB_INDIV_EVEN
    AGE
    -
    NULL
    +
    ELT_SUB_EVT_AGNC
    @@ -1107,7 +1302,9 @@ ELT_SUB_INDIV_EVEN
    ELT_SUB_INDIV_EVEN
    STRING
    -
    NULL
    +
    ELT_SUB_EVT_CAUS
    @@ -1124,7 +1321,9 @@ ELT_SUB_INDIV_EVEN
    ELT_SUB_INDIV_EVEN
    STRING
    -
    NULL
    +
    ELT_SUB_FAM_EVT
    @@ -1138,7 +1337,9 @@ ELT_SUB_INDIV_EVEN
    NULL
    STRING

    -
    NULL
    +
    ELT_SUB_FAM_EVT_HUSB
    @@ -1149,7 +1350,9 @@ ELT_SUB_INDIV_EVEN
    ELT_SUB_FAM_EVT_EVEN
    NULL
    -
    NULL
    +
    ELT_SUB_FAM_EVT_WIFE
    @@ -1160,7 +1363,9 @@ ELT_SUB_INDIV_EVEN
    ELT_SUB_FAM_EVT_EVEN
    NULL
    -
    NULL
    +
    ELT_SUB_FAM_EVT_AGE
    @@ -1171,7 +1376,9 @@ ELT_SUB_INDIV_EVEN
    ELT_SUB_FAM_EVT_WIFE
    AGE
    -
    NULL
    +
    ELT_SUB_FAM_EVT_EVEN
    @@ -1181,7 +1388,9 @@ ELT_SUB_INDIV_EVEN
    REC_FAM
    NULL
    -
    NULL
    +
    ELT_SUB_IDENT_REFN
    @@ -1194,7 +1403,9 @@ ELT_SUB_INDIV_EVEN

    STRING
    -
    NULL
    +
    ELT_SUB_IDENT_REFN_TYPE
    @@ -1204,7 +1415,9 @@ ELT_SUB_INDIV_EVEN
    ELT_SUB_IDENT_REFN
    STRING
    -
    NULL
    +
    ELT_SUB_IDENT_RIN
    @@ -1217,7 +1430,9 @@ ELT_SUB_INDIV_EVEN

    STRING
    -
    NULL
    +
    ELT_SUB_INDIV_ATTR
    @@ -1230,7 +1445,9 @@ ELT_SUB_INDIV_EVEN
    REC_INDI
    STRING
    -
    NULL
    +
    ELT_SUB_INDIV_RESI
    @@ -1240,7 +1457,9 @@ ELT_SUB_INDIV_EVEN
    REC_INDI
    NULL
    -
    NULL
    +
    ELT_SUB_INDIV_BIRT
    @@ -1251,7 +1470,9 @@ ELT_SUB_INDIV_EVEN
    NULL
    STRING

    -
    NULL
    +
    ELT_SUB_INDIV_BIRT_FAMC
    @@ -1261,7 +1482,9 @@ ELT_SUB_INDIV_EVEN
    ELT_SUB_INDIV_BIRT
    XREF_PTR(FAM)
    -
    NULL
    +
    ELT_SUB_INDIV_GEN
    @@ -1278,7 +1501,9 @@ ELT_SUB_INDIV_EVEN
    NULL
    STRING

    -
    NULL
    +
    ELT_SUB_INDIV_ADOP
    @@ -1289,7 +1514,9 @@ ELT_SUB_INDIV_EVEN
    NULL
    STRING

    -
    NULL
    +
    ELT_SUB_INDIV_ADOP_FAMC
    @@ -1299,7 +1526,9 @@ ELT_SUB_INDIV_EVEN
    ELT_SUB_INDIV_ADOP
    XREF_PTR(FAM)
    -
    NULL
    +
    ELT_SUB_INDIV_ADOP_FAMC_ADOP
    @@ -1309,7 +1538,9 @@ ELT_SUB_INDIV_EVEN
    ELT_SUB_INDIV_ADOP_FAMC
    STRING
    -
    NULL
    +
    ELT_SUB_INDIV_EVEN
    @@ -1319,7 +1550,9 @@ ELT_SUB_INDIV_EVEN
    REC_INDI
    NULL
    -
    NULL
    +
    ELT_SUB_LIO_BAPL
    @@ -1329,7 +1562,9 @@ ELT_SUB_INDIV_EVEN
    REC_INDI
    NULL
    -
    NULL
    +
    ELT_SUB_LIO_BAPL_STAT
    @@ -1341,7 +1576,9 @@ ELT_SUB_INDIV_EVEN

    STRING
    -
    NULL
    +
    ELT_SUB_LIO_BAPL_DATE
    @@ -1354,7 +1591,9 @@ ELT_SUB_INDIV_EVEN

    DATE
    -
    NULL
    +
    ELT_SUB_LIO_BAPL_TEMP
    @@ -1367,7 +1606,9 @@ ELT_SUB_INDIV_EVEN

    STRING
    -
    NULL
    +
    ELT_SUB_LIO_BAPL_PLAC
    @@ -1380,7 +1621,9 @@ ELT_SUB_INDIV_EVEN

    STRING
    -
    NULL
    +
    ELT_SUB_LIO_SLGC
    @@ -1390,7 +1633,9 @@ ELT_SUB_INDIV_EVEN
    REC_INDI
    NULL
    -
    NULL
    +
    ELT_SUB_LIO_SLGC_FAMC
    @@ -1400,7 +1645,9 @@ ELT_SUB_INDIV_EVEN
    ELT_SUB_LIO_SLGC
    XREF_PTR(FAM)
    -
    NULL
    +
    ELT_SUB_LSS_SLGS
    @@ -1410,7 +1657,9 @@ ELT_SUB_INDIV_EVEN
    REC_FAM
    NULL
    -
    NULL
    +
    ELT_SUB_LSS_SLGS_STAT
    @@ -1420,7 +1669,9 @@ ELT_SUB_INDIV_EVEN
    ELT_SUB_LSS_SLGS
    STRING
    -
    NULL
    +
    ELT_SUB_LSS_SLGS_DATE
    @@ -1430,7 +1681,9 @@ ELT_SUB_INDIV_EVEN
    ELT_SUB_LSS_SLGS
    DATE
    -
    NULL
    +
    ELT_SUB_LSS_SLGS_TEMP
    @@ -1440,7 +1693,9 @@ ELT_SUB_INDIV_EVEN
    ELT_SUB_LSS_SLGS
    STRING
    -
    NULL
    +
    ELT_SUB_LSS_SLGS_PLAC
    @@ -1450,7 +1705,9 @@ ELT_SUB_INDIV_EVEN
    ELT_SUB_LSS_SLGS
    STRING
    -
    NULL
    +
    ELT_SUB_MULTIM_OBJE
    @@ -1472,7 +1729,9 @@ ELT_SUB_INDIV_EVEN,
    NULL
    XREF_PTR(OBJE)

    -
    NULL
    +
    ELT_SUB_MULTIM_OBJE_FORM
    @@ -1482,7 +1741,9 @@ ELT_SUB_INDIV_EVEN,
    ELT_SUB_MULTIM_OBJE
    STRING
    -
    NULL
    +
    ELT_SUB_MULTIM_OBJE_TITL
    @@ -1492,7 +1753,9 @@ ELT_SUB_INDIV_EVEN,
    ELT_SUB_MULTIM_OBJE
    STRING
    -
    NULL
    +
    ELT_SUB_MULTIM_OBJE_FILE
    @@ -1502,7 +1765,9 @@ ELT_SUB_INDIV_EVEN,
    ELT_SUB_MULTIM_OBJE
    STRING
    -
    NULL
    +
    ELT_SUB_NOTE
    @@ -1535,7 +1800,11 @@ ELT_SUB_INDIV_EVEN,
    STRING
    XREF_PTR(NOTE)

    -
    STRING
    +
    +NULL

    +
    ELT_SUB_PERS_NAME
    @@ -1545,7 +1814,9 @@ ELT_SUB_INDIV_EVEN,
    REC_INDI
    STRING
    -
    NULL
    +
    ELT_SUB_PERS_NAME_NPFX
    @@ -1555,7 +1826,9 @@ ELT_SUB_INDIV_EVEN,
    ELT_SUB_PERS_NAME
    STRING
    -
    NULL
    +
    ELT_SUB_PERS_NAME_GIVN
    @@ -1565,7 +1838,9 @@ ELT_SUB_INDIV_EVEN,
    ELT_SUB_PERS_NAME
    STRING
    -
    NULL
    +
    ELT_SUB_PERS_NAME_NICK
    @@ -1575,7 +1850,9 @@ ELT_SUB_INDIV_EVEN,
    ELT_SUB_PERS_NAME
    STRING
    -
    NULL
    +
    ELT_SUB_PERS_NAME_SPFX
    @@ -1585,7 +1862,9 @@ ELT_SUB_INDIV_EVEN,
    ELT_SUB_PERS_NAME
    STRING
    -
    NULL
    +
    ELT_SUB_PERS_NAME_SURN
    @@ -1595,7 +1874,9 @@ ELT_SUB_INDIV_EVEN,
    ELT_SUB_PERS_NAME
    STRING
    -
    NULL
    +
    ELT_SUB_PERS_NAME_NSFX
    @@ -1605,7 +1886,9 @@ ELT_SUB_INDIV_EVEN,
    ELT_SUB_PERS_NAME
    STRING
    -
    NULL
    +
    ELT_SUB_PLAC
    @@ -1623,7 +1906,9 @@ ELT_SUB_INDIV_BIRT,
    ELT_SUB_INDIV_EVEN
    STRING
    -
    NULL
    +
    ELT_SUB_PLAC_FORM
    @@ -1633,7 +1918,9 @@ ELT_SUB_INDIV_EVEN
    ELT_SUB_PLAC
    STRING
    -
    NULL
    +
    ELT_SUB_SOUR
    @@ -1659,7 +1946,10 @@ ELT_SUB_INDIV_EVEN,
    STRING
    XREF_PTR(SOUR)

    -
    STRING
    +NULL

    +
    ELT_SUB_SOUR_PAGE
    @@ -1669,7 +1959,9 @@ ELT_SUB_INDIV_EVEN,
    ELT_SUB_SOUR
    STRING
    -
    NULL
    +
    ELT_SUB_SOUR_EVEN
    @@ -1679,7 +1971,9 @@ ELT_SUB_INDIV_EVEN,
    ELT_SUB_SOUR
    STRING
    -
    NULL
    +
    ELT_SUB_SOUR_EVEN_ROLE
    @@ -1689,7 +1983,9 @@ ELT_SUB_INDIV_EVEN,
    ELT_SUB_SOUR_EVEN
    STRING
    -
    NULL
    +
    ELT_SUB_SOUR_DATA
    @@ -1699,7 +1995,9 @@ ELT_SUB_INDIV_EVEN,
    ELT_SUB_SOUR
    NULL
    -
    NULL
    +
    ELT_SUB_SOUR_DATA_DATE
    @@ -1709,7 +2007,9 @@ ELT_SUB_INDIV_EVEN,
    ELT_SUB_SOUR_DATA
    DATE
    -
    NULL
    +
    ELT_SUB_SOUR_TEXT
    @@ -1720,7 +2020,9 @@ ELT_SUB_INDIV_EVEN,
    ELT_SUB_SOUR_DATA
    STRING
    -
    NULL
    +
    ELT_SUB_SOUR_QUAY
    @@ -1730,7 +2032,9 @@ ELT_SUB_INDIV_EVEN,
    ELT_SUB_SOUR
    STRING
    -
    NULL
    +
    ELT_SUB_REPO
    @@ -1740,7 +2044,9 @@ ELT_SUB_INDIV_EVEN,
    REC_SOUR
    XREF_PTR(REPO)
    -
    NULL
    +
    ELT_SUB_REPO_CALN
    @@ -1750,7 +2056,9 @@ ELT_SUB_INDIV_EVEN,
    ELT_SUB_REPO
    STRING
    -
    NULL
    +
    ELT_SUB_REPO_CALN_MEDI
    @@ -1760,7 +2068,9 @@ ELT_SUB_INDIV_EVEN,
    ELT_SUB_REPO_CALN
    STRING
    -
    NULL
    +
    ELT_SUB_FAMS
    @@ -1770,7 +2080,9 @@ ELT_SUB_INDIV_EVEN,
    REC_INDI
    XREF_PTR(FAM)
    -
    NULL
    +
    ELT_USER
    @@ -1783,7 +2095,9 @@ ELT_SUB_INDIV_EVEN,
    NULL
    STRING
    XREF_PTR(USER)

    -
    NULL
    +

    +The following function creates a new date_value struct and initializes it properly, or copies an existing date value: +
    struct date_value* gedcom_new_date_value (struct date_value* copy_from);
    +If the parameter copy_from is NULL, a new value is created and given initial values.  If it is non-NULL, the value is copied into a new date value.
    -

    struct date
    +

    struct date

    The date1 and date2 also have a strict syntax:
    @@ -2101,10 +2418,85 @@ to DATE_BOUNDED.
    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.
    + +
    + +
    +To ensure that an updated date value is consistent, i.e. all +its struct fields are consistent with each other, the following function +can be used:
    +
    int gedcom_normalize_date (Date_input compute_from, struct date_value* value);
    + +The compute_from parameter determines which fields +will be taken as input to compute the other fields.  The following table +gives an overview of the input and output parameters (the calendar type cal is always an input parameter, and should not be CAL_UNKNOWN):
    +
    + + + + + + + + + + + + + + + + + + + + + + + +
    compute_from
    +
    input parameters
    +
    output parameters
    +
    DI_FROM_STRINGS
    +
    day_str, month_str, year_str
    +
    day, month, year, year_type
    +type, sdn1, sdn2

    +
    DI_FROM_NUMBERS
    +
    day, month, year, year_type
    +
    day_str, month_str, year_str
    + +type, sdn1, sdn2

    +
    DI_FROM_SDN
    +
    type, sdn1, sdn2
    +
    day, month, year
    +day_str, month_str, year_str

    +
    +
    +If the type in the date value is DV_PHRASE, no conversions take +place, otherwise one or both of the date structs are processed according +to the table above, depending on the type.  The function returns 0 in case of success, non-zero in case of an error.
    +
    +This function could also be used to convert a date from one calendar to another, +because the serial day number is calendar independent (error handling is +ignored in this example):
    +
    struct date_value* dv = gedcom_new_date_value(NULL);
    +dv->date1.cal = CAL_GREGORIAN;
    +dv->date1.day   = 4
    ;
    + dv->date1.month = 2;
    +dv->date1.year  = 1799;
    +dv->date1.year_type = YEAR_SINGLE;
    +gedcom_normalize_date(DI_FROM_NUMBERS, dv);
    +
    +dv->date1.cal = CAL_FRENCH_REV;
    +gedcom_normalize_date(DI_FROM_SDN, dv);
    +/* the day, month and year are now filled in according to the French Revolution calendar */

    +
    + +
    +
    + -
    -

    struct age_value

    This struct describes an age as given in the GEDCOM file, and has the @@ -2183,8 +2575,11 @@ The modifier can be one of the following:
    -
    -

    struct xref_value

    +The following function creates a new age_value struct and initializes it properly, or copies an existing age value: +
    struct age_value* gedcom_new_age_value (struct age_value* copy_from);
    + +If the parameter copy_from is NULL, a new value is created and given initial values.  If it is non-NULL, the value is copied into a new age 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 @@ -2234,11 +2629,56 @@ 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.

    -An xref_value can also be retrieved by its key via the following function:
    - -
    struct xref_value* gedcom_get_by_xref (char *key)
    +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:
    +
      +
    • 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 and gedcom_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.  Returns NULL 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
      +
    • +
    +
    +
    +
    -The function returns NULL if the given key isn't used.
    + +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$
    @@ -2248,4 +2688,7 @@ The function returns NULL if the given key isn't used.



    +
    +
    +
    \ No newline at end of file