diff --git a/transforms/gnuplot/votable2cmd.xsl b/transforms/gnuplot/votable2cmd.xsl new file mode 100644 index 0000000000000000000000000000000000000000..d7ca1d252723c1083341e2c5e7e0d23bce756aa8 --- /dev/null +++ b/transforms/gnuplot/votable2cmd.xsl @@ -0,0 +1,82 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + <xsl:output method="text" encoding="UTF-8" /> + <!-- match whole document and apply selected templates --> + <xsl:template match="/"> + <!-- header processing (see below) --> + <xsl:apply-templates select="descendant::VOTABLE | descendant::RESOURCE | descendant::TABLE"/> + <!-- gnuplot command processing --> + <xsl:text>set title '</xsl:text> + <xsl:value-of select="VOTABLE/DESCRIPTION" /> + <xsl:text>'
</xsl:text> + <xsl:text>set grid
</xsl:text> + <xsl:text>
</xsl:text> + <xsl:text>set xlabel '</xsl:text> + <xsl:value-of select="VOTABLE/RESOURCE/TABLE/FIELD[1]/@name" /> + <xsl:text> [</xsl:text> + <xsl:value-of select="VOTABLE/RESOURCE/TABLE/FIELD[1]/@unit" /> + <xsl:text>]'
</xsl:text> + <xsl:text>set ylabel '</xsl:text> + <xsl:value-of select="VOTABLE/RESOURCE/TABLE/FIELD[2]/@name" /> + <xsl:text> [</xsl:text> + <xsl:value-of select="VOTABLE/RESOURCE/TABLE/FIELD[2]/@unit" /> + <xsl:text>]'
</xsl:text> + <!-- TODO: add if-condition for 2nd channel --> + <xsl:text>set y2label '</xsl:text> + <xsl:value-of select="VOTABLE/RESOURCE/TABLE/FIELD[3]/@name" /> + <xsl:text> [</xsl:text> + <xsl:value-of select="VOTABLE/RESOURCE/TABLE/FIELD[3]/@unit" /> + <xsl:text>]'
</xsl:text> + <!-- TODO: use parameters scaling/ticks --> + <xsl:text>
</xsl:text> + <xsl:text>set yrange [0:1]
</xsl:text> + <xsl:text>set ytics 0, 0.1
</xsl:text> + <!-- TODO: add if-condition for 2nd channel --> + <xsl:text>set y2range [0:400]
</xsl:text> + <xsl:text>set y2tics 0, 40
</xsl:text> + <xsl:text>set ytics nomirror
</xsl:text> + <xsl:text>
</xsl:text> + <!-- TODO: use parameters for line styles --> + <xsl:text>set style line 1 lt 1
</xsl:text> + <!-- TODO: add if-condition for 2nd channel --> + <xsl:text>set style line 2 lt 3
</xsl:text> + <xsl:text>
</xsl:text> + <!-- TODO: filename and format should be defined via parameters --> + <xsl:text>set output 'gnuplot.png'
</xsl:text> + <xsl:text>set terminal png enhanced size 800,600
</xsl:text> + <xsl:text>
</xsl:text> + <!-- TODO: use parameters for data source filename and "with lines" --> + <xsl:text>plot 'gnuplot.dat' using 1:2 axis x1y1 ls 1 title '</xsl:text> + <xsl:value-of select="VOTABLE/RESOURCE/TABLE/FIELD[2]/@name" /> + <xsl:text>' with lines, \
</xsl:text> + <!-- TODO: add if-condition for 2nd channel --> + <xsl:text> 'gnuplot.dat' using 1:3 axis x1y2 ls 2 title '</xsl:text> + <xsl:value-of select="VOTABLE/RESOURCE/TABLE/FIELD[3]/@name" /> + <xsl:text>' with lines
</xsl:text> + </xsl:template> + <!-- header processing --> + <xsl:template match="VOTABLE"> + <xsl:text># Fidelity Output Transformation (DataStorage Plugin)
</xsl:text> + <xsl:text># Input: VOTable </xsl:text> + <xsl:value-of select="@version" /> + <xsl:text> - Output: gnuplot
</xsl:text> + <xsl:text>#
</xsl:text> + <xsl:text># Description: </xsl:text> + <xsl:value-of select="child::DESCRIPTION" /> + <xsl:text>
</xsl:text> + </xsl:template> + <xsl:template match="RESOURCE"> + <xsl:text># Resource: </xsl:text> + <xsl:value-of select="child::DESCRIPTION" /> + <xsl:text>
</xsl:text> + </xsl:template> + <xsl:template match="TABLE"> + <xsl:text># Table: </xsl:text> + <xsl:value-of select="child::DESCRIPTION" /> + <xsl:text>
</xsl:text> + <xsl:text>#
</xsl:text> + </xsl:template> +</xsl:stylesheet> + + diff --git a/transforms/gnuplot/votable2dat.xsl b/transforms/gnuplot/votable2dat.xsl new file mode 100644 index 0000000000000000000000000000000000000000..975e4e82c0120a8a65cf63dccb5f8f52441de638 --- /dev/null +++ b/transforms/gnuplot/votable2dat.xsl @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + <xsl:output method="text" encoding="UTF-8" /> + <!-- match whole document and apply selected templates --> + <xsl:template match="/"> + <xsl:apply-templates select="descendant::VOTABLE | descendant::RESOURCE | descendant::TABLE | descendant::TABLEDATA"/> + </xsl:template> + <!-- header processing --> + <xsl:template match="VOTABLE"> + <xsl:text># Fidelity Output Transformation (DataStorage Plugin)
</xsl:text> + <xsl:text># Input: VOTable </xsl:text> + <xsl:value-of select="@version" /> + <xsl:text> - Output: gnuplot
</xsl:text> + <xsl:text>#
</xsl:text> + <xsl:text># Description: </xsl:text> + <xsl:value-of select="child::DESCRIPTION" /> + <xsl:text>
</xsl:text> + </xsl:template> + <xsl:template match="RESOURCE"> + <xsl:text># Resource: </xsl:text> + <xsl:value-of select="child::DESCRIPTION" /> + <xsl:text>
</xsl:text> + </xsl:template> + <xsl:template match="TABLE"> + <xsl:text># Table: </xsl:text> + <xsl:value-of select="child::DESCRIPTION" /> + <xsl:text>
</xsl:text> + <xsl:text>#
</xsl:text> + </xsl:template> + <!-- table data processing --> + <xsl:template match="TABLEDATA"> + <xsl:for-each select="TR"> + <xsl:value-of select="TD[1]" /> + <xsl:text>	</xsl:text> + <xsl:value-of select="TD[2]" /> + <!-- TODO: add if-condition for 2nd channel --> + <xsl:text>	</xsl:text> + <xsl:value-of select="TD[3]" /> + <xsl:text>
</xsl:text> + </xsl:for-each> + </xsl:template> +</xsl:stylesheet> + +