3 <xsl:stylesheet version=
"1.0"
4 xmlns:
xsl=
"http://www.w3.org/1999/XSL/Transform">
6 <xsl:import href=
"common-referencedata.xsl"/>
8 <!-- Index handling reference data -->
10 <xsl:template match=
"BlockAtoms">
11 <xsl:if test=
"Sequence[@Name='Input']">
13 <xsl:call-template name=
"SequenceAsHorizontalTable">
14 <xsl:with-param name=
"root" select=
"Sequence[@Name='Input']"/>
23 <xsl:for-each select=
"Block">
25 <td><xsl:value-of select=
"Sequence[@Name='Atoms']/Int[@Name='Length']"/></td>
27 <xsl:call-template name=
"SequenceAsCSV">
28 <xsl:with-param name=
"root" select=
"Sequence[@Name='Atoms']"/>
36 <xsl:template match=
"IndexMapping">
37 <h2><xsl:value-of select=
"@Name"/></h2>
39 <xsl:call-template name=
"SequenceAsHorizontalTable">
40 <xsl:with-param name=
"root" select=
"Sequence[@Name='Input']"/>
46 <xsl:if test=
"Block/Int[@Name='MapId']">
52 <xsl:for-each select=
"Block">
54 <td><xsl:value-of select=
"Int[@Name='RefId']"/></td>
55 <xsl:if test=
"Int[@Name='MapId']">
56 <td><xsl:value-of select=
"Int[@Name='MapId']"/></td>
58 <td><xsl:value-of select=
"Sequence[@Name='Atoms']/Int[@Name='Length']"/></td>
60 <xsl:call-template name=
"SequenceAsCSV">
61 <xsl:with-param name=
"root" select=
"Sequence[@Name='Atoms']"/>
69 <!-- Position calculation reference data -->
71 <xsl:template match=
"InitializedPositions">
72 <h2>Initialized Positions
</h2>
73 <xsl:apply-templates />
76 <xsl:template match=
"EvaluatedPositions">
77 <h2>Evaluated for
<xsl:value-of select=
"@Name"/></h2>
78 <xsl:apply-templates />
81 <xsl:template match=
"Positions">
83 <h3><xsl:value-of select=
"@Name"/></h3>
89 <xsl:value-of select=
"Int[@Name='Count']"/>
90 (type:
<xsl:value-of select=
"String[@Name='Type']"/>)
96 <xsl:call-template name=
"SequenceAsCSV">
97 <xsl:with-param name=
"root" select=
"Sequence[@Name='Block']"/>
107 <xsl:if test=
"Position/Vector[@Name='Coordinates']">
110 <xsl:if test=
"Position/Vector[@Name='Velocity']">
113 <xsl:if test=
"Position/Vector[@Name='Force']">
117 <xsl:for-each select=
"Position">
119 <td><xsl:value-of select=
"Int[@Name='RefId']"/></td>
120 <td><xsl:value-of select=
"Sequence[@Name='Atoms']/Int[@Name='Length']"/></td>
122 <xsl:call-template name=
"SequenceAsCSV">
123 <xsl:with-param name=
"root" select=
"Sequence[@Name='Atoms']"/>
126 <xsl:if test=
"Vector[@Name='Coordinates']">
128 <xsl:apply-templates select=
"Vector[@Name='Coordinates']"/>
131 <xsl:if test=
"Vector[@Name='Velocity']">
133 <xsl:apply-templates select=
"Vector[@Name='Velocity']"/>
136 <xsl:if test=
"Vector[@Name='Force']">
138 <xsl:apply-templates select=
"Vector[@Name='Force']"/>
146 <!-- Selection reference data -->
148 <xsl:key name=
"SelectionName" match=
"ParsedSelections/ParsedSelection" use=
"@Name"/>
150 <xsl:template match=
"ParsedSelections">
151 <h2>Parsed Selections
</h2>
160 <xsl:for-each select=
"*">
162 <td><xsl:value-of select=
"@Name"/></td>
163 <td><xsl:value-of select=
"String[@Name='Input']"/></td>
164 <td><xsl:value-of select=
"String[@Name='Name']"/></td>
165 <td><xsl:value-of select=
"String[@Name='Text']"/></td>
166 <td><xsl:value-of select=
"Bool[@Name='Dynamic']"/></td>
172 <xsl:template match=
"CompiledSelections">
173 <h2>Compiled Selections
</h2>
174 <xsl:apply-templates />
177 <xsl:template match=
"EvaluatedSelections">
178 <h2>Evaluated for
<xsl:value-of select=
"@Name"/></h2>
179 <xsl:apply-templates />
182 <xsl:template match=
"Selection">
183 <h3><xsl:value-of select=
"@Name"/></h3>
186 <xsl:value-of select=
"key('SelectionName', @Name)/String[@Name='Text']"/>
188 <xsl:apply-templates />
191 <xsl:template match=
"Selection/Sequence[@Name='Atoms']">
194 <xsl:call-template name=
"SequenceAsHorizontalTable"/>
198 <xsl:template match=
"Selection/Sequence[@Name='Positions']">
200 Positions (count:
<xsl:value-of select=
"Int[@Name='Length']"/>):
203 <xsl:if test=
"Position/Sequence[@Name='Atoms']">
207 <xsl:if test=
"Position/Int[@Name='RefId']">
211 <xsl:if test=
"Position/Vector[@Name='Coordinates']">
214 <xsl:if test=
"Position/Real[@Name='Mass']">
217 <xsl:if test=
"Position/Real[@Name='Charge']">
221 <xsl:for-each select=
"Position">
223 <xsl:if test=
"Sequence[@Name='Atoms']">
224 <td><xsl:value-of select=
"Sequence[@Name='Atoms']/Int[@Name='Length']"/></td>
226 <xsl:call-template name=
"SequenceAsCSV">
227 <xsl:with-param name=
"root" select=
"Sequence[@Name='Atoms']"/>
231 <xsl:if test=
"Int[@Name='RefId']">
232 <td><xsl:value-of select=
"Int[@Name='RefId']"/></td>
233 <td><xsl:value-of select=
"Int[@Name='MappedId']"/></td>
235 <xsl:if test=
"Vector[@Name='Coordinates']">
237 <xsl:apply-templates select=
"Vector[@Name='Coordinates']"/>
240 <xsl:if test=
"Real[@Name='Mass']">
241 <td><xsl:value-of select=
"Real[@Name='Mass']"/></td>
243 <xsl:if test=
"Real[@Name='Charge']">
244 <td><xsl:value-of select=
"Real[@Name='Charge']"/></td>