Free topology in non-DD simulations
[gromacs.git] / src / testutils / common-referencedata.xsl
blob7101052da952cba55bafc81d6e7862f3d8162e9c
1 <?xml version="1.0"?>
3 <!--
4 This file is currently duplicated to each directory containing reference data
5 XML files. This is to make it compatible with more browsers.
6 To keep these files in sync, please only modify the version in
7 src/testutils/
8 and use the copy_xsl.sh script to copy it to relevant locations.
9 -->
10 <xsl:stylesheet version="1.0"
11 xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
13 <xsl:template match="/">
14 <html><body>
15 <xsl:apply-templates/>
16 </body></html>
17 </xsl:template>
19 <xsl:template match="/ReferenceData">
20 <h1>Test Reference Data</h1>
21 <xsl:apply-templates/>
22 </xsl:template>
24 <xsl:template match="Vector">
25 (<xsl:value-of select="*[@Name='X']"/>;
26 <xsl:value-of select="*[@Name='Y']"/>;
27 <xsl:value-of select="*[@Name='Z']"/>)
28 </xsl:template>
30 <xsl:template name="SequenceAsHorizontalTable">
31 <xsl:param name="root" select="."/>
32 <table border="1">
33 <tr><th>Count</th><th>Items</th></tr>
34 <tr>
35 <td><xsl:value-of select="$root/Int[@Name='Length']"/></td>
36 <td>
37 <xsl:call-template name="SequenceAsCSV">
38 <xsl:with-param name="root" select="$root"/>
39 </xsl:call-template>
40 </td>
41 </tr>
42 </table>
43 </xsl:template>
45 <xsl:template name="SequenceAsCSV">
46 <xsl:param name="root" select="."/>
47 <xsl:for-each select="$root/*">
48 <xsl:if test="not(.[@Name])">
49 <xsl:apply-templates select="."/>
50 <xsl:if test="position() &lt; last()">, </xsl:if>
51 </xsl:if>
52 </xsl:for-each>
53 </xsl:template>
55 <xsl:template name="Bool">
56 <xsl:value-of select="."/>
57 </xsl:template>
59 <xsl:template name="String">
60 <xsl:value-of select="."/>
61 </xsl:template>
63 <xsl:template name="Int">
64 <xsl:value-of select="."/>
65 </xsl:template>
67 <xsl:template name="Real">
68 <xsl:value-of select="."/>
69 </xsl:template>
71 <xsl:template match="OutputFiles">
72 <xsl:if test="*/*">
73 <h2>Output Files</h2>
74 <xsl:apply-templates />
75 </xsl:if>
76 </xsl:template>
78 <xsl:template match="OutputFiles/File">
79 <xsl:if test="*">
80 <h3><xsl:value-of select="@Name"/></h3>
81 <xsl:apply-templates />
82 </xsl:if>
83 </xsl:template>
85 <xsl:template match="OutputFiles/File/String[@Name='Contents']">
86 <pre>
87 <xsl:value-of select="substring(.,2)"/>
88 </pre>
89 </xsl:template>
91 <xsl:template match="OutputFiles/File/XvgLegend/String[@Name='XvgLegend']">
92 <pre>
93 <xsl:value-of select="substring(.,2)"/>
94 </pre>
95 </xsl:template>
97 <xsl:template match="OutputFiles/File/XvgData">
98 <xsl:choose>
99 <xsl:when test="*">
100 <table>
101 <xsl:apply-templates />
102 </table>
103 </xsl:when>
104 <xsl:otherwise>Data omitted</xsl:otherwise>
105 </xsl:choose>
106 </xsl:template>
108 <xsl:template match="OutputFiles/File/XvgData/Sequence">
109 <tr>
110 <xsl:apply-templates select="Real"/>
111 </tr>
112 </xsl:template>
114 <xsl:template match="OutputFiles/File/XvgData/Sequence/Real">
115 <td><xsl:value-of select="."/></td>
116 </xsl:template>
118 <xsl:template match="InteractiveSession">
119 <pre>
120 <xsl:for-each select="*">
121 <xsl:choose>
122 <xsl:when test="starts-with(@Name, 'Output')">
123 <xsl:value-of select="substring(.,2)"/>
124 </xsl:when>
125 <xsl:when test="string-length(.)=1">
126 <xsl:text>&#x25ba;</xsl:text>
127 <xsl:text>&#xb6;</xsl:text>
128 </xsl:when>
129 <xsl:when test="contains(substring(.,2), '&#10;')">
130 <xsl:text>&#x25ba;</xsl:text>
131 <xsl:value-of select="translate(substring(.,2), '&#10;', '&#x23ce;')"/>
132 <xsl:text>&#10;</xsl:text>
133 </xsl:when>
134 <xsl:otherwise>
135 <xsl:text>&#x25ba;</xsl:text>
136 <xsl:value-of select="substring(.,2)"/>
137 <xsl:text>&#xb6;</xsl:text>
138 </xsl:otherwise>
139 </xsl:choose>
140 </xsl:for-each>
141 <xsl:text>[EOF]</xsl:text>
142 </pre>
143 </xsl:template>
145 </xsl:stylesheet>