Browse Source

Merge pull request #11297 from ghalliday/issue19782

HPCC-19782 Change getXMLParseTree() to create valid xml

Reviewed-By: Richard Chapman <rchapman@hpccsystems.com>
Richard Chapman 7 years ago
parent
commit
a29a9e4c63

+ 2 - 0
plugins/parselib/parselib.cpp

@@ -176,7 +176,9 @@ PARSELIB_API void setPluginContext(IPluginContext * _ctx) { parentCtx = _ctx; }
 PARSELIB_API void plGetXmlParseTree(IMatchWalker * walker, unsigned & len, char * & text)
 {
     StringBuffer s;
+    s.append("<matches>");
     getXmlParseTree(s, walker, 0);
+    s.append("</matches>");
     len = s.length();
     text = s.detach();
 }

+ 34 - 34
testing/regress/ecl/key/tpat2.xml

@@ -1,5 +1,5 @@
 <Dataset name='Result 1'>
- <Row><le>!abc * def + ghi!</le><tree>Tree: e[e[t[t[f[&quot;abc&quot;]] &quot;*&quot; f[&quot;def&quot;]]] &quot;+&quot; t[f[&quot;ghi&quot;]]]</tree><tree2>Xml: &lt;e&gt;
+ <Row><le>!abc * def + ghi!</le><tree>Tree: e[e[t[t[f[&quot;abc&quot;]] &quot;*&quot; f[&quot;def&quot;]]] &quot;+&quot; t[f[&quot;ghi&quot;]]]</tree><tree2>Xml: &lt;matches&gt;&lt;e&gt;
  &lt;e&gt;
   &lt;t&gt;
    &lt;t&gt;
@@ -15,8 +15,8 @@ def   &lt;/f&gt;
 ghi  &lt;/f&gt;
  &lt;/t&gt;
 &lt;/e&gt;
-</tree2></Row>
- <Row><le>!(a + b) * (c + d)!</le><tree>Tree: e[t[t[f[&quot;(&quot; e[e[t[f[&quot;a&quot;]]] &quot;+&quot; t[f[&quot;b&quot;]]] &quot;)&quot;]] &quot;*&quot; f[&quot;(&quot; e[e[t[f[&quot;c&quot;]]] &quot;+&quot; t[f[&quot;d&quot;]]] &quot;)&quot;]]]</tree><tree2>Xml: &lt;e&gt;
+&lt;/matches&gt;</tree2></Row>
+ <Row><le>!(a + b) * (c + d)!</le><tree>Tree: e[t[t[f[&quot;(&quot; e[e[t[f[&quot;a&quot;]]] &quot;+&quot; t[f[&quot;b&quot;]]] &quot;)&quot;]] &quot;*&quot; f[&quot;(&quot; e[e[t[f[&quot;c&quot;]]] &quot;+&quot; t[f[&quot;d&quot;]]] &quot;)&quot;]]]</tree><tree2>Xml: &lt;matches&gt;&lt;e&gt;
  &lt;t&gt;
   &lt;t&gt;
    &lt;f&gt;
@@ -50,17 +50,17 @@ d     &lt;/f&gt;
 )  &lt;/f&gt;
  &lt;/t&gt;
 &lt;/e&gt;
-</tree2></Row>
+&lt;/matches&gt;</tree2></Row>
 </Dataset>
 <Dataset name='Result 2'>
- <Row><le>!abc!</le><tree>Tree: e[t[f[&quot;abc&quot;]]]</tree><tree2>Xml: &lt;e&gt;
+ <Row><le>!abc!</le><tree>Tree: e[t[f[&quot;abc&quot;]]]</tree><tree2>Xml: &lt;matches&gt;&lt;e&gt;
  &lt;t&gt;
   &lt;f&gt;
 abc  &lt;/f&gt;
  &lt;/t&gt;
 &lt;/e&gt;
-</tree2></Row>
- <Row><le>!abc * def!</le><tree>Tree: e[t[t[f[&quot;abc&quot;]] &quot;*&quot; f[&quot;def&quot;]]]</tree><tree2>Xml: &lt;e&gt;
+&lt;/matches&gt;</tree2></Row>
+ <Row><le>!abc * def!</le><tree>Tree: e[t[t[f[&quot;abc&quot;]] &quot;*&quot; f[&quot;def&quot;]]]</tree><tree2>Xml: &lt;matches&gt;&lt;e&gt;
  &lt;t&gt;
   &lt;t&gt;
    &lt;f&gt;
@@ -70,8 +70,8 @@ abc   &lt;/f&gt;
 def  &lt;/f&gt;
  &lt;/t&gt;
 &lt;/e&gt;
-</tree2></Row>
- <Row><le>!abc * def + ghi!</le><tree>Tree: e[e[t[t[f[&quot;abc&quot;]] &quot;*&quot; f[&quot;def&quot;]]] &quot;+&quot; t[f[&quot;ghi&quot;]]]</tree><tree2>Xml: &lt;e&gt;
+&lt;/matches&gt;</tree2></Row>
+ <Row><le>!abc * def + ghi!</le><tree>Tree: e[e[t[t[f[&quot;abc&quot;]] &quot;*&quot; f[&quot;def&quot;]]] &quot;+&quot; t[f[&quot;ghi&quot;]]]</tree><tree2>Xml: &lt;matches&gt;&lt;e&gt;
  &lt;e&gt;
   &lt;t&gt;
    &lt;t&gt;
@@ -87,15 +87,15 @@ def   &lt;/f&gt;
 ghi  &lt;/f&gt;
  &lt;/t&gt;
 &lt;/e&gt;
-</tree2></Row>
- <Row><le>!def!</le><tree>Tree: e[t[f[&quot;def&quot;]]]</tree><tree2>Xml: &lt;e&gt;
+&lt;/matches&gt;</tree2></Row>
+ <Row><le>!def!</le><tree>Tree: e[t[f[&quot;def&quot;]]]</tree><tree2>Xml: &lt;matches&gt;&lt;e&gt;
  &lt;t&gt;
   &lt;f&gt;
 def  &lt;/f&gt;
  &lt;/t&gt;
 &lt;/e&gt;
-</tree2></Row>
- <Row><le>!def + ghi!</le><tree>Tree: e[e[t[f[&quot;def&quot;]]] &quot;+&quot; t[f[&quot;ghi&quot;]]]</tree><tree2>Xml: &lt;e&gt;
+&lt;/matches&gt;</tree2></Row>
+ <Row><le>!def + ghi!</le><tree>Tree: e[e[t[f[&quot;def&quot;]]] &quot;+&quot; t[f[&quot;ghi&quot;]]]</tree><tree2>Xml: &lt;matches&gt;&lt;e&gt;
  &lt;e&gt;
   &lt;t&gt;
    &lt;f&gt;
@@ -107,15 +107,15 @@ def   &lt;/f&gt;
 ghi  &lt;/f&gt;
  &lt;/t&gt;
 &lt;/e&gt;
-</tree2></Row>
- <Row><le>!ghi!</le><tree>Tree: e[t[f[&quot;ghi&quot;]]]</tree><tree2>Xml: &lt;e&gt;
+&lt;/matches&gt;</tree2></Row>
+ <Row><le>!ghi!</le><tree>Tree: e[t[f[&quot;ghi&quot;]]]</tree><tree2>Xml: &lt;matches&gt;&lt;e&gt;
  &lt;t&gt;
   &lt;f&gt;
 ghi  &lt;/f&gt;
  &lt;/t&gt;
 &lt;/e&gt;
-</tree2></Row>
- <Row><le>!(a + b)!</le><tree>Tree: e[t[f[&quot;(&quot; e[e[t[f[&quot;a&quot;]]] &quot;+&quot; t[f[&quot;b&quot;]]] &quot;)&quot;]]]</tree><tree2>Xml: &lt;e&gt;
+&lt;/matches&gt;</tree2></Row>
+ <Row><le>!(a + b)!</le><tree>Tree: e[t[f[&quot;(&quot; e[e[t[f[&quot;a&quot;]]] &quot;+&quot; t[f[&quot;b&quot;]]] &quot;)&quot;]]]</tree><tree2>Xml: &lt;matches&gt;&lt;e&gt;
  &lt;t&gt;
   &lt;f&gt;
 (   &lt;e&gt;
@@ -133,8 +133,8 @@ b     &lt;/f&gt;
 )  &lt;/f&gt;
  &lt;/t&gt;
 &lt;/e&gt;
-</tree2></Row>
- <Row><le>!(a + b) * (c + d)!</le><tree>Tree: e[t[t[f[&quot;(&quot; e[e[t[f[&quot;a&quot;]]] &quot;+&quot; t[f[&quot;b&quot;]]] &quot;)&quot;]] &quot;*&quot; f[&quot;(&quot; e[e[t[f[&quot;c&quot;]]] &quot;+&quot; t[f[&quot;d&quot;]]] &quot;)&quot;]]]</tree><tree2>Xml: &lt;e&gt;
+&lt;/matches&gt;</tree2></Row>
+ <Row><le>!(a + b) * (c + d)!</le><tree>Tree: e[t[t[f[&quot;(&quot; e[e[t[f[&quot;a&quot;]]] &quot;+&quot; t[f[&quot;b&quot;]]] &quot;)&quot;]] &quot;*&quot; f[&quot;(&quot; e[e[t[f[&quot;c&quot;]]] &quot;+&quot; t[f[&quot;d&quot;]]] &quot;)&quot;]]]</tree><tree2>Xml: &lt;matches&gt;&lt;e&gt;
  &lt;t&gt;
   &lt;t&gt;
    &lt;f&gt;
@@ -168,15 +168,15 @@ d     &lt;/f&gt;
 )  &lt;/f&gt;
  &lt;/t&gt;
 &lt;/e&gt;
-</tree2></Row>
- <Row><le>!a!</le><tree>Tree: e[t[f[&quot;a&quot;]]]</tree><tree2>Xml: &lt;e&gt;
+&lt;/matches&gt;</tree2></Row>
+ <Row><le>!a!</le><tree>Tree: e[t[f[&quot;a&quot;]]]</tree><tree2>Xml: &lt;matches&gt;&lt;e&gt;
  &lt;t&gt;
   &lt;f&gt;
 a  &lt;/f&gt;
  &lt;/t&gt;
 &lt;/e&gt;
-</tree2></Row>
- <Row><le>!a + b!</le><tree>Tree: e[e[t[f[&quot;a&quot;]]] &quot;+&quot; t[f[&quot;b&quot;]]]</tree><tree2>Xml: &lt;e&gt;
+&lt;/matches&gt;</tree2></Row>
+ <Row><le>!a + b!</le><tree>Tree: e[e[t[f[&quot;a&quot;]]] &quot;+&quot; t[f[&quot;b&quot;]]]</tree><tree2>Xml: &lt;matches&gt;&lt;e&gt;
  &lt;e&gt;
   &lt;t&gt;
    &lt;f&gt;
@@ -188,15 +188,15 @@ a   &lt;/f&gt;
 b  &lt;/f&gt;
  &lt;/t&gt;
 &lt;/e&gt;
-</tree2></Row>
- <Row><le>!b!</le><tree>Tree: e[t[f[&quot;b&quot;]]]</tree><tree2>Xml: &lt;e&gt;
+&lt;/matches&gt;</tree2></Row>
+ <Row><le>!b!</le><tree>Tree: e[t[f[&quot;b&quot;]]]</tree><tree2>Xml: &lt;matches&gt;&lt;e&gt;
  &lt;t&gt;
   &lt;f&gt;
 b  &lt;/f&gt;
  &lt;/t&gt;
 &lt;/e&gt;
-</tree2></Row>
- <Row><le>!(c + d)!</le><tree>Tree: e[t[f[&quot;(&quot; e[e[t[f[&quot;c&quot;]]] &quot;+&quot; t[f[&quot;d&quot;]]] &quot;)&quot;]]]</tree><tree2>Xml: &lt;e&gt;
+&lt;/matches&gt;</tree2></Row>
+ <Row><le>!(c + d)!</le><tree>Tree: e[t[f[&quot;(&quot; e[e[t[f[&quot;c&quot;]]] &quot;+&quot; t[f[&quot;d&quot;]]] &quot;)&quot;]]]</tree><tree2>Xml: &lt;matches&gt;&lt;e&gt;
  &lt;t&gt;
   &lt;f&gt;
 (   &lt;e&gt;
@@ -214,15 +214,15 @@ d     &lt;/f&gt;
 )  &lt;/f&gt;
  &lt;/t&gt;
 &lt;/e&gt;
-</tree2></Row>
- <Row><le>!c!</le><tree>Tree: e[t[f[&quot;c&quot;]]]</tree><tree2>Xml: &lt;e&gt;
+&lt;/matches&gt;</tree2></Row>
+ <Row><le>!c!</le><tree>Tree: e[t[f[&quot;c&quot;]]]</tree><tree2>Xml: &lt;matches&gt;&lt;e&gt;
  &lt;t&gt;
   &lt;f&gt;
 c  &lt;/f&gt;
  &lt;/t&gt;
 &lt;/e&gt;
-</tree2></Row>
- <Row><le>!c + d!</le><tree>Tree: e[e[t[f[&quot;c&quot;]]] &quot;+&quot; t[f[&quot;d&quot;]]]</tree><tree2>Xml: &lt;e&gt;
+&lt;/matches&gt;</tree2></Row>
+ <Row><le>!c + d!</le><tree>Tree: e[e[t[f[&quot;c&quot;]]] &quot;+&quot; t[f[&quot;d&quot;]]]</tree><tree2>Xml: &lt;matches&gt;&lt;e&gt;
  &lt;e&gt;
   &lt;t&gt;
    &lt;f&gt;
@@ -234,12 +234,12 @@ c   &lt;/f&gt;
 d  &lt;/f&gt;
  &lt;/t&gt;
 &lt;/e&gt;
-</tree2></Row>
- <Row><le>!d!</le><tree>Tree: e[t[f[&quot;d&quot;]]]</tree><tree2>Xml: &lt;e&gt;
+&lt;/matches&gt;</tree2></Row>
+ <Row><le>!d!</le><tree>Tree: e[t[f[&quot;d&quot;]]]</tree><tree2>Xml: &lt;matches&gt;&lt;e&gt;
  &lt;t&gt;
   &lt;f&gt;
 d  &lt;/f&gt;
  &lt;/t&gt;
 &lt;/e&gt;
-</tree2></Row>
+&lt;/matches&gt;</tree2></Row>
 </Dataset>

+ 38 - 38
testing/regress/ecl/key/tpat6.xml

@@ -1,5 +1,5 @@
 <Dataset name='Result 1'>
- <Row><getxmlparsetree>&lt;s&gt;
+ <Row><getxmlparsetree>&lt;matches&gt;&lt;s&gt;
  &lt;np&gt;
   &lt;n&gt;
 I  &lt;/n&gt;
@@ -39,8 +39,8 @@ saw    &lt;/n&gt;
   &lt;/pp&gt;
  &lt;/vp&gt;
 &lt;/s&gt;
-</getxmlparsetree></Row>
- <Row><getxmlparsetree>&lt;s&gt;
+&lt;/matches&gt;</getxmlparsetree></Row>
+ <Row><getxmlparsetree>&lt;matches&gt;&lt;s&gt;
  &lt;np&gt;
   &lt;n&gt;
 I  &lt;/n&gt;
@@ -80,8 +80,8 @@ saw       &lt;/n&gt;
   &lt;/np&gt;
  &lt;/vp&gt;
 &lt;/s&gt;
-</getxmlparsetree></Row>
- <Row><getxmlparsetree>&lt;s&gt;
+&lt;/matches&gt;</getxmlparsetree></Row>
+ <Row><getxmlparsetree>&lt;matches&gt;&lt;s&gt;
  &lt;np&gt;
   &lt;n&gt;
 I  &lt;/n&gt;
@@ -121,8 +121,8 @@ saw      &lt;/n&gt;
   &lt;/pp&gt;
  &lt;/vp&gt;
 &lt;/s&gt;
-</getxmlparsetree></Row>
- <Row><getxmlparsetree>&lt;s&gt;
+&lt;/matches&gt;</getxmlparsetree></Row>
+ <Row><getxmlparsetree>&lt;matches&gt;&lt;s&gt;
  &lt;np&gt;
   &lt;n&gt;
 I  &lt;/n&gt;
@@ -162,8 +162,8 @@ saw    &lt;/n&gt;
   &lt;/pp&gt;
  &lt;/vp&gt;
 &lt;/s&gt;
-</getxmlparsetree></Row>
- <Row><getxmlparsetree>&lt;s&gt;
+&lt;/matches&gt;</getxmlparsetree></Row>
+ <Row><getxmlparsetree>&lt;matches&gt;&lt;s&gt;
  &lt;np&gt;
   &lt;n&gt;
 I  &lt;/n&gt;
@@ -203,8 +203,8 @@ saw     &lt;/n&gt;
   &lt;/np&gt;
  &lt;/vp&gt;
 &lt;/s&gt;
-</getxmlparsetree></Row>
- <Row><getxmlparsetree>&lt;s&gt;
+&lt;/matches&gt;</getxmlparsetree></Row>
+ <Row><getxmlparsetree>&lt;matches&gt;&lt;s&gt;
  &lt;np&gt;
   &lt;n&gt;
 I  &lt;/n&gt;
@@ -256,8 +256,8 @@ telescope    &lt;/n&gt;
   &lt;/pp&gt;
  &lt;/vp&gt;
 &lt;/s&gt;
-</getxmlparsetree></Row>
- <Row><getxmlparsetree>&lt;s&gt;
+&lt;/matches&gt;</getxmlparsetree></Row>
+ <Row><getxmlparsetree>&lt;matches&gt;&lt;s&gt;
  &lt;np&gt;
   &lt;n&gt;
 I  &lt;/n&gt;
@@ -309,8 +309,8 @@ telescope         &lt;/n&gt;
   &lt;/np&gt;
  &lt;/vp&gt;
 &lt;/s&gt;
-</getxmlparsetree></Row>
- <Row><getxmlparsetree>&lt;s&gt;
+&lt;/matches&gt;</getxmlparsetree></Row>
+ <Row><getxmlparsetree>&lt;matches&gt;&lt;s&gt;
  &lt;np&gt;
   &lt;n&gt;
 I  &lt;/n&gt;
@@ -362,8 +362,8 @@ telescope        &lt;/n&gt;
   &lt;/pp&gt;
  &lt;/vp&gt;
 &lt;/s&gt;
-</getxmlparsetree></Row>
- <Row><getxmlparsetree>&lt;s&gt;
+&lt;/matches&gt;</getxmlparsetree></Row>
+ <Row><getxmlparsetree>&lt;matches&gt;&lt;s&gt;
  &lt;np&gt;
   &lt;n&gt;
 I  &lt;/n&gt;
@@ -415,8 +415,8 @@ telescope       &lt;/n&gt;
   &lt;/np&gt;
  &lt;/vp&gt;
 &lt;/s&gt;
-</getxmlparsetree></Row>
- <Row><getxmlparsetree>&lt;s&gt;
+&lt;/matches&gt;</getxmlparsetree></Row>
+ <Row><getxmlparsetree>&lt;matches&gt;&lt;s&gt;
  &lt;np&gt;
   &lt;n&gt;
 I  &lt;/n&gt;
@@ -468,8 +468,8 @@ telescope       &lt;/n&gt;
   &lt;/np&gt;
  &lt;/vp&gt;
 &lt;/s&gt;
-</getxmlparsetree></Row>
- <Row><getxmlparsetree>&lt;s&gt;
+&lt;/matches&gt;</getxmlparsetree></Row>
+ <Row><getxmlparsetree>&lt;matches&gt;&lt;s&gt;
  &lt;np&gt;
   &lt;n&gt;
 I  &lt;/n&gt;
@@ -521,8 +521,8 @@ telescope      &lt;/n&gt;
   &lt;/pp&gt;
  &lt;/vp&gt;
 &lt;/s&gt;
-</getxmlparsetree></Row>
- <Row><getxmlparsetree>&lt;s&gt;
+&lt;/matches&gt;</getxmlparsetree></Row>
+ <Row><getxmlparsetree>&lt;matches&gt;&lt;s&gt;
  &lt;np&gt;
   &lt;n&gt;
 I  &lt;/n&gt;
@@ -574,8 +574,8 @@ telescope      &lt;/n&gt;
   &lt;/pp&gt;
  &lt;/vp&gt;
 &lt;/s&gt;
-</getxmlparsetree></Row>
- <Row><getxmlparsetree>&lt;s&gt;
+&lt;/matches&gt;</getxmlparsetree></Row>
+ <Row><getxmlparsetree>&lt;matches&gt;&lt;s&gt;
  &lt;np&gt;
   &lt;n&gt;
 I  &lt;/n&gt;
@@ -627,8 +627,8 @@ telescope      &lt;/n&gt;
   &lt;/pp&gt;
  &lt;/vp&gt;
 &lt;/s&gt;
-</getxmlparsetree></Row>
- <Row><getxmlparsetree>&lt;s&gt;
+&lt;/matches&gt;</getxmlparsetree></Row>
+ <Row><getxmlparsetree>&lt;matches&gt;&lt;s&gt;
  &lt;np&gt;
   &lt;n&gt;
 I  &lt;/n&gt;
@@ -680,8 +680,8 @@ telescope    &lt;/n&gt;
   &lt;/pp&gt;
  &lt;/vp&gt;
 &lt;/s&gt;
-</getxmlparsetree></Row>
- <Row><getxmlparsetree>&lt;s&gt;
+&lt;/matches&gt;</getxmlparsetree></Row>
+ <Row><getxmlparsetree>&lt;matches&gt;&lt;s&gt;
  &lt;np&gt;
   &lt;n&gt;
 I  &lt;/n&gt;
@@ -733,8 +733,8 @@ telescope    &lt;/n&gt;
   &lt;/pp&gt;
  &lt;/vp&gt;
 &lt;/s&gt;
-</getxmlparsetree></Row>
- <Row><getxmlparsetree>&lt;s&gt;
+&lt;/matches&gt;</getxmlparsetree></Row>
+ <Row><getxmlparsetree>&lt;matches&gt;&lt;s&gt;
  &lt;np&gt;
   &lt;n&gt;
 I  &lt;/n&gt;
@@ -786,8 +786,8 @@ telescope    &lt;/n&gt;
   &lt;/pp&gt;
  &lt;/vp&gt;
 &lt;/s&gt;
-</getxmlparsetree></Row>
- <Row><getxmlparsetree>&lt;s&gt;
+&lt;/matches&gt;</getxmlparsetree></Row>
+ <Row><getxmlparsetree>&lt;matches&gt;&lt;s&gt;
  &lt;np&gt;
   &lt;n&gt;
 I  &lt;/n&gt;
@@ -839,8 +839,8 @@ telescope    &lt;/n&gt;
   &lt;/pp&gt;
  &lt;/vp&gt;
 &lt;/s&gt;
-</getxmlparsetree></Row>
- <Row><getxmlparsetree>&lt;s&gt;
+&lt;/matches&gt;</getxmlparsetree></Row>
+ <Row><getxmlparsetree>&lt;matches&gt;&lt;s&gt;
  &lt;np&gt;
   &lt;n&gt;
 I  &lt;/n&gt;
@@ -892,8 +892,8 @@ telescope     &lt;/n&gt;
   &lt;/np&gt;
  &lt;/vp&gt;
 &lt;/s&gt;
-</getxmlparsetree></Row>
- <Row><getxmlparsetree>&lt;s&gt;
+&lt;/matches&gt;</getxmlparsetree></Row>
+ <Row><getxmlparsetree>&lt;matches&gt;&lt;s&gt;
  &lt;np&gt;
   &lt;n&gt;
 I  &lt;/n&gt;
@@ -945,5 +945,5 @@ telescope     &lt;/n&gt;
   &lt;/np&gt;
  &lt;/vp&gt;
 &lt;/s&gt;
-</getxmlparsetree></Row>
+&lt;/matches&gt;</getxmlparsetree></Row>
 </Dataset>

+ 4 - 4
testing/regress/ecl/key/tpat7.xml

@@ -1,5 +1,5 @@
 <Dataset name='Result 1'>
- <Row><getxmlparsetree>&lt;s&gt;
+ <Row><getxmlparsetree>&lt;matches&gt;&lt;s&gt;
  &lt;np&gt;
   &lt;n&gt;
 I  &lt;/n&gt;
@@ -39,8 +39,8 @@ saw     &lt;/n&gt;
   &lt;/np&gt;
  &lt;/vp&gt;
 &lt;/s&gt;
-</getxmlparsetree></Row>
- <Row><getxmlparsetree>&lt;s&gt;
+&lt;/matches&gt;</getxmlparsetree></Row>
+ <Row><getxmlparsetree>&lt;matches&gt;&lt;s&gt;
  &lt;np&gt;
   &lt;n&gt;
 I  &lt;/n&gt;
@@ -92,5 +92,5 @@ telescope     &lt;/n&gt;
   &lt;/np&gt;
  &lt;/vp&gt;
 &lt;/s&gt;
-</getxmlparsetree></Row>
+&lt;/matches&gt;</getxmlparsetree></Row>
 </Dataset>