Difference between revisions of "Gramps XML"
(→Gramps XML Resources) |
m (→Parsing Gramps XML file: linkrot for GrampsXMLview) |
||
(15 intermediate revisions by 4 users not shown) | |||
Line 9: | Line 9: | ||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
!Gramps release | !Gramps release | ||
− | !XML | + | !XML schema |
− | !Imports XML | + | !Imports XML schema |
!Database | !Database | ||
!Example | !Example | ||
Line 18: | Line 18: | ||
| no change against 4.2 yet | | no change against 4.2 yet | ||
| >= 1.0.0 - best 1.7 | | >= 1.0.0 - best 1.7 | ||
− | | | + | | 19 |
| Unreleased <br />[{{Code Browser}}/tree/master/example/gramps/example.gramps example.gramps] | | Unreleased <br />[{{Code Browser}}/tree/master/example/gramps/example.gramps example.gramps] | ||
| Unreleased | | Unreleased | ||
|} | |} | ||
− | {{man note|Note | + | {{man note|Note|Commencing with Gramps 3.1.2 all official versions of Gramps XML files can be imported. However, a warning will be given on import of 1.0.0 XML.[http://sourceforge.net/p/gramps/mailman/message/23262334/]<br /><br />'''Note:''' For versions of Gramps earlier than 3.1.1 refer to and the consult the table below to decide which version to use to import a specific version of the XML.}} |
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
!Gramps release | !Gramps release | ||
− | !XML | + | !XML schema |
− | !Imports XML | + | !Imports XML schema |
!Database | !Database | ||
!Example | !Example | ||
!Changes/Note | !Changes/Note | ||
+ | |- | ||
+ | | 5.1.x | ||
+ | | 1.7.0 - 1.7.1 | ||
+ | | >= 1.0.0 - 1.7 | ||
+ | | 19 | ||
+ | |[{{Code Browser}}/tree/maintenance/gramps51/example/gramps/example.gramps] | ||
+ | | | ||
+ | * DB-API (SQLite) is default backend | ||
+ | * BSDDB is Legacy backend | ||
+ | |- | ||
+ | | 5.0.x | ||
+ | | 1.7.0 - 1.7.1 | ||
+ | | >= 1.0.0 - 1.7 | ||
+ | | 19 | ||
+ | |[{{Code Browser}}/tree/maintenance/gramps50/example/gramps/example.gramps] | ||
+ | | | ||
+ | * Database backends become plugins | ||
+ | * BSDDB is default, convert default handle (metadata) to str | ||
+ | * DB-API (SQLite) is tested as viable replacement | ||
|- | |- | ||
| 4.2.x | | 4.2.x | ||
Line 38: | Line 57: | ||
| 18 | | 18 | ||
|[{{Code Browser}}/tree/maintenance/gramps42/example/gramps/example.gramps] | |[{{Code Browser}}/tree/maintenance/gramps42/example/gramps/example.gramps] | ||
− | | | + | | |
+ | * Added PlaceNames (with Date and Language) Place | ||
|- | |- | ||
| 4.1.x | | 4.1.x | ||
Line 45: | Line 65: | ||
| 17 | | 17 | ||
|[{{Code Browser}}/tree/maintenance/gramps41/example/gramps/example.gramps] | |[{{Code Browser}}/tree/maintenance/gramps41/example/gramps/example.gramps] | ||
− | |added Tags to Event, Place, Repository, Source, and Citation | + | | |
− | Source/Citation.data became SourceAttributes | + | * added Tags to Event, Place, Repository, Source, and Citation |
− | added optional support for checksum on Media object | + | * Source/Citation.data became SourceAttributes |
− | added PlaceRef and Place Hierarchies | + | * added optional support for checksum on Media object |
+ | * added PlaceRef and Place Hierarchies | ||
|- | |- | ||
|4.0.x | |4.0.x | ||
Line 62: | Line 83: | ||
|16 | |16 | ||
|[{{Code Browser}}/tree/maintenance/gramps34/example/gramps/example.gramps] | |[{{Code Browser}}/tree/maintenance/gramps34/example/gramps/example.gramps] | ||
− | |Citations support | + | | |
− | Gramps XML is now idempotent[http://en.wikipedia.org/wiki/Idempotence].{{bug|4365}} | + | * Citations support |
− | Exporter does not change records order any more, making it easier to look at differences between versions/revisions. | + | * Gramps XML is now idempotent[http://en.wikipedia.org/wiki/Idempotence].{{bug|4365}} |
+ | * Exporter does not change records order any more, making it easier to look at differences between versions/revisions. | ||
|- | |- | ||
|3.3.x | |3.3.x | ||
Line 71: | Line 93: | ||
|15 | |15 | ||
|[{{Code Browser}}/tree/maintenance/gramps33/example/gramps/example.gramps] | |[{{Code Browser}}/tree/maintenance/gramps33/example/gramps/example.gramps] | ||
− | |Added new field "locality" to the Place schema | + | | |
− | Added surnames to the Name schema (surnames is a list of surnames / prefix and patronymic are moved to the surname) | + | * Added new field "locality" to the Place schema |
− | Replaced Markers with Tags ( marker removed from all / tags added to Person, Media, Family, and Notes) | + | * Added surnames to the Name schema (surnames is a list of surnames / prefix and patronymic are moved to the surname) |
− | Transaction | + | * Replaced Markers with Tags ( marker removed from all / tags added to Person, Media, Family, and Notes) |
− | Merging | + | * Transaction |
− | Improvements on Import/Export file formats (vcard, gedcom, xml) | + | * Merging |
− | [[Gramps_3.3_Wiki_Manual_-_What%27s_new%3F#Database Changes]] | + | * Improvements on Import/Export file formats (vcard, gedcom, xml) |
+ | * [[Gramps_3.3_Wiki_Manual_-_What%27s_new%3F#Database Changes]] | ||
|- | |- | ||
|3.1.x | |3.1.x | ||
Line 84: | Line 107: | ||
|15 | |15 | ||
|[{{Code Browser}}/tree/maintenance/gramps31/example/gramps/example.gramps] | |[{{Code Browser}}/tree/maintenance/gramps31/example/gramps/example.gramps] | ||
− | | Added lat/long to places | + | | |
+ | * Added lat/long to places | ||
|- | |- | ||
|3.0.x | |3.0.x | ||
Line 91: | Line 115: | ||
|14 | |14 | ||
|[{{Code Browser}}/tree/maintenance/gramps30/example/gramps/example.gramps] | |[{{Code Browser}}/tree/maintenance/gramps30/example/gramps/example.gramps] | ||
− | | added newyear to Dates | + | | |
+ | * added newyear to Dates | ||
+ | * Replace plain text with StyledText in Notes | ||
|- | |- | ||
|2.2.x | |2.2.x | ||
|1.1.0-1.1.4 | |1.1.0-1.1.4 | ||
| >= 0.0.0 | | >= 0.0.0 | ||
− | | | + | |13 |
|[{{Code Browser}}/tree/maintenance/gramps22/example/gramps/data.gramps] | |[{{Code Browser}}/tree/maintenance/gramps22/example/gramps/data.gramps] | ||
| | | | ||
Line 105: | Line 131: | ||
|13 | |13 | ||
|[{{Code Browser}}/tree/maintenance/gramps20/gramps2/example/gramps/data.gramps] | |[{{Code Browser}}/tree/maintenance/gramps20/gramps2/example/gramps/data.gramps] | ||
− | | changed name formats | + | | |
+ | * changed name formats | ||
|- | |- | ||
|1.0.x | |1.0.x | ||
Line 112: | Line 139: | ||
| | | | ||
|[{{Code Browser}}/tree/maintenance/gramps10/example/gramps/data.gramps] | |[{{Code Browser}}/tree/maintenance/gramps10/example/gramps/data.gramps] | ||
− | | | + | |(Install [https://github.com/gramps-project/gramps/releases/tag/v2.2.10 Gramps 2.2.10] to import and convert old beta Gramps XML backups - see [[Gramps_Old_database]] & issue {{bug|6129}}) |
|- | |- | ||
|0.0.x | |0.0.x | ||
Line 145: | Line 172: | ||
* A [http://sourceforge.net/projects/joomlagen/ Joomla! component/module] for uploading the Gramps XML database and for showing genealogical information and overviews. | * A [http://sourceforge.net/projects/joomlagen/ Joomla! component/module] for uploading the Gramps XML database and for showing genealogical information and overviews. | ||
* [http://www.phpgedview.net PhpGedView] supports [http://phpgedview.svn.sourceforge.net/viewvc/phpgedview/trunk/phpGedView/includes/classes/class_grampsexport.php simple output to Gramps XML file format] for the Clippings Cart and has an option to download entire Gedcom in Gramps XML form as well as being able to retrieve raw data from the SOAP web service in Gramps XML format. Still a [http://sourceforge.net/projects/phpgedview/forums/forum/185166/topic/5177979 partial support on version 4.3.0]. | * [http://www.phpgedview.net PhpGedView] supports [http://phpgedview.svn.sourceforge.net/viewvc/phpgedview/trunk/phpGedView/includes/classes/class_grampsexport.php simple output to Gramps XML file format] for the Clippings Cart and has an option to download entire Gedcom in Gramps XML form as well as being able to retrieve raw data from the SOAP web service in Gramps XML format. Still a [http://sourceforge.net/projects/phpgedview/forums/forum/185166/topic/5177979 partial support on version 4.3.0]. | ||
− | * [http:// | + | * [http://wikipedia.org/wiki/Greasemonkey Greasemonkey] scripts (Michiel Nauta) |
− | * [http://www.gramps.van-staveren.net/ | + | * GrampsXMLview was a number of PHP scripts in combination with a Gramps XML database (Sjoerd van Staveren). [https://web.archive.org/web/20120220103003/http://www.gramps.van-staveren.net/ 2012 www.gramps.van-staveren.net Internet Archive] |
* [https://github.com/claws/gramps2gource gramps2gource] for blurring the line between Genealogy and Software Configuration Management visualisation. | * [https://github.com/claws/gramps2gource gramps2gource] for blurring the line between Genealogy and Software Configuration Management visualisation. | ||
* ... | * ... | ||
Line 156: | Line 183: | ||
* [[Database_Formats]] | * [[Database_Formats]] | ||
* [[Gramps Old database]] | * [[Gramps Old database]] | ||
+ | * [[Previous releases of Gramps]] | ||
[[Category:Developers/Reference]] | [[Category:Developers/Reference]] | ||
[[Category:Developers/General]] | [[Category:Developers/General]] |
Revision as of 18:53, 6 February 2021
Gramps XML is the Extensible Markup Language XML format designed for storing Gramps data. The goal is to have a fully portable, human- and machine-readable XML format so that the data can be read and written without any loss. In addition, XML format allows for smaller files (if compressed) and for using the version control system for tracking the changes (if uncompressed).
The reason XML is not used by Gramps as the working database ("internal") format is performance, specifically memory considerations.
Contents
Gramps XML Resources
Starting with Gramps XML 1.0 Each revision of Gramps XML has its own resource page, with references to that version's DTD and RELAX NG schema. |
Gramps release | XML schema | Imports XML schema | Database | Example | Changes/Note |
---|---|---|---|---|---|
master | no change against 4.2 yet | >= 1.0.0 - best 1.7 | 19 | Unreleased example.gramps |
Unreleased |
Note Commencing with Gramps 3.1.2 all official versions of Gramps XML files can be imported. However, a warning will be given on import of 1.0.0 XML.[1] |
Gramps release | XML schema | Imports XML schema | Database | Example | Changes/Note |
---|---|---|---|---|---|
5.1.x | 1.7.0 - 1.7.1 | >= 1.0.0 - 1.7 | 19 | [2] |
|
5.0.x | 1.7.0 - 1.7.1 | >= 1.0.0 - 1.7 | 19 | [3] |
|
4.2.x | 1.7.0 - 1.7.1 | >= 1.0.0 - 1.7 | 18 | [4] |
|
4.1.x | 1.6.0 | >= 1.0.0 - best 1.5.1 | 17 | [5] |
|
4.0.x | 1.5.0 - 1.5.1 | >= 1.0.0 - best 1.4.0 | 16 | [6] | - |
3.4.x | 1.5.0 - 1.5.1 | >= 1.0.0 - best 1.4.0 | 16 | [7] | |
3.3.x | 1.4.0 | >= 1.0.0 - best 1.3.0 | 15 | [9] |
|
3.1.x | 1.3.0 | >= 1.0.0 - best 1.1.0 | 15 | [10] |
|
3.0.x | 1.2.0 | >= 1.1.0 | 14 | [11] |
|
2.2.x | 1.1.0-1.1.4 | >= 0.0.0 | 13 | [12] | |
2.0.x | 1.0.0 | >= 0.0.0 | 13 | [13] |
|
1.0.x | no official version (0.0.0) | - | [14] | (Install Gramps 2.2.10 to import and convert old beta Gramps XML backups - see Gramps_Old_database & issue 6129) | |
0.0.x | beta software (0.0.0) | Unsupported | Unsupported | Unsupported |
Note: To convert an old Gramps XML file you could use VirtualBox or Vmware and the old lgenealogy images from: |
DTD generation
Tool like xml2dtd could help people not familiar with DTD grammar by generating a DTD file from a XML file. New content on Gramps XML could be tested with the tool and be merged on current Gramps DTD.
RELAX NG generation
Tools like trang or NekoDTD could help to convert a Gramps DTD file to a RELAX NG file. Some others tools and up-to-date informations are listed on this page.
Validating Gramps XML file
To validate the Gramps XML file against its DTD, use xmllint program (comes with the libxml2-utils package):
xmllint --noout filename.gramps
If the Gramps XML file does not validate this indicates an error in either the DTD or the XML Writer. |
Parsing Gramps XML file
- XSLT scripts: gramps exhibit (Michiel Nauta), Ancestors.xsl, Birthday.xsl (Gramps 1.x), Tellico scripts, lxml gramplet, Print Notes, etc ... see XPaths.
- A sample of standalone script (Adam Sampson) which parses a Gramps XML file for drawing a family tree.
- Gramps-php-exporter
- A Joomla! component/module for uploading the Gramps XML database and for showing genealogical information and overviews.
- PhpGedView supports simple output to Gramps XML file format for the Clippings Cart and has an option to download entire Gedcom in Gramps XML form as well as being able to retrieve raw data from the SOAP web service in Gramps XML format. Still a partial support on version 4.3.0.
- Greasemonkey scripts (Michiel Nauta)
- GrampsXMLview was a number of PHP scripts in combination with a Gramps XML database (Sjoerd van Staveren). 2012 www.gramps.van-staveren.net Internet Archive
- gramps2gource for blurring the line between Genealogy and Software Configuration Management visualisation.
- ...