aboutsummaryrefslogtreecommitdiffstats
path: root/xslt/uddf-export.xslt
AgeCommit message (Collapse)Author
2016-07-28Fix cylinder pressure for UDDF exportGravatar Miika Turkia
Fixes #1086 Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-13UDDF export: fix dive site supportGravatar Miika Turkia
We need to match the divesites to suppress extra output that breaks the XML. This is because the divesites are actually gathered by calling a template. Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-07UDDF export: adapt to new dive site managementGravatar Miika Turkia
Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-11UDDF Export: Moved equipmentused to informationbeforedive section as per ↵Gravatar Martin Long
updated spec Signed-off-by: Martin Long <martin@longhome.co.uk> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-11UDDF Export: Moved tankdata before samples, as expected in xsd definition.Gravatar Martin Long
Signed-off-by: Martin Long <martin@longhome.co.uk> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-14Fix event/alarm types in UDDF export.Gravatar Martin Long
UDDF only supports a specific set of alarms. Some events also don't map to alarms but map to other types of elements in UDDF. This patch adds a map of the accepted types. Where a map doesn't exist the type will not be mapped to an alarm, the option then remains to map it to another kind of element, in the same way that happened with headings and gas switches. This removes the need for the specific exclusion of heading and gas switch, as they are now simply not included in the map. Signed-off-by: Martin Long <martin@longhome.co.uk> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-14Count the weights properly on UDDF exportGravatar Miika Turkia
Using node() along with the node-set seems to grab the weights properly for me. Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-13Grab manually added air temperature on UDDF exportGravatar Miika Turkia
Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-13Fix switchmix references on UDDF exportGravatar Miika Turkia
The switchmix values must be concatenated properly. Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-13Fix mix reference on UDDF exportGravatar Miika Turkia
The mix value must be concatenated properly. Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-13Export leadquantity only when we have weightsGravatar Miika Turkia
Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-12Fix bug in tankpressurebegin in UDDF exportGravatar Martin Long
There was a bug when the first sample doesn't contain pressure info. This fixes that by selecting the first with pressure info. Signed-off-by: Martin Long <martin@longhome.co.uk> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-12Lots of minor UDDF export tweaks.Gravatar Martin Long
The XDS schema for UDDF is very sensitive to ordering of elements so I've rearranged many of them to match. Elements in: - informationbeforedive - waypoint Adjusted namespace of export to correct UDDF namespace. Updated remaining references to mixes it include prefix 'mix' Moved equipment from informationbeforedive to informationafterdive * Change trip ids to generated IDs and updated tripmembership to use the trip id instead of the name * * These constitutes a difference in XSD and the documentation. I will raise these issues with the author. Signed-off-by: Martin Long <martin@longhome.co.uk> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-12Various minor fixes to UDDF exportGravatar Martin Long
Removed underscore from buddy name elements Added 'mix' prefix to gas ids. Ids must not start with a number. Added mandatory profile data with empty tags. Signed-off-by: Martin Long <martin@longhome.co.uk> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-12Fix divecomputer part of UDDF exportGravatar Martin Long
XPath was incorrect for parsing divecomputers into the equipment section, meaning they dont get inserted. Signed-off-by: Martin Long <martin@longhome.co.uk> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-12Use generated Ids for site lookup in UDDF export.Gravatar Martin Long
As with buddies, sites could contain characters which are not valid in Ids. Also, it is very possible to have duplicate site names. This uses an XSL generated id to prevent any issues. Signed-off-by: Martin Long <martin@longhome.co.uk> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-12Use generated ids for buddies in UDDF export.Gravatar Martin Long
This is instead of using their names, which may contain illegal characters. Signed-off-by: Martin Long <martin@longhome.co.uk> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-12Update UDDF export <generator> header to include madatory tags.Gravatar Martin Long
Add name at <generator> level, and add additional <homepage> in contact tag. Signed-off-by: Martin Long <martin@longhome.co.uk> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-10Add 'trip' support to UDDF exportGravatar Martin Long
Currently repetition groups are used to group dives into trips. This is not really correct. Repetition groups should really represent a group of dives where tissue loading needs to be preserved between dives (typically the same day). UDDF has support for trips, using the <divetrip> tags. This is a bidirectional link between the dives and the trips. This patch adds support for these trips. However, it leaves in the repetition groups. Repetition groups may need further consideration. Signed-off-by: Martin Long <martin@longhome.co.uk> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-10Aggregate multiple weights into UDDF export.Gravatar Martin Long
Sum together all of the weights recored on a dive to use in the <leadquantity> tag in UDDF export. Signed-off-by: Martin Long <martin@longhome.co.uk> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-10Support buddies with only a first name, no surname.Gravatar Martin Long
The previous patch would not fill the first name field if there was no second name. This rectifies that. Signed-Off-By: Martin Long <martin@longhome.co.uk> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-10Fixed airtemperature in UDDF export.Gravatar Martin Long
The XSLT didn't expect the temperature tag to be within the <divecomputer> element in the source, so the selection wasn't finding it. Signed-off-by: Marton Long <martin@longhome.co.uk> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-10Added <leadquantity> to UDDF export, showing weight used.Gravatar Martin Long
Signed-off-by: Marton Long <martin@longhome.co.uk> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-10Split last_name and first_name for buddies in UDDF exportGravatar Martin Long
Signed-off-by: Marton Long <martin@longhome.co.uk> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-10Fix gasdefinitons in UDDF exportGravatar Martin Long
Selection of <cylinder> elements wasn't working where dives are part of a trip. Change the selection so that it will select all cylinders whether or not the dive is part of a trip. Signed-off-by: Marton Long <martin@longhome.co.uk> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-10Prevent UserID from being 'stuffed' into the start of UDDF export.Gravatar Martin Long
Due to there being no xsl template for the userID, it ended up getting inserted at the start of the output. This adds an empty template to map the <settings> element, preventing this erronious insertion. Signed-off-by: Marton Long <martin@longhome.co.uk> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-10Update dive site structure in UDDF export to match UDDF 3.2.0 specification.Gravatar Martin Long
The dive site structure in the UDDF export was using an old structure where each site is simply listed as a <dive_site>. The new structure requires a single <divesite> containing at least one <divebase> - a base location where you are diving from, and at least one <site>. As subsurface only tracks sites, I've created a single divebase to be referenced by all of the sites. Note: although profiles in Subsurface can be grouped into trips, these are groupings of profiles, not sites, and the mapping may not be simple. e.g. on different trips the sames sites may be visited but a different base used. Or, different bases may be used on a single trip. Signed-off-by: Marton Long <martin@longhome.co.uk> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-10Separate out buddies into individual entities when exporting to UDDF.Gravatar Martin Long
Part of a series bringing UDDF export closer to the UDDF standard, as per www.uddf.org. Currently when exporting to UDDF buddy entities are created one-per-unique-combination. This means that a group of buddies on a dive are exported as a single buddy, with the names comma separated. This patch identifies all unique buddies, whether used independently or along with other buddies on a dive. They are then linked independently on each profile. It also uses the UDDF standard <link ref=""> instead of <buddy_ref ref=""> Signed-off-by: Marton Long <martin@longhome.co.uk> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-11-18Replace other references to hohndel.orgGravatar Dirk Hohndel
The only place where I'm not sure if there are unintended sideeffects of changing over to the new domain is QCoreApplication::setOrganizationDomain Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-07-11Add image support to UDDF exportGravatar Miika Turkia
This patch adds image support to UDDF export. As far as I can tell from the UDDF specification, the images can only be added to notes field, so that is what we do here. (buddy and owner can also have image tags, but that is irrelevant for Subsurface currently.) Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-05-02Optimize UDDF exportGravatar Miika Turkia
Writing the samples/waypoints to UDDF export in a totally new way. Previously the preparations for approximating waypoints was done for every sample, now only for the events. A few days ago it took 36 seconds for my test set of 8 dives to export to UDDF. This optimization round took it down from 0m4.745s to 0m0.253s. Fixes #508 Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-04-29Properly identify siblings on UDDF exportGravatar Miika Turkia
UDDF export used all samples in the export when detecting previous sample. This resulted in a very slow processing as we had to go through massive amount of data for each event that's time was to be approximated. The detection of previous sample was also erroneous resulting in incorrect depth samples for the events in some occasions. This patch should address these issues. And along with patch that included pressure data on import this will fix the bug #499. Well, the performance after the patch is still not stellar, but still quite a difference with such a small change. The sample set of 8 dives (with one event each) takes now less than 5 seconds instead of the original 36 seconds (measured by doing the conversion with xsltproc). Fixes #499 Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-28Support for multiple cylinders on UDDF exportGravatar Miika Turkia
Adding support for multiple cylinders on UDDF export. This also adds a cylinder reference to the tankdata to enable mix lookups. Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-28Generate UDDF waypoints for in-between eventsGravatar Miika Turkia
This patch generates a waypoint for events occurring between profile samples. It approximates the depth of the crafted waypoint linearly between the recorded sample depths. Fixes #385 Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-25UDDF export: save events occurring between samplesGravatar Miika Turkia
UDDF export saved events only if they occurred at exactly same time as a profile sample. This patch will include events between samples as well. This assumes that profile samples are recorded in even intervals. Fixes #385 Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-12-24We need to use include statement on XSLT nowadaysGravatar Miika Turkia
After change to include XSLT files in resources, the import quit working (even though the files and templates were found properly). This patch uses include statement instead as it seems to work in our case. Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-21Improve UDDF export to include more dive dataGravatar Miika Turkia
Basic information like buddy, location and visibility is included in UDDF export. Also attempt to grab temperature information from both temperature and divetemperature tags. This partially fixes bug #224. However, at least divemaster and tags are not exported (as the UDDF spec either does not have these or has hidden the information of these fields somewhere between so many seemingly unnecessary other fields). See #224 Signed-off-by: Miika Turkia <miika.turkia@nixu.fi> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-03-26Fix pressures on UDDF exportGravatar Miika Turkia
Examples on UDDF specification indicate that pressures are reported in Pascal. Also prefer the sample data from first dive computer for start and end tank pressures. Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-03-26Gases and events support for UDDF exportGravatar Miika Turkia
This patch generates a gases section on UDDF export. The section consists of all the unique gas mixes sawn on the dive log. The latter part includes events to the export. Gas change and heading events are properly translated to respective UDDF naming. Other events are copied over as is. Some of the events are the same (ascent, deco, rbt, surface) in UDDF some are not available. Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-03-24Export dives to UDDF fileGravatar Miika Turkia
This patch implements exporting dives from Subsurface to UDDF format. Events and cylinder info are the most remarkable things still missing from the export. Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>