From f7b7d4c2df7fb82421588c69b3aa34e702dcbfdb Mon Sep 17 00:00:00 2001 From: Dirk Hohndel Date: Wed, 1 Jul 2015 12:30:33 -0700 Subject: Geo taxonomy: save and load the taxonomy data with XML If taxonomy data are available we are switching a dive site entry from single item with attributes to an item that has children. This is backwards compatible and older versions will simply ignore the children. Signed-off-by: Dirk Hohndel --- save-xml.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'save-xml.c') diff --git a/save-xml.c b/save-xml.c index 988ede1bf..a81d4258d 100644 --- a/save-xml.c +++ b/save-xml.c @@ -539,7 +539,20 @@ void save_dives_buffer(struct membuffer *b, const bool select_only) } show_utf8(b, ds->description, " description='", "'", 1); show_utf8(b, ds->notes, " notes='", "'", 1); - put_format(b, "/>\n"); + if (prefs.geocoding.enable_geocoding && ds->taxonomy.nr) { + put_format(b, ">\n"); + for (int j = 0; j < ds->taxonomy.nr; j++) { + struct taxonomy *t = &ds->taxonomy.category[j]; + if (t->category != NONE) { + put_format(b, "category); + put_format(b, " origin='%d'", t->origin); + show_utf8(b, t->value, " value='", "'/>\n", 1); + } + } + put_format(b, "\n"); + } else { + put_format(b, "/>\n"); + } } put_format(b, "\n\n"); for (trip = dive_trip_list; trip != NULL; trip = trip->next) -- cgit v1.2.3-70-g09d2