mirror of
				https://github.com/subsurface/subsurface.git
				synced 2025-02-19 22:16:15 +00:00 
			
		
		
		
	XSLT to export dive log in CSV
This implements divelog export into CSV format. This currently supports only metric units and lacks user interface. See #434 Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
		
							parent
							
								
									3df506b081
								
							
						
					
					
						commit
						b7940dec5c
					
				
					 1 changed files with 51 additions and 0 deletions
				
			
		
							
								
								
									
										51
									
								
								xslt/xml2csv.xslt
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								xslt/xml2csv.xslt
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,51 @@ | |||
| <?xml version="1.0"?> | ||||
| <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> | ||||
|   <xsl:strip-space elements="*"/> | ||||
|   <xsl:output method="text" encoding="UTF-8"/> | ||||
| 
 | ||||
|   <xsl:variable name="fs">,</xsl:variable> | ||||
| 
 | ||||
|   <xsl:template match="/divelog/dives"> | ||||
|     <xsl:value-of select='concat("dive number", $fs, "dive date", $fs, "dive time", $fs, "time", $fs, "depth", $fs, "temperature", $fs, "pressure")'/> | ||||
|     <xsl:text> | ||||
| </xsl:text> | ||||
|     <xsl:apply-templates select="dive|trip/dive"/> | ||||
|   </xsl:template> | ||||
| 
 | ||||
|   <xsl:template match="dive"> | ||||
|     <xsl:variable name="number"> | ||||
|       <xsl:value-of select="@number"/> | ||||
|     </xsl:variable> | ||||
|     <xsl:variable name="date"> | ||||
|       <xsl:value-of select="@date"/> | ||||
|     </xsl:variable> | ||||
|     <xsl:variable name="time"> | ||||
|       <xsl:value-of select="@time"/> | ||||
|     </xsl:variable> | ||||
|     <xsl:for-each select="divecomputer/sample|sample"> | ||||
|       <xsl:value-of select="concat('"', $number, '"')"/> | ||||
|       <xsl:value-of select="$fs"/> | ||||
|       <xsl:value-of select="concat('"', $date, '"')"/> | ||||
|       <xsl:value-of select="$fs"/> | ||||
|       <xsl:value-of select="concat('"', $time, '"')"/> | ||||
|       <xsl:value-of select="$fs"/> | ||||
|       <xsl:value-of select="concat('"', substring-before(@time, ' '), '"')"/> | ||||
|       <xsl:value-of select="$fs"/> | ||||
|       <xsl:value-of select="concat('"', substring-before(@depth, ' '), '"')"/> | ||||
| 
 | ||||
|       <xsl:value-of select="$fs"/> | ||||
|       <xsl:if test="@temp != ''"> | ||||
|         <xsl:value-of select="concat('"', substring-before(@temp, ' '), '"')"/> | ||||
|       </xsl:if> | ||||
| 
 | ||||
|       <xsl:value-of select="$fs"/> | ||||
|       <xsl:if test="@pressure != ''"> | ||||
|         <xsl:value-of select="concat('"', substring-before(@pressure, ' '), '"')"/> | ||||
|       </xsl:if> | ||||
| 
 | ||||
|       <xsl:text> | ||||
| </xsl:text> | ||||
|     </xsl:for-each> | ||||
|   </xsl:template> | ||||
| 
 | ||||
| </xsl:stylesheet> | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue