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 <xsl:template match=
"OrgIdGroups">
70 <h2>Groups:
<xsl:value-of select=
"@Name"/></h2>
74 <td><xsl:value-of select=
"Int[@Name='GroupCount']"/></td>
79 <xsl:call-template name=
"SequenceAsCSV">
80 <xsl:with-param name=
"root" select=
"Sequence[@Name='OrgId']"/>
87 <!-- Position calculation reference data -->
89 <xsl:template match=
"InitializedPositions">
90 <h2>Initialized Positions
</h2>
91 <xsl:apply-templates />
94 <xsl:template match=
"EvaluatedPositions">
95 <h2>Evaluated for
<xsl:value-of select=
"@Name"/></h2>
96 <xsl:apply-templates />
99 <xsl:template match=
"Positions">
100 <xsl:if test=
"@Name">
101 <h3><xsl:value-of select=
"@Name"/></h3>
107 <xsl:value-of select=
"Int[@Name='Count']"/>
108 (type:
<xsl:value-of select=
"String[@Name='Type']"/>)
114 <xsl:call-template name=
"SequenceAsCSV">
115 <xsl:with-param name=
"root" select=
"Sequence[@Name='Block']"/>
125 <xsl:if test=
"Position/Vector[@Name='Coordinates']">
128 <xsl:if test=
"Position/Vector[@Name='Velocity']">
131 <xsl:if test=
"Position/Vector[@Name='Force']">
135 <xsl:for-each select=
"Position">
137 <td><xsl:value-of select=
"Int[@Name='RefId']"/></td>
138 <td><xsl:value-of select=
"Sequence[@Name='Atoms']/Int[@Name='Length']"/></td>
140 <xsl:call-template name=
"SequenceAsCSV">
141 <xsl:with-param name=
"root" select=
"Sequence[@Name='Atoms']"/>
144 <xsl:if test=
"Vector[@Name='Coordinates']">
146 <xsl:apply-templates select=
"Vector[@Name='Coordinates']"/>
149 <xsl:if test=
"Vector[@Name='Velocity']">
151 <xsl:apply-templates select=
"Vector[@Name='Velocity']"/>
154 <xsl:if test=
"Vector[@Name='Force']">
156 <xsl:apply-templates select=
"Vector[@Name='Force']"/>
164 <!-- Selection reference data -->
166 <xsl:key name=
"SelectionName" match=
"ParsedSelections/ParsedSelection" use=
"@Name"/>
168 <xsl:template match=
"InteractiveSession">
169 <h2>Interactive Session
</h2>
170 <xsl:apply-imports />
173 <xsl:template match=
"ParsedSelections">
174 <h2>Parsed Selections
</h2>
179 <xsl:if test=
"*/String[@Name='Name']">
185 <xsl:for-each select=
"*">
187 <td><xsl:value-of select=
"@Name"/></td>
188 <td><xsl:value-of select=
"String[@Name='Input']"/></td>
189 <xsl:if test=
"String[@Name='Name']">
190 <td><xsl:value-of select=
"String[@Name='Name']"/></td>
192 <td><xsl:value-of select=
"String[@Name='Text']"/></td>
193 <td><xsl:value-of select=
"Bool[@Name='Dynamic']"/></td>
199 <xsl:template match=
"CompiledSelections">
200 <h2>Compiled Selections
</h2>
201 <xsl:apply-templates />
204 <xsl:template match=
"EvaluatedSelections">
205 <h2>Evaluated for
<xsl:value-of select=
"@Name"/></h2>
206 <xsl:apply-templates />
209 <xsl:template match=
"Selection">
210 <h3><xsl:value-of select=
"@Name"/></h3>
212 <xsl:if test=
"String[@Name='Name']">
215 <td><xsl:value-of select=
"String[@Name='Name']"/></td>
219 <td>Selection text:
</td>
221 <xsl:value-of select=
"key('SelectionName', @Name)/String[@Name='Text']"/>
224 <xsl:if test=
"Sequence[@Name='Atoms']">
226 <td>Atoms (
<xsl:value-of select=
"Sequence[@Name='Atoms']/Int[@Name='Length']"/>):
</td>
228 <xsl:call-template name=
"SequenceAsCSV">
229 <xsl:with-param name=
"root" select=
"Sequence[@Name='Atoms']"/>
235 <xsl:apply-templates select=
"Sequence[@Name='Positions']"/>
238 <xsl:template match=
"Selection/Sequence[@Name='Positions']">
240 Positions (count:
<xsl:value-of select=
"Int[@Name='Length']"/>):
243 <xsl:if test=
"Position/Sequence[@Name='Atoms']">
247 <xsl:if test=
"Position/Int[@Name='RefId']">
251 <xsl:if test=
"Position/Vector[@Name='Coordinates']">
254 <xsl:if test=
"Position/Real[@Name='Mass']">
257 <xsl:if test=
"Position/Real[@Name='Charge']">
261 <xsl:for-each select=
"Position">
263 <xsl:if test=
"Sequence[@Name='Atoms']">
264 <td><xsl:value-of select=
"Sequence[@Name='Atoms']/Int[@Name='Length']"/></td>
266 <xsl:call-template name=
"SequenceAsCSV">
267 <xsl:with-param name=
"root" select=
"Sequence[@Name='Atoms']"/>
271 <xsl:if test=
"Int[@Name='RefId']">
272 <td><xsl:value-of select=
"Int[@Name='RefId']"/></td>
273 <td><xsl:value-of select=
"Int[@Name='MappedId']"/></td>
275 <xsl:if test=
"Vector[@Name='Coordinates']">
277 <xsl:apply-templates select=
"Vector[@Name='Coordinates']"/>
280 <xsl:if test=
"Real[@Name='Mass']">
281 <td><xsl:value-of select=
"Real[@Name='Mass']"/></td>
283 <xsl:if test=
"Real[@Name='Charge']">
284 <td><xsl:value-of select=
"Real[@Name='Charge']"/></td>