Added XSLT files for viewing test reference data.
authorTeemu Murtola <teemu.murtola@gmail.com>
Sun, 22 Jan 2012 11:54:20 +0000 (13:54 +0200)
committerTeemu Murtola <teemu.murtola@gmail.com>
Wed, 22 Feb 2012 05:38:11 +0000 (07:38 +0200)
These make it much easier to check the test reference data.
It's simpler to maintain these XSLT transformations together with easily
machine-processable XML files instead of trying to make the XML files
easy to read.  Required regenerating the XML files to add references to
the style sheets.  common-referencedata.xsl is duplicated in each
directory to make it work on more browser (at least Firefox).

Change-Id: I67de308a50831371d7c2581e2b013901006387e4

39 files changed:
src/gromacs/analysisdata/tests/refdata/AbstractAverageHistogramTest_ResamplesAtDoubleBinWidth.xml
src/gromacs/analysisdata/tests/refdata/AbstractAverageHistogramTest_ResamplesAtDoubleBinWidthWithIntegerBins.xml
src/gromacs/analysisdata/tests/refdata/AverageModuleTest_BasicTest.xml
src/gromacs/analysisdata/tests/refdata/AverageModuleTest_CanCustomizeXAxis.xml
src/gromacs/analysisdata/tests/refdata/BinAverageModuleTest_ComputesCorrectly.xml
src/gromacs/analysisdata/tests/refdata/BinAverageModuleTest_ComputesCorrectlyWithAll.xml
src/gromacs/analysisdata/tests/refdata/SimpleHistogramModuleTest_ComputesCorrectly.xml
src/gromacs/analysisdata/tests/refdata/SimpleHistogramModuleTest_ComputesCorrectlyWithAll.xml
src/gromacs/analysisdata/tests/refdata/WeightedHistogramModuleTest_ComputesCorrectly.xml
src/gromacs/analysisdata/tests/refdata/WeightedHistogramModuleTest_ComputesCorrectlyWithAll.xml
src/gromacs/analysisdata/tests/refdata/common-referencedata.xsl [new file with mode: 0644]
src/gromacs/analysisdata/tests/refdata/referencedata.xsl [new file with mode: 0644]
src/gromacs/selection/tests/refdata/SelectionCollectionDataTest_HandlesAllNone.xml
src/gromacs/selection/tests/refdata/SelectionCollectionDataTest_HandlesArithmeticExpressions.xml
src/gromacs/selection/tests/refdata/SelectionCollectionDataTest_HandlesAtomname.xml
src/gromacs/selection/tests/refdata/SelectionCollectionDataTest_HandlesAtomnr.xml
src/gromacs/selection/tests/refdata/SelectionCollectionDataTest_HandlesBasicBoolean.xml
src/gromacs/selection/tests/refdata/SelectionCollectionDataTest_HandlesBooleanStaticAnalysis.xml
src/gromacs/selection/tests/refdata/SelectionCollectionDataTest_HandlesBooleanStaticAnalysisWithMoreVariables.xml
src/gromacs/selection/tests/refdata/SelectionCollectionDataTest_HandlesBooleanStaticAnalysisWithVariables.xml
src/gromacs/selection/tests/refdata/SelectionCollectionDataTest_HandlesConstantPositions.xml
src/gromacs/selection/tests/refdata/SelectionCollectionDataTest_HandlesCoordinateKeywords.xml
src/gromacs/selection/tests/refdata/SelectionCollectionDataTest_HandlesDistanceKeyword.xml
src/gromacs/selection/tests/refdata/SelectionCollectionDataTest_HandlesMergeModifier.xml
src/gromacs/selection/tests/refdata/SelectionCollectionDataTest_HandlesMinDistanceKeyword.xml
src/gromacs/selection/tests/refdata/SelectionCollectionDataTest_HandlesPermuteModifier.xml
src/gromacs/selection/tests/refdata/SelectionCollectionDataTest_HandlesPlusModifier.xml
src/gromacs/selection/tests/refdata/SelectionCollectionDataTest_HandlesPositionKeywords.xml
src/gromacs/selection/tests/refdata/SelectionCollectionDataTest_HandlesRegexMatching.xml
src/gromacs/selection/tests/refdata/SelectionCollectionDataTest_HandlesResname.xml
src/gromacs/selection/tests/refdata/SelectionCollectionDataTest_HandlesResnr.xml
src/gromacs/selection/tests/refdata/SelectionCollectionDataTest_HandlesSameResidue.xml
src/gromacs/selection/tests/refdata/SelectionCollectionDataTest_HandlesSameResidueName.xml
src/gromacs/selection/tests/refdata/SelectionCollectionDataTest_HandlesWithinConstantPositions.xml
src/gromacs/selection/tests/refdata/SelectionCollectionDataTest_HandlesWithinKeyword.xml
src/gromacs/selection/tests/refdata/common-referencedata.xsl [new file with mode: 0644]
src/gromacs/selection/tests/refdata/referencedata.xsl [new file with mode: 0644]
src/testutils/refdata-impl.h
src/testutils/refdata.cpp

index fe3e6910d6c6551d95643c2e6c601b00fd0e7058..759bb25145ad2c9eeef567b17ae7a894a33a12da 100644 (file)
@@ -1,4 +1,5 @@
 <?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
 <ReferenceData>
   <AnalysisData Name="InputData">
     <DataFrame Name="Frame0">
index 4b49d8708c02f06854b28530ac330733c6531c80..efdfeedbdc1ea1c2267acb963b0bcbce4f4bc7ae 100644 (file)
@@ -1,4 +1,5 @@
 <?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
 <ReferenceData>
   <AnalysisData Name="InputData">
     <DataFrame Name="Frame0">
index be4bff5251317d0503a3ac314e59fcb3230fa82d..b5a52de216239c9b4d086d1101f9296833ff55f7 100644 (file)
@@ -1,4 +1,5 @@
 <?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
 <ReferenceData>
   <AnalysisData Name="InputData">
     <DataFrame Name="Frame0">
index b1b3d6f2263a2f6346d931bf800bacd26996c9f2..2f37b40e2138bdbd14913d98b44e63bdbe3b6fb8 100644 (file)
@@ -1,4 +1,5 @@
 <?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
 <ReferenceData>
   <AnalysisData Name="InputData">
     <DataFrame Name="Frame0">
index 2a33cca2a3b8a81b9263925ad8cecdeb4b48e164..c713cd7f2aae808ee00361799a4622a405a0a42b 100644 (file)
@@ -1,4 +1,5 @@
 <?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
 <ReferenceData>
   <AnalysisData Name="InputData">
     <DataFrame Name="Frame0">
index 2bc9eb68c04bcd2c1175e7295fd53ac74cb07b9b..79914aab43615b4d0186f63326573397b6669007 100644 (file)
@@ -1,4 +1,5 @@
 <?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
 <ReferenceData>
   <AnalysisData Name="InputData">
     <DataFrame Name="Frame0">
index 97aeda88252eccf0032f82651dd8e868d79bc889..cb7ed1a95f707a80a4ee2bddc4640a89d90093f0 100644 (file)
@@ -1,4 +1,5 @@
 <?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
 <ReferenceData>
   <AnalysisData Name="InputData">
     <DataFrame Name="Frame0">
index 08096c823290b913bf4e19687adc15dd4e035596..2fd08f37c3dc3d20972a29d9371f5f56974cef66 100644 (file)
@@ -1,4 +1,5 @@
 <?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
 <ReferenceData>
   <AnalysisData Name="InputData">
     <DataFrame Name="Frame0">
index 3deaf195cf7aefb2d6af4643cc69921d14bdec7f..1fc5813debfa9c09825fb48e8fb9428e28f418dd 100644 (file)
@@ -1,4 +1,5 @@
 <?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
 <ReferenceData>
   <AnalysisData Name="InputData">
     <DataFrame Name="Frame0">
index 156b36a94f4b07de5e90230738b39473be6f4d84..2172942c0ca708bc65dd286d4779fbed38ca1c5c 100644 (file)
@@ -1,4 +1,5 @@
 <?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
 <ReferenceData>
   <AnalysisData Name="InputData">
     <DataFrame Name="Frame0">
diff --git a/src/gromacs/analysisdata/tests/refdata/common-referencedata.xsl b/src/gromacs/analysisdata/tests/refdata/common-referencedata.xsl
new file mode 100644 (file)
index 0000000..1df2ad7
--- /dev/null
@@ -0,0 +1,67 @@
+<?xml version="1.0"?>
+
+<!--
+This file is currently duplicated to each directory containing reference data
+XML files. This is to make it compatible with more browsers.
+If you modify one of these files, please keep others in sync.
+-->
+<xsl:stylesheet version="1.0"
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+<xsl:template match="/">
+    <html><body>
+        <xsl:apply-templates/>
+    </body></html>
+</xsl:template>
+
+<xsl:template match="/ReferenceData">
+    <h1>Test Reference Data</h1>
+    <xsl:apply-templates/>
+</xsl:template>
+
+<xsl:template match="Vector">
+    (<xsl:value-of select="*[@Name='X']"/>;
+     <xsl:value-of select="*[@Name='Y']"/>;
+     <xsl:value-of select="*[@Name='Z']"/>)
+</xsl:template>
+
+<xsl:template name="SequenceAsHorizontalTable">
+    <xsl:param name="root" select="."/>
+    <table border="1">
+        <tr><th>Count</th><th>Items</th></tr>
+        <tr>
+            <td><xsl:value-of select="$root/Int[@Name='Length']"/></td>
+            <td>
+                <xsl:call-template name="SequenceAsCSV">
+                    <xsl:with-param name="root" select="$root"/>
+                </xsl:call-template>
+            </td>
+        </tr>
+    </table>
+</xsl:template>
+
+<xsl:template name="SequenceAsCSV">
+    <xsl:param name="root" select="."/>
+    <xsl:for-each select="$root/*[position() &gt; 1]">
+        <xsl:apply-templates select="."/>
+        <xsl:if test="position() &lt; last()">, </xsl:if>
+    </xsl:for-each>
+</xsl:template>
+
+<xsl:template name="Bool">
+    <xsl:value-of select="."/>
+</xsl:template>
+
+<xsl:template name="String">
+    <xsl:value-of select="."/>
+</xsl:template>
+
+<xsl:template name="Int">
+    <xsl:value-of select="."/>
+</xsl:template>
+
+<xsl:template name="Real">
+    <xsl:value-of select="."/>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/src/gromacs/analysisdata/tests/refdata/referencedata.xsl b/src/gromacs/analysisdata/tests/refdata/referencedata.xsl
new file mode 100644 (file)
index 0000000..73f69eb
--- /dev/null
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0"
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+<xsl:import href="common-referencedata.xsl"/>
+
+<xsl:template match="AnalysisData">
+    <h2><xsl:value-of select="@Name"/></h2>
+    <table border="1">
+        <tr>
+            <th>Frame</th>
+            <th>X</th>
+            <th>Values</th>
+        </tr>
+        <xsl:for-each select="DataFrame/Sequence[@Name='Y']">
+        <tr>
+            <td><xsl:value-of select="../@Name"/></td>
+            <td><xsl:value-of select="../Real[@Name='X']"/></td>
+            <td><xsl:call-template name="SequenceAsCSV"/></td>
+        </tr>
+        </xsl:for-each>
+    </table>
+</xsl:template>
+
+<xsl:template match="DataValue">
+    <xsl:value-of select="Real[@Name='Value']"/>
+</xsl:template>
+
+</xsl:stylesheet>
index 58d0f4b2108f01823bf8b4813dd053438c5fa55a..23b96ddac76ce595774d00515158c359d3b5329a 100644 (file)
@@ -1,4 +1,5 @@
 <?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
 <ReferenceData>
   <ParsedSelections Name="Parsed">
     <ParsedSelection Name="Selection1">
index 98041df92124f7ff28bf562a048c4a9cffc5b165..a2c3be1da8cbf43944a09b2149e7b0909fef7ce0 100644 (file)
@@ -1,4 +1,5 @@
 <?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
 <ReferenceData>
   <ParsedSelections Name="Parsed">
     <ParsedSelection Name="Selection1">
index 2b600d4790bfd07839ea40dd3965a6e6db8a9538..c66b2312f725d12442f8cf05444ec96b5a3e2bc9 100644 (file)
@@ -1,4 +1,5 @@
 <?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
 <ReferenceData>
   <ParsedSelections Name="Parsed">
     <ParsedSelection Name="Selection1">
index 7227371a3fa3f1f55479eddcfb56f77cf7b8970d..d04eeae488dc009ac69dcddd7d66b0ddf094593d 100644 (file)
@@ -1,4 +1,5 @@
 <?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
 <ReferenceData>
   <ParsedSelections Name="Parsed">
     <ParsedSelection Name="Selection1">
index 32b56ea51a260005896da138bc6d4e76bf2147e5..fb00a5f17aa2ac9a298a660925dfe658db00d8c3 100644 (file)
@@ -1,4 +1,5 @@
 <?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
 <ReferenceData>
   <ParsedSelections Name="Parsed">
     <ParsedSelection Name="Selection1">
index 5825e6a0c56ca7b77f132dd225701792200b88d2..92676b1b95e4b5252d4750b47dcc27dd6593ddf7 100644 (file)
@@ -1,4 +1,5 @@
 <?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
 <ReferenceData>
   <ParsedSelections Name="Parsed">
     <ParsedSelection Name="Selection1">
index 0633953a95b5c602614823da428d1c24ab2c7587..fe31e659edb98d88caff23da51c33a4df89948ad 100644 (file)
@@ -1,4 +1,5 @@
 <?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
 <ReferenceData>
   <ParsedSelections Name="Parsed">
     <ParsedVariable Name="Variable1">
index 6cdd8c660cf17b27df84bd87fcdb00fee89e478b..826b5234cfef591e0219e5e040271220466b1323 100644 (file)
@@ -1,4 +1,5 @@
 <?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
 <ReferenceData>
   <ParsedSelections Name="Parsed">
     <ParsedVariable Name="Variable1">
index 95f3d5f86e86905736bddfa2da914e298bdc0734..6496bb0cdf3e45e0e6926d961f883d44e9f4c3e4 100644 (file)
@@ -1,4 +1,5 @@
 <?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
 <ReferenceData>
   <ParsedSelections Name="Parsed">
     <ParsedSelection Name="Selection1">
index 42b69e2fa2007fcd3742d60846cf9c8023cacfca..d65c005cca1eb608a489ef3c4a05c8871fc23ec7 100644 (file)
@@ -1,4 +1,5 @@
 <?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
 <ReferenceData>
   <ParsedSelections Name="Parsed">
     <ParsedSelection Name="Selection1">
index 19338a76a0e02eb6292bc3c2c023918e7377734d..767f3a0c46b3e123a9206dc6f71a7252a16f60be 100644 (file)
@@ -1,4 +1,5 @@
 <?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
 <ReferenceData>
   <ParsedSelections Name="Parsed">
     <ParsedSelection Name="Selection1">
index a51f6a59258421ddbc6bb64f0759e4a530e4a6b3..9d8bf8a96aeb4527e9d90b0d3b585b3af659d99f 100644 (file)
@@ -1,4 +1,5 @@
 <?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
 <ReferenceData>
   <ParsedSelections Name="Parsed">
     <ParsedSelection Name="Selection1">
index 14441823db234ca6bcbb33ac86fb8429b9f705fc..d5319f1c811b557f862fd0b64aa05b64cee0cdfa 100644 (file)
@@ -1,4 +1,5 @@
 <?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
 <ReferenceData>
   <ParsedSelections Name="Parsed">
     <ParsedSelection Name="Selection1">
index 1f91a1b9bdedc26f339511ca6e35db124f432c91..671597e617ad066ef60e9130cfc6cbcb3071632b 100644 (file)
@@ -1,4 +1,5 @@
 <?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
 <ReferenceData>
   <ParsedSelections Name="Parsed">
     <ParsedSelection Name="Selection1">
index f24387c4895dfd8162b0f488502f5a0da6a518f9..836f59cbfe1fa389ed2f669b6778884c23fddc36 100644 (file)
@@ -1,4 +1,5 @@
 <?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
 <ReferenceData>
   <ParsedSelections Name="Parsed">
     <ParsedSelection Name="Selection1">
index 0fbfa800ba6ba1905c4b08b12cda23522942729f..e6fb1a3b1de7bdbbbf6644b0a162ecd1df17ba8e 100644 (file)
@@ -1,4 +1,5 @@
 <?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
 <ReferenceData>
   <ParsedSelections Name="Parsed">
     <ParsedSelection Name="Selection1">
index 867ee835a8863c962b04cfe2c010d3f51fcfac16..8910a3b2967f6ce6dbf38978d1d14f08547b3f54 100644 (file)
@@ -1,4 +1,5 @@
 <?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
 <ReferenceData>
   <ParsedSelections Name="Parsed">
     <ParsedSelection Name="Selection1">
index c2a976e6e48fc5bd1575ab63e860b0188583e818..723e96aa4669ddce5be0caec68d9339095d89e1b 100644 (file)
@@ -1,4 +1,5 @@
 <?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
 <ReferenceData>
   <ParsedSelections Name="Parsed">
     <ParsedSelection Name="Selection1">
index c2cbc5983ff1a8bf66281575babe1d7738e65dc2..23ef8aea3cd5406df457799d892e012c7445a8ab 100644 (file)
@@ -1,4 +1,5 @@
 <?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
 <ReferenceData>
   <ParsedSelections Name="Parsed">
     <ParsedSelection Name="Selection1">
index 188a9ca125ff7b542088a55a0bbe6b61e325dce0..266440711287d5c6db93149656946b974834518c 100644 (file)
@@ -1,4 +1,5 @@
 <?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
 <ReferenceData>
   <ParsedSelections Name="Parsed">
     <ParsedSelection Name="Selection1">
index 33e5603644b137f27bfa87d9a7184bedae24f997..5d398352e15d09387f3951767b3931e2820e61ab 100644 (file)
@@ -1,4 +1,5 @@
 <?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
 <ReferenceData>
   <ParsedSelections Name="Parsed">
     <ParsedSelection Name="Selection1">
index 8575ea9bd8dc4be5eb46ca06bebd0954c9c4225b..3d621c380a0ebe055519706d4b2fca9a36b25d14 100644 (file)
@@ -1,4 +1,5 @@
 <?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
 <ReferenceData>
   <ParsedSelections Name="Parsed">
     <ParsedSelection Name="Selection1">
index a2252f5644d992ba9df44f2b8caf31ac7db6aee2..194c56cde0f97a0eead65d38bdeb61555b7ead22 100644 (file)
@@ -1,4 +1,5 @@
 <?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
 <ReferenceData>
   <ParsedSelections Name="Parsed">
     <ParsedSelection Name="Selection1">
diff --git a/src/gromacs/selection/tests/refdata/common-referencedata.xsl b/src/gromacs/selection/tests/refdata/common-referencedata.xsl
new file mode 100644 (file)
index 0000000..1df2ad7
--- /dev/null
@@ -0,0 +1,67 @@
+<?xml version="1.0"?>
+
+<!--
+This file is currently duplicated to each directory containing reference data
+XML files. This is to make it compatible with more browsers.
+If you modify one of these files, please keep others in sync.
+-->
+<xsl:stylesheet version="1.0"
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+<xsl:template match="/">
+    <html><body>
+        <xsl:apply-templates/>
+    </body></html>
+</xsl:template>
+
+<xsl:template match="/ReferenceData">
+    <h1>Test Reference Data</h1>
+    <xsl:apply-templates/>
+</xsl:template>
+
+<xsl:template match="Vector">
+    (<xsl:value-of select="*[@Name='X']"/>;
+     <xsl:value-of select="*[@Name='Y']"/>;
+     <xsl:value-of select="*[@Name='Z']"/>)
+</xsl:template>
+
+<xsl:template name="SequenceAsHorizontalTable">
+    <xsl:param name="root" select="."/>
+    <table border="1">
+        <tr><th>Count</th><th>Items</th></tr>
+        <tr>
+            <td><xsl:value-of select="$root/Int[@Name='Length']"/></td>
+            <td>
+                <xsl:call-template name="SequenceAsCSV">
+                    <xsl:with-param name="root" select="$root"/>
+                </xsl:call-template>
+            </td>
+        </tr>
+    </table>
+</xsl:template>
+
+<xsl:template name="SequenceAsCSV">
+    <xsl:param name="root" select="."/>
+    <xsl:for-each select="$root/*[position() &gt; 1]">
+        <xsl:apply-templates select="."/>
+        <xsl:if test="position() &lt; last()">, </xsl:if>
+    </xsl:for-each>
+</xsl:template>
+
+<xsl:template name="Bool">
+    <xsl:value-of select="."/>
+</xsl:template>
+
+<xsl:template name="String">
+    <xsl:value-of select="."/>
+</xsl:template>
+
+<xsl:template name="Int">
+    <xsl:value-of select="."/>
+</xsl:template>
+
+<xsl:template name="Real">
+    <xsl:value-of select="."/>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/src/gromacs/selection/tests/refdata/referencedata.xsl b/src/gromacs/selection/tests/refdata/referencedata.xsl
new file mode 100644 (file)
index 0000000..aa4416a
--- /dev/null
@@ -0,0 +1,88 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0"
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+<xsl:import href="common-referencedata.xsl"/>
+
+<xsl:key name="SelectionName" match="ParsedSelections/ParsedSelection" use="@Name"/>
+
+<xsl:template match="ParsedSelections">
+    <h2>Parsed Selections</h2>
+    <table border="1">
+        <tr>
+            <th/>
+            <th>Input</th>
+            <th>Name</th>
+            <th>Text</th>
+            <th>Dynamic</th>
+        </tr>
+        <xsl:for-each select="*">
+        <tr>
+            <td><xsl:value-of select="@Name"/></td>
+            <td><xsl:value-of select="String[@Name='Input']"/></td>
+            <td><xsl:value-of select="String[@Name='Name']"/></td>
+            <td><xsl:value-of select="String[@Name='Text']"/></td>
+            <td><xsl:value-of select="Bool[@Name='Dynamic']"/></td>
+        </tr>
+        </xsl:for-each>
+    </table>
+</xsl:template>
+
+<xsl:template match="CompiledSelections">
+    <h2>Compiled Selections</h2>
+    <xsl:apply-templates />
+</xsl:template>
+
+<xsl:template match="EvaluatedSelections">
+    <h2>Evaluated for <xsl:value-of select="@Name"/></h2>
+    <xsl:apply-templates />
+</xsl:template>
+
+<xsl:template match="Selection">
+    <h3><xsl:value-of select="@Name"/></h3>
+    <p>
+        Selection text:<br/>
+        <xsl:value-of select="key('SelectionName', @Name)/String[@Name='Text']"/>
+    </p>
+    <xsl:apply-templates />
+</xsl:template>
+
+<xsl:template match="Selection/Sequence[@Name='Atoms']">
+    <p>
+        Atoms:
+        <xsl:call-template name="SequenceAsHorizontalTable"/>
+    </p>
+</xsl:template>
+
+<xsl:template match="Selection/Sequence[@Name='Positions']">
+    <p>
+        Positions (count: <xsl:value-of select="Int[@Name='Length']"/>):
+        <table border="1">
+            <tr>
+                <th>Atom count</th>
+                <th>Atoms</th>
+                <xsl:if test="Position/Vector[@Name='Coordinates']">
+                    <th>Coordinates</th>
+                </xsl:if>
+            </tr>
+            <xsl:for-each select="Position">
+            <tr>
+                <td><xsl:value-of select="Sequence[@Name='Atoms']/Int[@Name='Length']"/></td>
+                <td>
+                    <xsl:call-template name="SequenceAsCSV">
+                        <xsl:with-param name="root" select="Sequence[@Name='Atoms']"/>
+                    </xsl:call-template>
+                </td>
+                <xsl:if test="Vector[@Name='Coordinates']">
+                    <td>
+                        <xsl:apply-templates select="Vector[@Name='Coordinates']"/>
+                    </td>
+                </xsl:if>
+            </tr>
+            </xsl:for-each>
+        </table>
+    </p>
+</xsl:template>
+
+</xsl:stylesheet>
index 422e6753e5c6d81e8c8a94f61a7a56bc0990c103..c2cf66264110cf53c2a3bf4b9a19cd75df11a5aa 100644 (file)
@@ -58,6 +58,8 @@ class TestReferenceData::Impl
 {
     public:
         static const xmlChar * const cXmlVersion;
+        static const xmlChar * const cXmlStyleSheetNodeName;
+        static const xmlChar * const cXmlStyleSheetContent;
         static const xmlChar * const cRootNodeName;
 
         explicit Impl(ReferenceDataMode mode);
index 7314b7988f29febbe3893f5f66fadc70d42ea8f5..608ad72db974441f2c9e2cb5799ab57e609bb745 100644 (file)
@@ -88,6 +88,10 @@ void addGlobalReferenceDataEnvironment()
 
 const xmlChar * const TestReferenceData::Impl::cXmlVersion =
     (const xmlChar *)"1.0";
+const xmlChar * const TestReferenceData::Impl::cXmlStyleSheetNodeName =
+    (const xmlChar *)"xml-stylesheet";
+const xmlChar * const TestReferenceData::Impl::cXmlStyleSheetContent =
+    (const xmlChar *)"type=\"text/xsl\" href=\"referencedata.xsl\"";
 const xmlChar * const TestReferenceData::Impl::cRootNodeName =
     (const xmlChar *)"ReferenceData";
 const xmlChar * const TestReferenceChecker::Impl::cBooleanNodeName =
@@ -139,6 +143,9 @@ TestReferenceData::Impl::Impl(ReferenceDataMode mode)
         _refDoc = xmlNewDoc(cXmlVersion);
         xmlNodePtr rootNode = xmlNewDocNode(_refDoc, NULL, cRootNodeName, NULL);
         xmlDocSetRootElement(_refDoc, rootNode);
+        xmlNodePtr xslNode = xmlNewDocPI(_refDoc, cXmlStyleSheetNodeName,
+                                         cXmlStyleSheetContent);
+        xmlAddPrevSibling(rootNode, xslNode);
     }
     else
     {