summaryrefslogtreecommitdiffstats
path: root/contrib/libxo/tests/core/saved
diff options
context:
space:
mode:
authormarcel <marcel@FreeBSD.org>2015-08-24 16:26:20 +0000
committermarcel <marcel@FreeBSD.org>2015-08-24 16:26:20 +0000
commit02ffac2cca7d10e6d7dd08bf0312f623bf082268 (patch)
tree2b06534b5d1c1378ec99094a62eff13dfd2e48fc /contrib/libxo/tests/core/saved
parentdb61d1271ad0bc51e60afe181a45a7318591dad6 (diff)
downloadFreeBSD-src-02ffac2cca7d10e6d7dd08bf0312f623bf082268.zip
FreeBSD-src-02ffac2cca7d10e6d7dd08bf0312f623bf082268.tar.gz
Upgrade libxo to 0.4.5.
Local changes incorporated by 0.4.5: r284340 Local changes retained: r276260, r282117 Obtained from: https://github.com/Juniper/libxo
Diffstat (limited to 'contrib/libxo/tests/core/saved')
-rw-r--r--contrib/libxo/tests/core/saved/test_01.E.err0
-rw-r--r--contrib/libxo/tests/core/saved/test_01.E.out119
-rw-r--r--contrib/libxo/tests/core/saved/test_01.H.out2
-rw-r--r--contrib/libxo/tests/core/saved/test_01.HIPx.out77
-rw-r--r--contrib/libxo/tests/core/saved/test_01.HP.out7
-rw-r--r--contrib/libxo/tests/core/saved/test_01.J.out2
-rw-r--r--contrib/libxo/tests/core/saved/test_01.JP.out8
-rw-r--r--contrib/libxo/tests/core/saved/test_01.T.out1
-rw-r--r--contrib/libxo/tests/core/saved/test_01.X.out2
-rw-r--r--contrib/libxo/tests/core/saved/test_01.XP.out14
-rw-r--r--contrib/libxo/tests/core/saved/test_02.E.err0
-rw-r--r--contrib/libxo/tests/core/saved/test_02.E.out68
-rw-r--r--contrib/libxo/tests/core/saved/test_02.H.out6
-rw-r--r--contrib/libxo/tests/core/saved/test_02.HIPx.out100
-rw-r--r--contrib/libxo/tests/core/saved/test_02.HP.out100
-rw-r--r--contrib/libxo/tests/core/saved/test_02.J.out2
-rw-r--r--contrib/libxo/tests/core/saved/test_02.JP.out37
-rw-r--r--contrib/libxo/tests/core/saved/test_02.T.out19
-rw-r--r--contrib/libxo/tests/core/saved/test_02.X.out8
-rw-r--r--contrib/libxo/tests/core/saved/test_02.XP.out50
-rw-r--r--contrib/libxo/tests/core/saved/test_03.E.err0
-rw-r--r--contrib/libxo/tests/core/saved/test_03.E.out22
-rw-r--r--contrib/libxo/tests/core/saved/test_04.E.err0
-rw-r--r--contrib/libxo/tests/core/saved/test_04.E.out22
-rw-r--r--contrib/libxo/tests/core/saved/test_05.E.err0
-rw-r--r--contrib/libxo/tests/core/saved/test_05.E.out96
-rw-r--r--contrib/libxo/tests/core/saved/test_05.H.out2
-rw-r--r--contrib/libxo/tests/core/saved/test_05.HIPx.out86
-rw-r--r--contrib/libxo/tests/core/saved/test_05.HP.out86
-rw-r--r--contrib/libxo/tests/core/saved/test_05.J.out3
-rw-r--r--contrib/libxo/tests/core/saved/test_05.JP.out24
-rw-r--r--contrib/libxo/tests/core/saved/test_05.T.out28
-rw-r--r--contrib/libxo/tests/core/saved/test_05.X.out2
-rw-r--r--contrib/libxo/tests/core/saved/test_05.XP.out21
-rw-r--r--contrib/libxo/tests/core/saved/test_06.E.err0
-rw-r--r--contrib/libxo/tests/core/saved/test_06.E.out22
-rw-r--r--contrib/libxo/tests/core/saved/test_07.E.err0
-rw-r--r--contrib/libxo/tests/core/saved/test_07.E.out76
-rw-r--r--contrib/libxo/tests/core/saved/test_08.E.err18
-rw-r--r--contrib/libxo/tests/core/saved/test_08.E.out186
-rw-r--r--contrib/libxo/tests/core/saved/test_08.H.err34
-rw-r--r--contrib/libxo/tests/core/saved/test_08.HIPx.err34
-rw-r--r--contrib/libxo/tests/core/saved/test_08.HIPx.out134
-rw-r--r--contrib/libxo/tests/core/saved/test_08.HP.err34
-rw-r--r--contrib/libxo/tests/core/saved/test_08.J.err34
-rw-r--r--contrib/libxo/tests/core/saved/test_08.J.out2
-rw-r--r--contrib/libxo/tests/core/saved/test_08.JP.err34
-rw-r--r--contrib/libxo/tests/core/saved/test_08.JP.out6
-rw-r--r--contrib/libxo/tests/core/saved/test_08.T.err34
-rw-r--r--contrib/libxo/tests/core/saved/test_08.X.err34
-rw-r--r--contrib/libxo/tests/core/saved/test_08.X.out2
-rw-r--r--contrib/libxo/tests/core/saved/test_08.XP.err34
-rw-r--r--contrib/libxo/tests/core/saved/test_08.XP.out12
-rw-r--r--contrib/libxo/tests/core/saved/test_09.E.err0
-rw-r--r--contrib/libxo/tests/core/saved/test_09.E.out40
-rw-r--r--contrib/libxo/tests/core/saved/test_10.E.err0
-rw-r--r--contrib/libxo/tests/core/saved/test_10.E.out126
-rw-r--r--contrib/libxo/tests/core/saved/test_11.E.err0
-rw-r--r--contrib/libxo/tests/core/saved/test_11.E.out26
-rw-r--r--contrib/libxo/tests/core/saved/test_11.H.err0
-rw-r--r--contrib/libxo/tests/core/saved/test_11.H.out16
-rw-r--r--contrib/libxo/tests/core/saved/test_11.HIPx.err0
-rw-r--r--contrib/libxo/tests/core/saved/test_11.HIPx.out16
-rw-r--r--contrib/libxo/tests/core/saved/test_11.HP.err0
-rw-r--r--contrib/libxo/tests/core/saved/test_11.HP.out16
-rw-r--r--contrib/libxo/tests/core/saved/test_11.J.err0
-rw-r--r--contrib/libxo/tests/core/saved/test_11.J.out18
-rw-r--r--contrib/libxo/tests/core/saved/test_11.JP.err0
-rw-r--r--contrib/libxo/tests/core/saved/test_11.JP.out22
-rw-r--r--contrib/libxo/tests/core/saved/test_11.T.err0
-rw-r--r--contrib/libxo/tests/core/saved/test_11.T.out16
-rw-r--r--contrib/libxo/tests/core/saved/test_11.X.err0
-rw-r--r--contrib/libxo/tests/core/saved/test_11.X.out17
-rw-r--r--contrib/libxo/tests/core/saved/test_11.XP.err0
-rw-r--r--contrib/libxo/tests/core/saved/test_11.XP.out18
75 files changed, 1779 insertions, 296 deletions
diff --git a/contrib/libxo/tests/core/saved/test_01.E.err b/contrib/libxo/tests/core/saved/test_01.E.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/contrib/libxo/tests/core/saved/test_01.E.err
diff --git a/contrib/libxo/tests/core/saved/test_01.E.out b/contrib/libxo/tests/core/saved/test_01.E.out
new file mode 100644
index 0000000..296a34e
--- /dev/null
+++ b/contrib/libxo/tests/core/saved/test_01.E.out
@@ -0,0 +1,119 @@
+op create: [] []
+op open_container: [top] []
+op string: [host] [my-box]
+op string: [domain] [example.com]
+op attr: [test] [value]
+op open_container: [data] []
+op open_list: [item] []
+op attr: [test2] [value2]
+op open_instance: [item] []
+op attr: [test3] [value3]
+op string: [sku] [GRO-000-415]
+op string: [name] [gum]
+op content: [sold] [1412]
+op content: [in-stock] [54]
+op content: [on-order] [10]
+op close_instance: [item] []
+op open_instance: [item] []
+op attr: [test3] [value3]
+op string: [sku] [HRD-000-212]
+op string: [name] [rope]
+op content: [sold] [85]
+op content: [in-stock] [4]
+op content: [on-order] [2]
+op close_instance: [item] []
+op open_instance: [item] []
+op attr: [test3] [value3]
+op string: [sku] [HRD-000-517]
+op string: [name] [ladder]
+op content: [sold] [0]
+op content: [in-stock] [2]
+op content: [on-order] [1]
+op close_instance: [item] []
+op open_instance: [item] []
+op attr: [test3] [value3]
+op string: [sku] [HRD-000-632]
+op string: [name] [bolt]
+op content: [sold] [4123]
+op content: [in-stock] [144]
+op content: [on-order] [42]
+op close_instance: [item] []
+op open_instance: [item] []
+op attr: [test3] [value3]
+op string: [sku] [GRO-000-2331]
+op string: [name] [water]
+op content: [sold] [17]
+op content: [in-stock] [14]
+op content: [on-order] [2]
+op close_instance: [item] []
+op close_list: [item] []
+op close_container: [data] []
+op open_container: [data2] []
+op open_list: [item] []
+op open_instance: [item] []
+op string: [sku] [GRO-000-415]
+op string: [name] [gum]
+op content: [sold] [1412.0]
+op content: [in-stock] [54]
+op content: [on-order] [10]
+op close_instance: [item] []
+op open_instance: [item] []
+op string: [sku] [HRD-000-212]
+op string: [name] [rope]
+op content: [sold] [85.0]
+op content: [in-stock] [4]
+op content: [on-order] [2]
+op close_instance: [item] []
+op open_instance: [item] []
+op string: [sku] [HRD-000-517]
+op string: [name] [ladder]
+op content: [sold] [0]
+op content: [in-stock] [2]
+op content: [on-order] [1]
+op close_instance: [item] []
+op open_instance: [item] []
+op string: [sku] [HRD-000-632]
+op string: [name] [bolt]
+op content: [sold] [4123.0]
+op content: [in-stock] [144]
+op content: [on-order] [42]
+op close_instance: [item] []
+op open_instance: [item] []
+op string: [sku] [GRO-000-2331]
+op string: [name] [water]
+op content: [sold] [17.0]
+op content: [in-stock] [14]
+op content: [on-order] [2]
+op close_instance: [item] []
+op close_list: [item] []
+op close_container: [data2] []
+op open_container: [data3] []
+op open_list: [item] []
+op open_instance: [item] []
+op string: [sku] [GRO-000-533]
+op string: [name] [fish]
+op content: [sold] [1321.0]
+op content: [in-stock] [45]
+op content: [on-order] [1]
+op close_instance: [item] []
+op close_list: [item] []
+op close_container: [data3] []
+op open_container: [data4] []
+op open_list: [item] []
+op attr: [test4] [value4]
+op string: [item] [gum]
+op attr: [test4] [value4]
+op string: [item] [rope]
+op attr: [test4] [value4]
+op string: [item] [ladder]
+op attr: [test4] [value4]
+op string: [item] [bolt]
+op attr: [test4] [value4]
+op string: [item] [water]
+op close_list: [item] []
+op close_container: [data4] []
+op content: [cost] [425]
+op content: [cost] [455]
+op close_container: [top] []
+op finish: [] []
+op flush: [] []
diff --git a/contrib/libxo/tests/core/saved/test_01.H.out b/contrib/libxo/tests/core/saved/test_01.H.out
index 4d4f2f1..ead320e 100644
--- a/contrib/libxo/tests/core/saved/test_01.H.out
+++ b/contrib/libxo/tests/core/saved/test_01.H.out
@@ -1 +1 @@
-<div class="line"><div class="title">Item </div><div class="title"> Total Sold</div><div class="title"> In Stock</div><div class="title"> On Order</div><div class="title"> SKU</div></div><div class="line"><div class="data" data-tag="name" data-key="key">gum </div><div class="data" data-tag="sold"> 1412</div><div class="data" data-tag="in-stock"> 54</div><div class="data" data-tag="on-order"> 10</div><div class="data" data-tag="sku" data-key="key"> GRO-000-415</div></div><div class="line"><div class="data" data-tag="name" data-key="key">rope </div><div class="data" data-tag="sold"> 85</div><div class="data" data-tag="in-stock"> 4</div><div class="data" data-tag="on-order"> 2</div><div class="data" data-tag="sku" data-key="key"> HRD-000-212</div></div><div class="line"><div class="data" data-tag="name" data-key="key">ladder </div><div class="data" data-tag="sold"> 0</div><div class="data" data-tag="in-stock"> 2</div><div class="data" data-tag="on-order"> 1</div><div class="data" data-tag="sku" data-key="key"> HRD-000-517</div></div><div class="line"><div class="data" data-tag="name" data-key="key">bolt </div><div class="data" data-tag="sold"> 4123</div><div class="data" data-tag="in-stock"> 144</div><div class="data" data-tag="on-order"> 42</div><div class="data" data-tag="sku" data-key="key"> HRD-000-632</div></div><div class="line"><div class="data" data-tag="name" data-key="key">water </div><div class="data" data-tag="sold"> 17</div><div class="data" data-tag="in-stock"> 14</div><div class="data" data-tag="on-order"> 2</div><div class="data" data-tag="sku" data-key="key"> GRO-000-2331</div></div><div class="line"></div><div class="line"></div><div class="line"><div class="label">Item</div><div class="text"> '</div><div class="data" data-tag="name" data-key="key">gum</div><div class="text">':</div></div><div class="line"><div class="padding"> </div><div class="label">Total sold</div><div class="text">: </div><div class="data" data-tag="sold">1412.0</div></div><div class="line"><div class="padding"> </div><div class="label">In stock</div><div class="decoration">:</div><div class="padding"> </div><div class="data" data-tag="in-stock">54</div></div><div class="line"><div class="padding"> </div><div class="label">On order</div><div class="decoration">:</div><div class="padding"> </div><div class="data" data-tag="on-order">10</div></div><div class="line"><div class="padding"> </div><div class="label">SKU</div><div class="text">: </div><div class="data" data-tag="sku" data-key="key">GRO-000-415</div></div><div class="line"><div class="label">Item</div><div class="text"> '</div><div class="data" data-tag="name" data-key="key">rope</div><div class="text">':</div></div><div class="line"><div class="padding"> </div><div class="label">Total sold</div><div class="text">: </div><div class="data" data-tag="sold">85.0</div></div><div class="line"><div class="padding"> </div><div class="label">In stock</div><div class="decoration">:</div><div class="padding"> </div><div class="data" data-tag="in-stock">4</div></div><div class="line"><div class="padding"> </div><div class="label">On order</div><div class="decoration">:</div><div class="padding"> </div><div class="data" data-tag="on-order">2</div></div><div class="line"><div class="padding"> </div><div class="label">SKU</div><div class="text">: </div><div class="data" data-tag="sku" data-key="key">HRD-000-212</div></div><div class="line"><div class="label">Item</div><div class="text"> '</div><div class="data" data-tag="name" data-key="key">ladder</div><div class="text">':</div></div><div class="line"><div class="padding"> </div><div class="label">Total sold</div><div class="text">: </div><div class="data" data-tag="sold">0</div></div><div class="line"><div class="padding"> </div><div class="label">In stock</div><div class="decoration">:</div><div class="padding"> </div><div class="data" data-tag="in-stock">2</div></div><div class="line"><div class="padding"> </div><div class="label">On order</div><div class="decoration">:</div><div class="padding"> </div><div class="data" data-tag="on-order">1</div></div><div class="line"><div class="padding"> </div><div class="label">SKU</div><div class="text">: </div><div class="data" data-tag="sku" data-key="key">HRD-000-517</div></div><div class="line"><div class="label">Item</div><div class="text"> '</div><div class="data" data-tag="name" data-key="key">bolt</div><div class="text">':</div></div><div class="line"><div class="padding"> </div><div class="label">Total sold</div><div class="text">: </div><div class="data" data-tag="sold">4123.0</div></div><div class="line"><div class="padding"> </div><div class="label">In stock</div><div class="decoration">:</div><div class="padding"> </div><div class="data" data-tag="in-stock">144</div></div><div class="line"><div class="padding"> </div><div class="label">On order</div><div class="decoration">:</div><div class="padding"> </div><div class="data" data-tag="on-order">42</div></div><div class="line"><div class="padding"> </div><div class="label">SKU</div><div class="text">: </div><div class="data" data-tag="sku" data-key="key">HRD-000-632</div></div><div class="line"><div class="label">Item</div><div class="text"> '</div><div class="data" data-tag="name" data-key="key">water</div><div class="text">':</div></div><div class="line"><div class="padding"> </div><div class="label">Total sold</div><div class="text">: </div><div class="data" data-tag="sold">17.0</div></div><div class="line"><div class="padding"> </div><div class="label">In stock</div><div class="decoration">:</div><div class="padding"> </div><div class="data" data-tag="in-stock">14</div></div><div class="line"><div class="padding"> </div><div class="label">On order</div><div class="decoration">:</div><div class="padding"> </div><div class="data" data-tag="on-order">2</div></div><div class="line"><div class="padding"> </div><div class="label">SKU</div><div class="text">: </div><div class="data" data-tag="sku" data-key="key">GRO-000-2331</div></div><div class="line"><div class="label">Item</div><div class="text"> '</div><div class="data" data-tag="name" data-key="key">fish</div><div class="text">':</div></div><div class="line"><div class="padding"> </div><div class="label">Total sold</div><div class="text">: </div><div class="data" data-tag="sold">1321.0</div></div><div class="line"><div class="padding"> </div><div class="label">In stock</div><div class="decoration">:</div><div class="padding"> </div><div class="data" data-tag="in-stock">45</div></div><div class="line"><div class="padding"> </div><div class="label">On order</div><div class="decoration">:</div><div class="padding"> </div><div class="data" data-tag="on-order">1</div></div><div class="line"><div class="padding"> </div><div class="label">SKU</div><div class="text">: </div><div class="data" data-tag="sku" data-key="key">GRO-000-533</div></div><div class="line"><div class="label">Item</div><div class="decoration">:</div><div class="padding"> </div><div class="data" data-tag="item">gum</div></div><div class="line"><div class="label">Item</div><div class="decoration">:</div><div class="padding"> </div><div class="data" data-tag="item">rope</div></div><div class="line"><div class="label">Item</div><div class="decoration">:</div><div class="padding"> </div><div class="data" data-tag="item">ladder</div></div><div class="line"><div class="label">Item</div><div class="decoration">:</div><div class="padding"> </div><div class="data" data-tag="item">bolt</div></div><div class="line"><div class="label">Item</div><div class="decoration">:</div><div class="padding"> </div><div class="data" data-tag="item">water</div></div><div class="line"><div class="text">X</div><div class="text">X</div><div class="text">X</div><div class="text">X</div><div class="text">X</div><div class="text">X</div><div class="text">X</div><div class="text">X</div></div><div class="line"><div class="text">X</div><div class="padding"> </div><div class="text">X</div><div class="label">Cost</div><div class="decoration">:</div><div class="padding"> </div><div class="data" data-tag="cost">425</div></div><div class="line"><div class="text">X</div><div class="padding"> </div><div class="text">X</div><div class="label">Cost</div><div class="decoration">:</div><div class="padding"> </div><div class="data" data-tag="cost">455</div></div> \ No newline at end of file
+<div class="line"><div class="text">Connecting to </div><div class="data" data-tag="host">my-box</div><div class="text">.</div><div class="data" data-tag="domain">example.com</div><div class="text">...</div></div><div class="line"><div class="title">Item </div><div class="title"> Total Sold</div><div class="title"> In Stock</div><div class="title"> On Order</div><div class="title"> SKU</div></div><div class="line"><div class="data" data-tag="name" data-key="key">gum </div><div class="data" data-tag="sold"> 1412</div><div class="data" data-tag="in-stock"> 54</div><div class="data" data-tag="on-order"> 10</div><div class="data" data-tag="sku" data-key="key"> GRO-000-415</div></div><div class="line"><div class="data" data-tag="name" data-key="key">rope </div><div class="data" data-tag="sold"> 85</div><div class="data" data-tag="in-stock"> 4</div><div class="data" data-tag="on-order"> 2</div><div class="data" data-tag="sku" data-key="key"> HRD-000-212</div></div><div class="line"><div class="data" data-tag="name" data-key="key">ladder </div><div class="data" data-tag="sold"> 0</div><div class="data" data-tag="in-stock"> 2</div><div class="data" data-tag="on-order"> 1</div><div class="data" data-tag="sku" data-key="key"> HRD-000-517</div></div><div class="line"><div class="data" data-tag="name" data-key="key">bolt </div><div class="data" data-tag="sold"> 4123</div><div class="data" data-tag="in-stock"> 144</div><div class="data" data-tag="on-order"> 42</div><div class="data" data-tag="sku" data-key="key"> HRD-000-632</div></div><div class="line"><div class="data" data-tag="name" data-key="key">water </div><div class="data" data-tag="sold"> 17</div><div class="data" data-tag="in-stock"> 14</div><div class="data" data-tag="on-order"> 2</div><div class="data" data-tag="sku" data-key="key"> GRO-000-2331</div></div><div class="line"></div><div class="line"></div><div class="line"><div class="label">Item</div><div class="text"> '</div><div class="data" data-tag="name" data-key="key">gum</div><div class="text">':</div></div><div class="line"><div class="padding"> </div><div class="label">Total sold</div><div class="text">: </div><div class="data" data-tag="sold">1412.0</div></div><div class="line"><div class="padding"> </div><div class="label">In stock</div><div class="decoration">:</div><div class="padding"> </div><div class="data" data-tag="in-stock">54</div></div><div class="line"><div class="padding"> </div><div class="label">On order</div><div class="decoration">:</div><div class="padding"> </div><div class="data" data-tag="on-order">10</div></div><div class="line"><div class="padding"> </div><div class="label">SKU</div><div class="text">: </div><div class="data" data-tag="sku" data-key="key">GRO-000-415</div></div><div class="line"><div class="label">Item</div><div class="text"> '</div><div class="data" data-tag="name" data-key="key">rope</div><div class="text">':</div></div><div class="line"><div class="padding"> </div><div class="label">Total sold</div><div class="text">: </div><div class="data" data-tag="sold">85.0</div></div><div class="line"><div class="padding"> </div><div class="label">In stock</div><div class="decoration">:</div><div class="padding"> </div><div class="data" data-tag="in-stock">4</div></div><div class="line"><div class="padding"> </div><div class="label">On order</div><div class="decoration">:</div><div class="padding"> </div><div class="data" data-tag="on-order">2</div></div><div class="line"><div class="padding"> </div><div class="label">SKU</div><div class="text">: </div><div class="data" data-tag="sku" data-key="key">HRD-000-212</div></div><div class="line"><div class="label">Item</div><div class="text"> '</div><div class="data" data-tag="name" data-key="key">ladder</div><div class="text">':</div></div><div class="line"><div class="padding"> </div><div class="label">Total sold</div><div class="text">: </div><div class="data" data-tag="sold">0</div></div><div class="line"><div class="padding"> </div><div class="label">In stock</div><div class="decoration">:</div><div class="padding"> </div><div class="data" data-tag="in-stock">2</div></div><div class="line"><div class="padding"> </div><div class="label">On order</div><div class="decoration">:</div><div class="padding"> </div><div class="data" data-tag="on-order">1</div></div><div class="line"><div class="padding"> </div><div class="label">SKU</div><div class="text">: </div><div class="data" data-tag="sku" data-key="key">HRD-000-517</div></div><div class="line"><div class="label">Item</div><div class="text"> '</div><div class="data" data-tag="name" data-key="key">bolt</div><div class="text">':</div></div><div class="line"><div class="padding"> </div><div class="label">Total sold</div><div class="text">: </div><div class="data" data-tag="sold">4123.0</div></div><div class="line"><div class="padding"> </div><div class="label">In stock</div><div class="decoration">:</div><div class="padding"> </div><div class="data" data-tag="in-stock">144</div></div><div class="line"><div class="padding"> </div><div class="label">On order</div><div class="decoration">:</div><div class="padding"> </div><div class="data" data-tag="on-order">42</div></div><div class="line"><div class="padding"> </div><div class="label">SKU</div><div class="text">: </div><div class="data" data-tag="sku" data-key="key">HRD-000-632</div></div><div class="line"><div class="label">Item</div><div class="text"> '</div><div class="data" data-tag="name" data-key="key">water</div><div class="text">':</div></div><div class="line"><div class="padding"> </div><div class="label">Total sold</div><div class="text">: </div><div class="data" data-tag="sold">17.0</div></div><div class="line"><div class="padding"> </div><div class="label">In stock</div><div class="decoration">:</div><div class="padding"> </div><div class="data" data-tag="in-stock">14</div></div><div class="line"><div class="padding"> </div><div class="label">On order</div><div class="decoration">:</div><div class="padding"> </div><div class="data" data-tag="on-order">2</div></div><div class="line"><div class="padding"> </div><div class="label">SKU</div><div class="text">: </div><div class="data" data-tag="sku" data-key="key">GRO-000-2331</div></div><div class="line"><div class="label">Item</div><div class="text"> '</div><div class="data" data-tag="name" data-key="key">fish</div><div class="text">':</div></div><div class="line"><div class="padding"> </div><div class="label">Total sold</div><div class="text">: </div><div class="data" data-tag="sold">1321.0</div></div><div class="line"><div class="padding"> </div><div class="label">In stock</div><div class="decoration">:</div><div class="padding"> </div><div class="data" data-tag="in-stock">45</div></div><div class="line"><div class="padding"> </div><div class="label">On order</div><div class="decoration">:</div><div class="padding"> </div><div class="data" data-tag="on-order">1</div></div><div class="line"><div class="padding"> </div><div class="label">SKU</div><div class="text">: </div><div class="data" data-tag="sku" data-key="key">GRO-000-533</div></div><div class="line"><div class="label">Item</div><div class="decoration">:</div><div class="padding"> </div><div class="data" data-tag="item">gum</div></div><div class="line"><div class="label">Item</div><div class="decoration">:</div><div class="padding"> </div><div class="data" data-tag="item">rope</div></div><div class="line"><div class="label">Item</div><div class="decoration">:</div><div class="padding"> </div><div class="data" data-tag="item">ladder</div></div><div class="line"><div class="label">Item</div><div class="decoration">:</div><div class="padding"> </div><div class="data" data-tag="item">bolt</div></div><div class="line"><div class="label">Item</div><div class="decoration">:</div><div class="padding"> </div><div class="data" data-tag="item">water</div></div><div class="line"><div class="text">X</div><div class="text">X</div><div class="text">X</div><div class="text">X</div><div class="text">X</div><div class="text">X</div><div class="text">X</div><div class="text">X</div></div><div class="line"><div class="text">X</div><div class="padding"> </div><div class="text">X</div><div class="label">Cost</div><div class="decoration">:</div><div class="padding"> </div><div class="data" data-tag="cost">425</div></div><div class="line"><div class="text">X</div><div class="padding"> </div><div class="text">X</div><div class="label">Cost</div><div class="decoration">:</div><div class="padding"> </div><div class="data" data-tag="cost">455</div></div> \ No newline at end of file
diff --git a/contrib/libxo/tests/core/saved/test_01.HIPx.out b/contrib/libxo/tests/core/saved/test_01.HIPx.out
index 2bafff9..2b8e296 100644
--- a/contrib/libxo/tests/core/saved/test_01.HIPx.out
+++ b/contrib/libxo/tests/core/saved/test_01.HIPx.out
@@ -1,4 +1,11 @@
<div class="line">
+ <div class="text">Connecting to </div>
+ <div class="data" data-tag="host" data-xpath="/top/host">my-box</div>
+ <div class="text">.</div>
+ <div class="data" data-tag="domain" data-xpath="/top/domain">example.com</div>
+ <div class="text">...</div>
+</div>
+<div class="line">
<div class="title">Item </div>
<div class="title"> Total Sold</div>
<div class="title"> In Stock</div>
@@ -47,224 +54,224 @@
<div class="line">
<div class="label">Item</div>
<div class="text"> '</div>
- <div class="data" data-tag="name" data-xpath="/top/data/item/name" data-type="string" data-help="Name of the item" data-key="key">gum</div>
+ <div class="data" data-tag="name" data-xpath="/top/data2/item/name" data-type="string" data-help="Name of the item" data-key="key">gum</div>
<div class="text">':</div>
</div>
<div class="line">
<div class="padding"> </div>
<div class="label">Total sold</div>
<div class="text">: </div>
- <div class="data" data-tag="sold" data-xpath="/top/data/item[sku = 'GRO-000-415'][name = 'gum']/sold" data-type="number" data-help="Number of items sold">1412.0</div>
+ <div class="data" data-tag="sold" data-xpath="/top/data2/item[sku = 'GRO-000-415'][name = 'gum']/sold" data-type="number" data-help="Number of items sold">1412.0</div>
</div>
<div class="line">
<div class="padding"> </div>
<div class="label">In stock</div>
<div class="decoration">:</div>
<div class="padding"> </div>
- <div class="data" data-tag="in-stock" data-xpath="/top/data/item[sku = 'GRO-000-415'][name = 'gum']/in-stock" data-type="number" data-help="Number of items in stock">54</div>
+ <div class="data" data-tag="in-stock" data-xpath="/top/data2/item[sku = 'GRO-000-415'][name = 'gum']/in-stock" data-type="number" data-help="Number of items in stock">54</div>
</div>
<div class="line">
<div class="padding"> </div>
<div class="label">On order</div>
<div class="decoration">:</div>
<div class="padding"> </div>
- <div class="data" data-tag="on-order" data-xpath="/top/data/item[sku = 'GRO-000-415'][name = 'gum']/on-order" data-type="number" data-help="Number of items on order">10</div>
+ <div class="data" data-tag="on-order" data-xpath="/top/data2/item[sku = 'GRO-000-415'][name = 'gum']/on-order" data-type="number" data-help="Number of items on order">10</div>
</div>
<div class="line">
<div class="padding"> </div>
<div class="label">SKU</div>
<div class="text">: </div>
- <div class="data" data-tag="sku" data-xpath="/top/data/item/sku" data-type="string" data-help="Stock Keeping Unit" data-key="key">GRO-000-415</div>
+ <div class="data" data-tag="sku" data-xpath="/top/data2/item/sku" data-type="string" data-help="Stock Keeping Unit" data-key="key">GRO-000-415</div>
</div>
<div class="line">
<div class="label">Item</div>
<div class="text"> '</div>
- <div class="data" data-tag="name" data-xpath="/top/data/item/name" data-type="string" data-help="Name of the item" data-key="key">rope</div>
+ <div class="data" data-tag="name" data-xpath="/top/data2/item/name" data-type="string" data-help="Name of the item" data-key="key">rope</div>
<div class="text">':</div>
</div>
<div class="line">
<div class="padding"> </div>
<div class="label">Total sold</div>
<div class="text">: </div>
- <div class="data" data-tag="sold" data-xpath="/top/data/item[sku = 'HRD-000-212'][name = 'rope']/sold" data-type="number" data-help="Number of items sold">85.0</div>
+ <div class="data" data-tag="sold" data-xpath="/top/data2/item[sku = 'HRD-000-212'][name = 'rope']/sold" data-type="number" data-help="Number of items sold">85.0</div>
</div>
<div class="line">
<div class="padding"> </div>
<div class="label">In stock</div>
<div class="decoration">:</div>
<div class="padding"> </div>
- <div class="data" data-tag="in-stock" data-xpath="/top/data/item[sku = 'HRD-000-212'][name = 'rope']/in-stock" data-type="number" data-help="Number of items in stock">4</div>
+ <div class="data" data-tag="in-stock" data-xpath="/top/data2/item[sku = 'HRD-000-212'][name = 'rope']/in-stock" data-type="number" data-help="Number of items in stock">4</div>
</div>
<div class="line">
<div class="padding"> </div>
<div class="label">On order</div>
<div class="decoration">:</div>
<div class="padding"> </div>
- <div class="data" data-tag="on-order" data-xpath="/top/data/item[sku = 'HRD-000-212'][name = 'rope']/on-order" data-type="number" data-help="Number of items on order">2</div>
+ <div class="data" data-tag="on-order" data-xpath="/top/data2/item[sku = 'HRD-000-212'][name = 'rope']/on-order" data-type="number" data-help="Number of items on order">2</div>
</div>
<div class="line">
<div class="padding"> </div>
<div class="label">SKU</div>
<div class="text">: </div>
- <div class="data" data-tag="sku" data-xpath="/top/data/item/sku" data-type="string" data-help="Stock Keeping Unit" data-key="key">HRD-000-212</div>
+ <div class="data" data-tag="sku" data-xpath="/top/data2/item/sku" data-type="string" data-help="Stock Keeping Unit" data-key="key">HRD-000-212</div>
</div>
<div class="line">
<div class="label">Item</div>
<div class="text"> '</div>
- <div class="data" data-tag="name" data-xpath="/top/data/item/name" data-type="string" data-help="Name of the item" data-key="key">ladder</div>
+ <div class="data" data-tag="name" data-xpath="/top/data2/item/name" data-type="string" data-help="Name of the item" data-key="key">ladder</div>
<div class="text">':</div>
</div>
<div class="line">
<div class="padding"> </div>
<div class="label">Total sold</div>
<div class="text">: </div>
- <div class="data" data-tag="sold" data-xpath="/top/data/item[sku = 'HRD-000-517'][name = 'ladder']/sold" data-type="number" data-help="Number of items sold">0</div>
+ <div class="data" data-tag="sold" data-xpath="/top/data2/item[sku = 'HRD-000-517'][name = 'ladder']/sold" data-type="number" data-help="Number of items sold">0</div>
</div>
<div class="line">
<div class="padding"> </div>
<div class="label">In stock</div>
<div class="decoration">:</div>
<div class="padding"> </div>
- <div class="data" data-tag="in-stock" data-xpath="/top/data/item[sku = 'HRD-000-517'][name = 'ladder']/in-stock" data-type="number" data-help="Number of items in stock">2</div>
+ <div class="data" data-tag="in-stock" data-xpath="/top/data2/item[sku = 'HRD-000-517'][name = 'ladder']/in-stock" data-type="number" data-help="Number of items in stock">2</div>
</div>
<div class="line">
<div class="padding"> </div>
<div class="label">On order</div>
<div class="decoration">:</div>
<div class="padding"> </div>
- <div class="data" data-tag="on-order" data-xpath="/top/data/item[sku = 'HRD-000-517'][name = 'ladder']/on-order" data-type="number" data-help="Number of items on order">1</div>
+ <div class="data" data-tag="on-order" data-xpath="/top/data2/item[sku = 'HRD-000-517'][name = 'ladder']/on-order" data-type="number" data-help="Number of items on order">1</div>
</div>
<div class="line">
<div class="padding"> </div>
<div class="label">SKU</div>
<div class="text">: </div>
- <div class="data" data-tag="sku" data-xpath="/top/data/item/sku" data-type="string" data-help="Stock Keeping Unit" data-key="key">HRD-000-517</div>
+ <div class="data" data-tag="sku" data-xpath="/top/data2/item/sku" data-type="string" data-help="Stock Keeping Unit" data-key="key">HRD-000-517</div>
</div>
<div class="line">
<div class="label">Item</div>
<div class="text"> '</div>
- <div class="data" data-tag="name" data-xpath="/top/data/item/name" data-type="string" data-help="Name of the item" data-key="key">bolt</div>
+ <div class="data" data-tag="name" data-xpath="/top/data2/item/name" data-type="string" data-help="Name of the item" data-key="key">bolt</div>
<div class="text">':</div>
</div>
<div class="line">
<div class="padding"> </div>
<div class="label">Total sold</div>
<div class="text">: </div>
- <div class="data" data-tag="sold" data-xpath="/top/data/item[sku = 'HRD-000-632'][name = 'bolt']/sold" data-type="number" data-help="Number of items sold">4123.0</div>
+ <div class="data" data-tag="sold" data-xpath="/top/data2/item[sku = 'HRD-000-632'][name = 'bolt']/sold" data-type="number" data-help="Number of items sold">4123.0</div>
</div>
<div class="line">
<div class="padding"> </div>
<div class="label">In stock</div>
<div class="decoration">:</div>
<div class="padding"> </div>
- <div class="data" data-tag="in-stock" data-xpath="/top/data/item[sku = 'HRD-000-632'][name = 'bolt']/in-stock" data-type="number" data-help="Number of items in stock">144</div>
+ <div class="data" data-tag="in-stock" data-xpath="/top/data2/item[sku = 'HRD-000-632'][name = 'bolt']/in-stock" data-type="number" data-help="Number of items in stock">144</div>
</div>
<div class="line">
<div class="padding"> </div>
<div class="label">On order</div>
<div class="decoration">:</div>
<div class="padding"> </div>
- <div class="data" data-tag="on-order" data-xpath="/top/data/item[sku = 'HRD-000-632'][name = 'bolt']/on-order" data-type="number" data-help="Number of items on order">42</div>
+ <div class="data" data-tag="on-order" data-xpath="/top/data2/item[sku = 'HRD-000-632'][name = 'bolt']/on-order" data-type="number" data-help="Number of items on order">42</div>
</div>
<div class="line">
<div class="padding"> </div>
<div class="label">SKU</div>
<div class="text">: </div>
- <div class="data" data-tag="sku" data-xpath="/top/data/item/sku" data-type="string" data-help="Stock Keeping Unit" data-key="key">HRD-000-632</div>
+ <div class="data" data-tag="sku" data-xpath="/top/data2/item/sku" data-type="string" data-help="Stock Keeping Unit" data-key="key">HRD-000-632</div>
</div>
<div class="line">
<div class="label">Item</div>
<div class="text"> '</div>
- <div class="data" data-tag="name" data-xpath="/top/data/item/name" data-type="string" data-help="Name of the item" data-key="key">water</div>
+ <div class="data" data-tag="name" data-xpath="/top/data2/item/name" data-type="string" data-help="Name of the item" data-key="key">water</div>
<div class="text">':</div>
</div>
<div class="line">
<div class="padding"> </div>
<div class="label">Total sold</div>
<div class="text">: </div>
- <div class="data" data-tag="sold" data-xpath="/top/data/item[sku = 'GRO-000-2331'][name = 'water']/sold" data-type="number" data-help="Number of items sold">17.0</div>
+ <div class="data" data-tag="sold" data-xpath="/top/data2/item[sku = 'GRO-000-2331'][name = 'water']/sold" data-type="number" data-help="Number of items sold">17.0</div>
</div>
<div class="line">
<div class="padding"> </div>
<div class="label">In stock</div>
<div class="decoration">:</div>
<div class="padding"> </div>
- <div class="data" data-tag="in-stock" data-xpath="/top/data/item[sku = 'GRO-000-2331'][name = 'water']/in-stock" data-type="number" data-help="Number of items in stock">14</div>
+ <div class="data" data-tag="in-stock" data-xpath="/top/data2/item[sku = 'GRO-000-2331'][name = 'water']/in-stock" data-type="number" data-help="Number of items in stock">14</div>
</div>
<div class="line">
<div class="padding"> </div>
<div class="label">On order</div>
<div class="decoration">:</div>
<div class="padding"> </div>
- <div class="data" data-tag="on-order" data-xpath="/top/data/item[sku = 'GRO-000-2331'][name = 'water']/on-order" data-type="number" data-help="Number of items on order">2</div>
+ <div class="data" data-tag="on-order" data-xpath="/top/data2/item[sku = 'GRO-000-2331'][name = 'water']/on-order" data-type="number" data-help="Number of items on order">2</div>
</div>
<div class="line">
<div class="padding"> </div>
<div class="label">SKU</div>
<div class="text">: </div>
- <div class="data" data-tag="sku" data-xpath="/top/data/item/sku" data-type="string" data-help="Stock Keeping Unit" data-key="key">GRO-000-2331</div>
+ <div class="data" data-tag="sku" data-xpath="/top/data2/item/sku" data-type="string" data-help="Stock Keeping Unit" data-key="key">GRO-000-2331</div>
</div>
<div class="line">
<div class="label">Item</div>
<div class="text"> '</div>
- <div class="data" data-tag="name" data-xpath="/top/data/item/name" data-type="string" data-help="Name of the item" data-key="key">fish</div>
+ <div class="data" data-tag="name" data-xpath="/top/data3/item/name" data-type="string" data-help="Name of the item" data-key="key">fish</div>
<div class="text">':</div>
</div>
<div class="line">
<div class="padding"> </div>
<div class="label">Total sold</div>
<div class="text">: </div>
- <div class="data" data-tag="sold" data-xpath="/top/data/item[sku = 'GRO-000-533'][name = 'fish']/sold" data-type="number" data-help="Number of items sold">1321.0</div>
+ <div class="data" data-tag="sold" data-xpath="/top/data3/item[sku = 'GRO-000-533'][name = 'fish']/sold" data-type="number" data-help="Number of items sold">1321.0</div>
</div>
<div class="line">
<div class="padding"> </div>
<div class="label">In stock</div>
<div class="decoration">:</div>
<div class="padding"> </div>
- <div class="data" data-tag="in-stock" data-xpath="/top/data/item[sku = 'GRO-000-533'][name = 'fish']/in-stock" data-type="number" data-help="Number of items in stock">45</div>
+ <div class="data" data-tag="in-stock" data-xpath="/top/data3/item[sku = 'GRO-000-533'][name = 'fish']/in-stock" data-type="number" data-help="Number of items in stock">45</div>
</div>
<div class="line">
<div class="padding"> </div>
<div class="label">On order</div>
<div class="decoration">:</div>
<div class="padding"> </div>
- <div class="data" data-tag="on-order" data-xpath="/top/data/item[sku = 'GRO-000-533'][name = 'fish']/on-order" data-type="number" data-help="Number of items on order">1</div>
+ <div class="data" data-tag="on-order" data-xpath="/top/data3/item[sku = 'GRO-000-533'][name = 'fish']/on-order" data-type="number" data-help="Number of items on order">1</div>
</div>
<div class="line">
<div class="padding"> </div>
<div class="label">SKU</div>
<div class="text">: </div>
- <div class="data" data-tag="sku" data-xpath="/top/data/item/sku" data-type="string" data-help="Stock Keeping Unit" data-key="key">GRO-000-533</div>
+ <div class="data" data-tag="sku" data-xpath="/top/data3/item/sku" data-type="string" data-help="Stock Keeping Unit" data-key="key">GRO-000-533</div>
</div>
<div class="line">
<div class="label">Item</div>
<div class="decoration">:</div>
<div class="padding"> </div>
- <div class="data" data-tag="item" data-xpath="/top/data/item">gum</div>
+ <div class="data" data-tag="item" data-xpath="/top/data4/item">gum</div>
</div>
<div class="line">
<div class="label">Item</div>
<div class="decoration">:</div>
<div class="padding"> </div>
- <div class="data" data-tag="item" data-xpath="/top/data/item">rope</div>
+ <div class="data" data-tag="item" data-xpath="/top/data4/item">rope</div>
</div>
<div class="line">
<div class="label">Item</div>
<div class="decoration">:</div>
<div class="padding"> </div>
- <div class="data" data-tag="item" data-xpath="/top/data/item">ladder</div>
+ <div class="data" data-tag="item" data-xpath="/top/data4/item">ladder</div>
</div>
<div class="line">
<div class="label">Item</div>
<div class="decoration">:</div>
<div class="padding"> </div>
- <div class="data" data-tag="item" data-xpath="/top/data/item">bolt</div>
+ <div class="data" data-tag="item" data-xpath="/top/data4/item">bolt</div>
</div>
<div class="line">
<div class="label">Item</div>
<div class="decoration">:</div>
<div class="padding"> </div>
- <div class="data" data-tag="item" data-xpath="/top/data/item">water</div>
+ <div class="data" data-tag="item" data-xpath="/top/data4/item">water</div>
</div>
<div class="line">
<div class="text">X</div>
diff --git a/contrib/libxo/tests/core/saved/test_01.HP.out b/contrib/libxo/tests/core/saved/test_01.HP.out
index a007778..c8f2dbc 100644
--- a/contrib/libxo/tests/core/saved/test_01.HP.out
+++ b/contrib/libxo/tests/core/saved/test_01.HP.out
@@ -1,4 +1,11 @@
<div class="line">
+ <div class="text">Connecting to </div>
+ <div class="data" data-tag="host">my-box</div>
+ <div class="text">.</div>
+ <div class="data" data-tag="domain">example.com</div>
+ <div class="text">...</div>
+</div>
+<div class="line">
<div class="title">Item </div>
<div class="title"> Total Sold</div>
<div class="title"> In Stock</div>
diff --git a/contrib/libxo/tests/core/saved/test_01.J.out b/contrib/libxo/tests/core/saved/test_01.J.out
index 6fcdbd4..69e3faa 100644
--- a/contrib/libxo/tests/core/saved/test_01.J.out
+++ b/contrib/libxo/tests/core/saved/test_01.J.out
@@ -1,2 +1,2 @@
-{"top": {"data": {"item": [{"sku":"GRO-000-415","name":"gum","sold":1412,"in-stock":54,"on-order":10}, {"sku":"HRD-000-212","name":"rope","sold":85,"in-stock":4,"on-order":2}, {"sku":"HRD-000-517","name":"ladder","sold":0,"in-stock":2,"on-order":1}, {"sku":"HRD-000-632","name":"bolt","sold":4123,"in-stock":144,"on-order":42}, {"sku":"GRO-000-2331","name":"water","sold":17,"in-stock":14,"on-order":2}]}, "data": {"item": [{"sku":"GRO-000-415","name":"gum","sold":1412.0,"in-stock":54,"on-order":10}, {"sku":"HRD-000-212","name":"rope","sold":85.0,"in-stock":4,"on-order":2}, {"sku":"HRD-000-517","name":"ladder","sold":0,"in-stock":2,"on-order":1}, {"sku":"HRD-000-632","name":"bolt","sold":4123.0,"in-stock":144,"on-order":42}, {"sku":"GRO-000-2331","name":"water","sold":17.0,"in-stock":14,"on-order":2}]}, "data": {"item": [{"sku":"GRO-000-533","name":"fish","sold":1321.0,"in-stock":45,"on-order":1}]}, "data": {"item": ["gum","rope","ladder","bolt","water"]},"cost":425,"cost":455}
+{"top": {"host":"my-box","domain":"example.com", "data": {"item": [{"sku":"GRO-000-415","name":"gum","sold":1412,"in-stock":54,"on-order":10}, {"sku":"HRD-000-212","name":"rope","sold":85,"in-stock":4,"on-order":2}, {"sku":"HRD-000-517","name":"ladder","sold":0,"in-stock":2,"on-order":1}, {"sku":"HRD-000-632","name":"bolt","sold":4123,"in-stock":144,"on-order":42}, {"sku":"GRO-000-2331","name":"water","sold":17,"in-stock":14,"on-order":2}]}, "data2": {"item": [{"sku":"GRO-000-415","name":"gum","sold":1412.0,"in-stock":54,"on-order":10}, {"sku":"HRD-000-212","name":"rope","sold":85.0,"in-stock":4,"on-order":2}, {"sku":"HRD-000-517","name":"ladder","sold":0,"in-stock":2,"on-order":1}, {"sku":"HRD-000-632","name":"bolt","sold":4123.0,"in-stock":144,"on-order":42}, {"sku":"GRO-000-2331","name":"water","sold":17.0,"in-stock":14,"on-order":2}]}, "data3": {"item": [{"sku":"GRO-000-533","name":"fish","sold":1321.0,"in-stock":45,"on-order":1}]}, "data4": {"item": ["gum","rope","ladder","bolt","water"]},"cost":425,"cost":455}
}
diff --git a/contrib/libxo/tests/core/saved/test_01.JP.out b/contrib/libxo/tests/core/saved/test_01.JP.out
index 4790065..e65897f 100644
--- a/contrib/libxo/tests/core/saved/test_01.JP.out
+++ b/contrib/libxo/tests/core/saved/test_01.JP.out
@@ -1,5 +1,7 @@
{
"top": {
+ "host": "my-box",
+ "domain": "example.com",
"data": {
"item": [
{
@@ -39,7 +41,7 @@
}
]
},
- "data": {
+ "data2": {
"item": [
{
"sku": "GRO-000-415",
@@ -78,7 +80,7 @@
}
]
},
- "data": {
+ "data3": {
"item": [
{
"sku": "GRO-000-533",
@@ -89,7 +91,7 @@
}
]
},
- "data": {
+ "data4": {
"item": [
"gum",
"rope",
diff --git a/contrib/libxo/tests/core/saved/test_01.T.out b/contrib/libxo/tests/core/saved/test_01.T.out
index c45b130..2ecf537 100644
--- a/contrib/libxo/tests/core/saved/test_01.T.out
+++ b/contrib/libxo/tests/core/saved/test_01.T.out
@@ -1,3 +1,4 @@
+Connecting to my-box.example.com...
Item Total Sold In Stock On Order SKU
gum 1412 54 10 GRO-000-415
rope 85 4 2 HRD-000-212
diff --git a/contrib/libxo/tests/core/saved/test_01.X.out b/contrib/libxo/tests/core/saved/test_01.X.out
index ce27192..46f501e2 100644
--- a/contrib/libxo/tests/core/saved/test_01.X.out
+++ b/contrib/libxo/tests/core/saved/test_01.X.out
@@ -1 +1 @@
-<top><data test="value"><item test2="value2"><sku test3="value3" key="key">GRO-000-415</sku><name key="key">gum</name><sold>1412</sold><in-stock>54</in-stock><on-order>10</on-order></item><item><sku test3="value3" key="key">HRD-000-212</sku><name key="key">rope</name><sold>85</sold><in-stock>4</in-stock><on-order>2</on-order></item><item><sku test3="value3" key="key">HRD-000-517</sku><name key="key">ladder</name><sold>0</sold><in-stock>2</in-stock><on-order>1</on-order></item><item><sku test3="value3" key="key">HRD-000-632</sku><name key="key">bolt</name><sold>4123</sold><in-stock>144</in-stock><on-order>42</on-order></item><item><sku test3="value3" key="key">GRO-000-2331</sku><name key="key">water</name><sold>17</sold><in-stock>14</in-stock><on-order>2</on-order></item></data><data><item><sku key="key">GRO-000-415</sku><name key="key">gum</name><sold>1412.0</sold><in-stock>54</in-stock><on-order>10</on-order></item><item><sku key="key">HRD-000-212</sku><name key="key">rope</name><sold>85.0</sold><in-stock>4</in-stock><on-order>2</on-order></item><item><sku key="key">HRD-000-517</sku><name key="key">ladder</name><sold>0</sold><in-stock>2</in-stock><on-order>1</on-order></item><item><sku key="key">HRD-000-632</sku><name key="key">bolt</name><sold>4123.0</sold><in-stock>144</in-stock><on-order>42</on-order></item><item><sku key="key">GRO-000-2331</sku><name key="key">water</name><sold>17.0</sold><in-stock>14</in-stock><on-order>2</on-order></item></data><data><item><sku key="key">GRO-000-533</sku><name key="key">fish</name><sold>1321.0</sold><in-stock>45</in-stock><on-order>1</on-order></item></data><data><item test4="value4">gum</item><item test4="value4">rope</item><item test4="value4">ladder</item><item test4="value4">bolt</item><item test4="value4">water</item></data><cost>425</cost><cost>455</cost></top> \ No newline at end of file
+<top><host>my-box</host><domain>example.com</domain><data test="value"><item test2="value2"><sku test3="value3" key="key">GRO-000-415</sku><name key="key">gum</name><sold>1412</sold><in-stock>54</in-stock><on-order>10</on-order></item><item><sku test3="value3" key="key">HRD-000-212</sku><name key="key">rope</name><sold>85</sold><in-stock>4</in-stock><on-order>2</on-order></item><item><sku test3="value3" key="key">HRD-000-517</sku><name key="key">ladder</name><sold>0</sold><in-stock>2</in-stock><on-order>1</on-order></item><item><sku test3="value3" key="key">HRD-000-632</sku><name key="key">bolt</name><sold>4123</sold><in-stock>144</in-stock><on-order>42</on-order></item><item><sku test3="value3" key="key">GRO-000-2331</sku><name key="key">water</name><sold>17</sold><in-stock>14</in-stock><on-order>2</on-order></item></data><data2><item><sku key="key">GRO-000-415</sku><name key="key">gum</name><sold>1412.0</sold><in-stock>54</in-stock><on-order>10</on-order></item><item><sku key="key">HRD-000-212</sku><name key="key">rope</name><sold>85.0</sold><in-stock>4</in-stock><on-order>2</on-order></item><item><sku key="key">HRD-000-517</sku><name key="key">ladder</name><sold>0</sold><in-stock>2</in-stock><on-order>1</on-order></item><item><sku key="key">HRD-000-632</sku><name key="key">bolt</name><sold>4123.0</sold><in-stock>144</in-stock><on-order>42</on-order></item><item><sku key="key">GRO-000-2331</sku><name key="key">water</name><sold>17.0</sold><in-stock>14</in-stock><on-order>2</on-order></item></data2><data3><item><sku key="key">GRO-000-533</sku><name key="key">fish</name><sold>1321.0</sold><in-stock>45</in-stock><on-order>1</on-order></item></data3><data4><item test4="value4">gum</item><item test4="value4">rope</item><item test4="value4">ladder</item><item test4="value4">bolt</item><item test4="value4">water</item></data4><cost>425</cost><cost>455</cost></top> \ No newline at end of file
diff --git a/contrib/libxo/tests/core/saved/test_01.XP.out b/contrib/libxo/tests/core/saved/test_01.XP.out
index e5ea3e0..c7f4bfe8 100644
--- a/contrib/libxo/tests/core/saved/test_01.XP.out
+++ b/contrib/libxo/tests/core/saved/test_01.XP.out
@@ -1,4 +1,6 @@
<top>
+ <host>my-box</host>
+ <domain>example.com</domain>
<data test="value">
<item test2="value2">
<sku test3="value3" key="key">GRO-000-415</sku>
@@ -36,7 +38,7 @@
<on-order>2</on-order>
</item>
</data>
- <data>
+ <data2>
<item>
<sku key="key">GRO-000-415</sku>
<name key="key">gum</name>
@@ -72,8 +74,8 @@
<in-stock>14</in-stock>
<on-order>2</on-order>
</item>
- </data>
- <data>
+ </data2>
+ <data3>
<item>
<sku key="key">GRO-000-533</sku>
<name key="key">fish</name>
@@ -81,14 +83,14 @@
<in-stock>45</in-stock>
<on-order>1</on-order>
</item>
- </data>
- <data>
+ </data3>
+ <data4>
<item test4="value4">gum</item>
<item test4="value4">rope</item>
<item test4="value4">ladder</item>
<item test4="value4">bolt</item>
<item test4="value4">water</item>
- </data>
+ </data4>
<cost>425</cost>
<cost>455</cost>
</top>
diff --git a/contrib/libxo/tests/core/saved/test_02.E.err b/contrib/libxo/tests/core/saved/test_02.E.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/contrib/libxo/tests/core/saved/test_02.E.err
diff --git a/contrib/libxo/tests/core/saved/test_02.E.out b/contrib/libxo/tests/core/saved/test_02.E.out
new file mode 100644
index 0000000..9e1ec96
--- /dev/null
+++ b/contrib/libxo/tests/core/saved/test_02.E.out
@@ -0,0 +1,68 @@
+op create: [] []
+op open_container: [top] []
+op open_container: [data] []
+op string: [what] [braces]
+op string: [length] [abcdef]
+op content: [fd] [-1]
+op string: [error] [Bad file descriptor]
+op string: [test] [good]
+op content: [fd] [-1]
+op string: [error] [Bad fi]
+op string: [test] [good]
+op content: [lines] [20]
+op content: [words] [30]
+op content: [characters] [40]
+op open_leaf_list: [bytes] []
+op content: [bytes] [0]
+op content: [bytes] [1]
+op content: [bytes] [2]
+op content: [bytes] [3]
+op content: [bytes] [4]
+op close_leaf_list: [bytes] []
+op content: [mbuf-current] [10]
+op content: [mbuf-cache] [20]
+op content: [mbuf-total] [30]
+op content: [distance] [50]
+op string: [location] [Boston]
+op content: [memory] [64]
+op content: [total] [640]
+op content: [memory] [64]
+op content: [total] [640]
+op content: [ten] [10]
+op content: [eleven] [11]
+op content: [unknown] [1010]
+op content: [unknown] [1010]
+op content: [min] [15]
+op content: [cur] [20]
+op content: [max] [30]
+op content: [min] [15]
+op content: [cur] [20]
+op content: [max] [125]
+op content: [min] [15]
+op content: [cur] [20]
+op content: [max] [125]
+op content: [min] [15]
+op content: [cur] [20]
+op content: [max] [125]
+op content: [val1] [21]
+op content: [val2] [58368]
+op content: [val3] [100663296]
+op content: [val4] [44470272]
+op content: [val5] [1342172800]
+op open_list: [flag] []
+op string: [flag] [one]
+op string: [flag] [two]
+op string: [flag] [three]
+op close_list: [flag] []
+op content: [works] [null]
+op content: [empty-tag] [true]
+op string: [t1] [1000]
+op string: [t2] [test5000]
+op string: [t3] [ten-longx]
+op string: [t4] [xtest]
+op content: [count] [10]
+op content: [test] [4]
+op close_container: [data] []
+op close_container: [top] []
+op finish: [] []
+op flush: [] []
diff --git a/contrib/libxo/tests/core/saved/test_02.H.out b/contrib/libxo/tests/core/saved/test_02.H.out
index 60350b5..f1387a6 100644
--- a/contrib/libxo/tests/core/saved/test_02.H.out
+++ b/contrib/libxo/tests/core/saved/test_02.H.out
@@ -1,3 +1,7 @@
-<div class="line"><div class="data" data-tag="mbuf-current">10</div><div class="text">/</div><div class="data" data-tag="mbuf-cache">20</div><div class="text">/</div><div class="data" data-tag="mbuf-total">30</div><div class="text"> </div><div class="note">mbufs &lt;&amp;&gt; in use (current/cache/total)</div></div><div class="line"><div class="data" data-tag="distance" data-units="miles">50</div><div class="padding"> </div><div class="text"> from </div><div class="data" data-tag="location">Boston</div></div><div class="line"><div class="data" data-tag="memory" data-units="k">64</div><div class="text"> left out of </div><div class="data" data-tag="total" data-units="kb">640</div></div><div class="line"><div class="data" data-tag="memory" data-units="k">64</div><div class="text"> left out of </div><div class="data" data-tag="total" data-units="kilobytes">640</div></div><div class="line"><div class="title">beforeworkingafter:</div></div><div class="line"><div class="data" data-tag="some">string</div><div class="data" data-tag="ten">10</div><div class="data" data-tag="eleven">11</div></div><div class="line"><div class="data" data-tag="unknown">1010</div><div class="text"> </div><div class="note">packets here/there/everywhere</div></div><div class="line"><div class="text">(</div><div class="padding"> </div><div class="data" data-tag="min">15</div><div class="text">/</div><div class="data" data-tag="cur">20</div><div class="text">/</div><div class="data" data-tag="max">125</div><div class="text">)</div></div><div class="line"><div class="text">(</div><div class="padding"> </div><div class="data" data-tag="min">15</div><div class="text">/</div><div class="data" data-tag="cur">20</div><div class="text">/</div><div class="data" data-tag="max">125</div><div class="text">)</div></div><div class="line"><div class="text">(</div><div class="data" data-tag="min">15</div><div class="text">/</div><div class="data" data-tag="cur">20</div><div class="text">/</div><div class="data" data-tag="max">125</div><div class="padding"> </div><div class="text">)</div></div><div class="line"><div class="text">(</div><div class="data" data-tag="min">15</div><div class="text">/</div><div class="data" data-tag="cur">20</div><div class="text">/</div><div class="data" data-tag="max">125</div><div class="padding"> </div><div class="text">)</div></div><div class="line"><div class="data" data-tag="flag">one</div><div class="text"> </div><div class="data" data-tag="flag">two</div><div class="text"> </div><div class="data" data-tag="flag">three</div></div><div class="line"><div class="text">1:</div><div class="data" data-tag="t1"> 1000</div><div class="text"> 2:</div><div class="data" data-tag="t2">test5000 </div><div class="text"> 3:</div><div class="data" data-tag="t3"> ten-longx</div><div class="text"> 4:</div><div class="data" data-tag="t4">xtest </div></div><div class="line"><div class="error">this is an error</div></div><div class="line"><div class="error">two more errors</div></div><div class="line"><div class="warning">this is an warning</div></div><div class="line"><div class="warning">two more warnings</div></div><div class="line"><div class="label">V1/V2 packets</div><div class="text">: </div><div class="data" data-tag="count">10</div></div><div class="line"><div class="data" data-tag="test">0004</div><div class="text"> </div><div class="label">tries</div></div><div class="line"><div class="message">improper use of profanity; ten yard penalty; first down
+<div class="line"><div class="text">We are </div><div class="text">{emit}</div><div class="text">{ting}</div><div class="text"> some </div><div class="data" data-tag="what">braces</div></div><div class="line"><div class="message">abcdef
+</div></div><div class="line"><div class="message">abcdef: Bad file descriptor
+</div></div><div class="line"><div class="message">improper use of profanity; ten yard penalty; first down
+</div></div><div class="line"><div class="text">length </div><div class="data" data-tag="length">abcdef</div></div><div class="line"><div class="text">close </div><div class="data" data-tag="fd">-1</div><div class="text"> returned </div><div class="data" data-tag="error">Bad file descriptor</div><div class="text"> </div><div class="data" data-tag="test">good</div></div><div class="line"><div class="text">close </div><div class="data" data-tag="fd">-1</div><div class="text"> returned </div><div class="data" data-tag="error">Bad fi</div><div class="text"> </div><div class="data" data-tag="test">good</div></div><div class="line"><div class="message">improper use of profanity; ten yard penalty; first down
+</div></div><div class="line"><div class="text"> </div><div class="data" data-tag="lines"> 20</div><div class="text"> </div><div class="data" data-tag="words"> 30</div><div class="text"> </div><div class="data" data-tag="characters"> 40</div><div class="text"> </div><div class="data" data-tag="filename">file</div></div><div class="line"><div class="data" data-tag="bytes">0</div><div class="padding"> </div><div class="note">bytes</div></div><div class="line"><div class="data" data-tag="bytes">1</div><div class="padding"> </div><div class="note">byte</div></div><div class="line"><div class="data" data-tag="bytes">2</div><div class="padding"> </div><div class="note">bytes</div></div><div class="line"><div class="data" data-tag="bytes">3</div><div class="padding"> </div><div class="note">bytes</div></div><div class="line"><div class="data" data-tag="bytes">4</div><div class="padding"> </div><div class="note">bytes</div></div><div class="line"><div class="data" data-tag="mbuf-current">10</div><div class="text">/</div><div class="data" data-tag="mbuf-cache">20</div><div class="text">/</div><div class="data" data-tag="mbuf-total">30</div><div class="text"> </div><div class="note">mbufs &lt;&amp;&gt; in use (current/cache/total)</div></div><div class="line"><div class="data" data-tag="distance" data-units="miles">50</div><div class="padding"> </div><div class="text"> from </div><div class="data" data-tag="location">Boston</div></div><div class="line"><div class="data" data-tag="memory" data-units="k">64</div><div class="text"> left out of </div><div class="data" data-tag="total" data-units="kb">640</div></div><div class="line"><div class="data" data-tag="memory" data-units="k">64</div><div class="text"> left out of </div><div class="data" data-tag="total" data-units="kilobytes">640</div></div><div class="line"><div class="title">beforeworkingafter:</div></div><div class="line"><div class="data" data-tag="some">string</div><div class="decoration">:</div><div class="padding"> </div><div class="data" data-tag="ten">10</div><div class="data" data-tag="eleven">11</div></div><div class="line"><div class="data" data-tag="unknown">1010</div><div class="text"> </div><div class="note">packets here/there/everywhere</div></div><div class="line"><div class="data" data-tag="unknown">1010</div><div class="text"> </div><div class="note">packets here/there/everywhere</div></div><div class="line"><div class="text">(</div><div class="padding"> </div><div class="data" data-tag="min">15</div><div class="text">/</div><div class="data" data-tag="cur">20</div><div class="text">/</div><div class="data" data-tag="max">125</div><div class="text">)</div></div><div class="line"><div class="text">(</div><div class="padding"> </div><div class="data" data-tag="min">15</div><div class="text">/</div><div class="data" data-tag="cur">20</div><div class="text">/</div><div class="data" data-tag="max">125</div><div class="text">)</div></div><div class="line"><div class="text">(</div><div class="data" data-tag="min">15</div><div class="text">/</div><div class="data" data-tag="cur">20</div><div class="text">/</div><div class="data" data-tag="max">125</div><div class="padding"> </div><div class="text">)</div></div><div class="line"><div class="text">(</div><div class="data" data-tag="min">15</div><div class="text">/</div><div class="data" data-tag="cur">20</div><div class="text">/</div><div class="data" data-tag="max">125</div><div class="padding"> </div><div class="text">)</div></div><div class="line"><div class="text">Humanize: </div><div class="data" data-tag="val1" data-number="21">21</div><div class="text">, </div><div class="data" data-tag="val2" data-number="58368">57 K</div><div class="text">, </div><div class="data" data-tag="val3" data-number="100663296">96M</div><div class="text">, </div><div class="data" data-tag="val4" data-number="44470272">44M</div><div class="text">, </div><div class="data" data-tag="val5" data-number="1342172800">1.2G</div></div><div class="line"><div class="data" data-tag="flag">one</div><div class="text"> </div><div class="data" data-tag="flag">two</div><div class="text"> </div><div class="data" data-tag="flag">three</div></div><div class="line"><div class="data" data-tag="works">(null)</div></div><div class="line"><div class="text">1:</div><div class="data" data-tag="t1"> 1000</div><div class="text"> 2:</div><div class="data" data-tag="t2">test5000 </div><div class="text"> 3:</div><div class="data" data-tag="t3"> ten-longx</div><div class="text"> 4:</div><div class="data" data-tag="t4">xtest </div></div><div class="line"><div class="error">this is an error</div></div><div class="line"><div class="error">two more errors</div></div><div class="line"><div class="warning">this is an warning</div></div><div class="line"><div class="warning">two more warnings</div></div><div class="line"><div class="label">V1/V2 packets</div><div class="text">: </div><div class="data" data-tag="count">10</div></div><div class="line"><div class="data" data-tag="test">0004</div><div class="text"> </div><div class="label">tries</div></div><div class="line"><div class="message">improper use of profanity; ten yard penalty; first down
</div></div><div class="line"><div class="error">Shut 'er down, Clancey! She's a-pumpin' mud! &lt;&gt;!,"!&lt;&gt;
</div></div> \ No newline at end of file
diff --git a/contrib/libxo/tests/core/saved/test_02.HIPx.out b/contrib/libxo/tests/core/saved/test_02.HIPx.out
index f4264f7..7af26b3 100644
--- a/contrib/libxo/tests/core/saved/test_02.HIPx.out
+++ b/contrib/libxo/tests/core/saved/test_02.HIPx.out
@@ -1,4 +1,82 @@
<div class="line">
+ <div class="text">We are </div>
+ <div class="text">{emit}</div>
+ <div class="text">{ting}</div>
+ <div class="text"> some </div>
+ <div class="data" data-tag="what" data-xpath="/top/data/what">braces</div>
+</div>
+<div class="line">
+ <div class="message">abcdef
+</div>
+</div>
+<div class="line">
+ <div class="message">abcdef: Bad file descriptor
+</div>
+</div>
+<div class="line">
+ <div class="message">improper use of profanity; ten yard penalty; first down
+</div>
+</div>
+<div class="line">
+ <div class="text">length </div>
+ <div class="data" data-tag="length" data-xpath="/top/data/length">abcdef</div>
+</div>
+<div class="line">
+ <div class="text">close </div>
+ <div class="data" data-tag="fd" data-xpath="/top/data/fd">-1</div>
+ <div class="text"> returned </div>
+ <div class="data" data-tag="error" data-xpath="/top/data/error">Bad file descriptor</div>
+ <div class="text"> </div>
+ <div class="data" data-tag="test" data-xpath="/top/data/test">good</div>
+</div>
+<div class="line">
+ <div class="text">close </div>
+ <div class="data" data-tag="fd" data-xpath="/top/data/fd">-1</div>
+ <div class="text"> returned </div>
+ <div class="data" data-tag="error" data-xpath="/top/data/error">Bad fi</div>
+ <div class="text"> </div>
+ <div class="data" data-tag="test" data-xpath="/top/data/test">good</div>
+</div>
+<div class="line">
+ <div class="message">improper use of profanity; ten yard penalty; first down
+</div>
+</div>
+<div class="line">
+ <div class="text"> </div>
+ <div class="data" data-tag="lines" data-xpath="/top/data/lines"> 20</div>
+ <div class="text"> </div>
+ <div class="data" data-tag="words" data-xpath="/top/data/words"> 30</div>
+ <div class="text"> </div>
+ <div class="data" data-tag="characters" data-xpath="/top/data/characters"> 40</div>
+ <div class="text"> </div>
+ <div class="data" data-tag="filename" data-xpath="/top/data/filename">file</div>
+</div>
+<div class="line">
+ <div class="data" data-tag="bytes" data-xpath="/top/data/bytes">0</div>
+ <div class="padding"> </div>
+ <div class="note">bytes</div>
+</div>
+<div class="line">
+ <div class="data" data-tag="bytes" data-xpath="/top/data/bytes">1</div>
+ <div class="padding"> </div>
+ <div class="note">byte</div>
+</div>
+<div class="line">
+ <div class="data" data-tag="bytes" data-xpath="/top/data/bytes">2</div>
+ <div class="padding"> </div>
+ <div class="note">bytes</div>
+</div>
+<div class="line">
+ <div class="data" data-tag="bytes" data-xpath="/top/data/bytes">3</div>
+ <div class="padding"> </div>
+ <div class="note">bytes</div>
+</div>
+<div class="line">
+ <div class="data" data-tag="bytes" data-xpath="/top/data/bytes">4</div>
+ <div class="padding"> </div>
+ <div class="note">bytes</div>
+</div>
+<div class="line">
<div class="data" data-tag="mbuf-current" data-xpath="/top/data/mbuf-current">10</div>
<div class="text">/</div>
<div class="data" data-tag="mbuf-cache" data-xpath="/top/data/mbuf-cache">20</div>
@@ -28,6 +106,8 @@
</div>
<div class="line">
<div class="data" data-tag="some" data-xpath="/top/data/some">string</div>
+ <div class="decoration">:</div>
+ <div class="padding"> </div>
<div class="data" data-tag="ten" data-xpath="/top/data/ten">10</div>
<div class="data" data-tag="eleven" data-xpath="/top/data/eleven">11</div>
</div>
@@ -37,6 +117,11 @@
<div class="note">packets here/there/everywhere</div>
</div>
<div class="line">
+ <div class="data" data-tag="unknown" data-xpath="/top/data/unknown">1010</div>
+ <div class="text"> </div>
+ <div class="note">packets here/there/everywhere</div>
+</div>
+<div class="line">
<div class="text">(</div>
<div class="padding"> </div>
<div class="data" data-tag="min" data-xpath="/top/data/min">15</div>
@@ -77,6 +162,18 @@
<div class="text">)</div>
</div>
<div class="line">
+ <div class="text">Humanize: </div>
+ <div class="data" data-tag="val1" data-xpath="/top/data/val1" data-number="21">21</div>
+ <div class="text">, </div>
+ <div class="data" data-tag="val2" data-xpath="/top/data/val2" data-number="58368">57 K</div>
+ <div class="text">, </div>
+ <div class="data" data-tag="val3" data-xpath="/top/data/val3" data-number="100663296">96M</div>
+ <div class="text">, </div>
+ <div class="data" data-tag="val4" data-xpath="/top/data/val4" data-number="44470272">44M</div>
+ <div class="text">, </div>
+ <div class="data" data-tag="val5" data-xpath="/top/data/val5" data-number="1342172800">1.2G</div>
+</div>
+<div class="line">
<div class="data" data-tag="flag" data-xpath="/top/data/flag">one</div>
<div class="text"> </div>
<div class="data" data-tag="flag" data-xpath="/top/data/flag">two</div>
@@ -84,6 +181,9 @@
<div class="data" data-tag="flag" data-xpath="/top/data/flag">three</div>
</div>
<div class="line">
+ <div class="data" data-tag="works" data-xpath="/top/data/works">(null)</div>
+</div>
+<div class="line">
<div class="text">1:</div>
<div class="data" data-tag="t1" data-xpath="/top/data/t1"> 1000</div>
<div class="text"> 2:</div>
diff --git a/contrib/libxo/tests/core/saved/test_02.HP.out b/contrib/libxo/tests/core/saved/test_02.HP.out
index 1ccf369..f7c9d9b 100644
--- a/contrib/libxo/tests/core/saved/test_02.HP.out
+++ b/contrib/libxo/tests/core/saved/test_02.HP.out
@@ -1,4 +1,82 @@
<div class="line">
+ <div class="text">We are </div>
+ <div class="text">{emit}</div>
+ <div class="text">{ting}</div>
+ <div class="text"> some </div>
+ <div class="data" data-tag="what">braces</div>
+</div>
+<div class="line">
+ <div class="message">abcdef
+</div>
+</div>
+<div class="line">
+ <div class="message">abcdef: Bad file descriptor
+</div>
+</div>
+<div class="line">
+ <div class="message">improper use of profanity; ten yard penalty; first down
+</div>
+</div>
+<div class="line">
+ <div class="text">length </div>
+ <div class="data" data-tag="length">abcdef</div>
+</div>
+<div class="line">
+ <div class="text">close </div>
+ <div class="data" data-tag="fd">-1</div>
+ <div class="text"> returned </div>
+ <div class="data" data-tag="error">Bad file descriptor</div>
+ <div class="text"> </div>
+ <div class="data" data-tag="test">good</div>
+</div>
+<div class="line">
+ <div class="text">close </div>
+ <div class="data" data-tag="fd">-1</div>
+ <div class="text"> returned </div>
+ <div class="data" data-tag="error">Bad fi</div>
+ <div class="text"> </div>
+ <div class="data" data-tag="test">good</div>
+</div>
+<div class="line">
+ <div class="message">improper use of profanity; ten yard penalty; first down
+</div>
+</div>
+<div class="line">
+ <div class="text"> </div>
+ <div class="data" data-tag="lines"> 20</div>
+ <div class="text"> </div>
+ <div class="data" data-tag="words"> 30</div>
+ <div class="text"> </div>
+ <div class="data" data-tag="characters"> 40</div>
+ <div class="text"> </div>
+ <div class="data" data-tag="filename">file</div>
+</div>
+<div class="line">
+ <div class="data" data-tag="bytes">0</div>
+ <div class="padding"> </div>
+ <div class="note">bytes</div>
+</div>
+<div class="line">
+ <div class="data" data-tag="bytes">1</div>
+ <div class="padding"> </div>
+ <div class="note">byte</div>
+</div>
+<div class="line">
+ <div class="data" data-tag="bytes">2</div>
+ <div class="padding"> </div>
+ <div class="note">bytes</div>
+</div>
+<div class="line">
+ <div class="data" data-tag="bytes">3</div>
+ <div class="padding"> </div>
+ <div class="note">bytes</div>
+</div>
+<div class="line">
+ <div class="data" data-tag="bytes">4</div>
+ <div class="padding"> </div>
+ <div class="note">bytes</div>
+</div>
+<div class="line">
<div class="data" data-tag="mbuf-current">10</div>
<div class="text">/</div>
<div class="data" data-tag="mbuf-cache">20</div>
@@ -28,6 +106,8 @@
</div>
<div class="line">
<div class="data" data-tag="some">string</div>
+ <div class="decoration">:</div>
+ <div class="padding"> </div>
<div class="data" data-tag="ten">10</div>
<div class="data" data-tag="eleven">11</div>
</div>
@@ -37,6 +117,11 @@
<div class="note">packets here/there/everywhere</div>
</div>
<div class="line">
+ <div class="data" data-tag="unknown">1010</div>
+ <div class="text"> </div>
+ <div class="note">packets here/there/everywhere</div>
+</div>
+<div class="line">
<div class="text">(</div>
<div class="padding"> </div>
<div class="data" data-tag="min">15</div>
@@ -77,6 +162,18 @@
<div class="text">)</div>
</div>
<div class="line">
+ <div class="text">Humanize: </div>
+ <div class="data" data-tag="val1" data-number="21">21</div>
+ <div class="text">, </div>
+ <div class="data" data-tag="val2" data-number="58368">57 K</div>
+ <div class="text">, </div>
+ <div class="data" data-tag="val3" data-number="100663296">96M</div>
+ <div class="text">, </div>
+ <div class="data" data-tag="val4" data-number="44470272">44M</div>
+ <div class="text">, </div>
+ <div class="data" data-tag="val5" data-number="1342172800">1.2G</div>
+</div>
+<div class="line">
<div class="data" data-tag="flag">one</div>
<div class="text"> </div>
<div class="data" data-tag="flag">two</div>
@@ -84,6 +181,9 @@
<div class="data" data-tag="flag">three</div>
</div>
<div class="line">
+ <div class="data" data-tag="works">(null)</div>
+</div>
+<div class="line">
<div class="text">1:</div>
<div class="data" data-tag="t1"> 1000</div>
<div class="text"> 2:</div>
diff --git a/contrib/libxo/tests/core/saved/test_02.J.out b/contrib/libxo/tests/core/saved/test_02.J.out
index 5b4502a..5578389 100644
--- a/contrib/libxo/tests/core/saved/test_02.J.out
+++ b/contrib/libxo/tests/core/saved/test_02.J.out
@@ -1,2 +1,2 @@
-{"top": {"data": {"mbuf-current":10,"mbuf-cache":20,"mbuf-total":30,"distance":50,"location":"Boston","memory":64,"total":640,"memory":64,"total":640,"ten":10,"eleven":11,"unknown":1010,"min":15,"cur":20,"max":30,"min":15,"cur":20,"max":125,"min":15,"cur":20,"max":125,"min":15,"cur":20,"max":125, "flag": ["one","two","three"],"empty-tag":true,"t1":"1000","t2":"test5000","t3":"ten-longx","t4":"xtest","count":10,"test":4, "error": {"message":"Shut 'er down, Clancey! She's a-pumpin' mud! <>!,\"!<>\n"}}}
+{"top": {"data": {"what":"braces","length":"abcdef","fd":-1,"error":"Bad file descriptor","test":"good","fd":-1,"error":"Bad fi","test":"good","lines":20,"words":30,"characters":40, "bytes": [0,1,2,3,4],"mbuf-current":10,"mbuf-cache":20,"mbuf-total":30,"distance":50,"location":"Boston","memory":64,"total":640,"memory":64,"total":640,"ten":10,"eleven":11,"unknown":1010,"unknown":1010,"min":15,"cur":20,"max":30,"min":15,"cur":20,"max":125,"min":15,"cur":20,"max":125,"min":15,"cur":20,"max":125,"val1":21,"val2":58368,"val3":100663296,"val4":44470272,"val5":1342172800, "flag": ["one","two","three"],"works":null,"empty-tag":true,"t1":"1000","t2":"test5000","t3":"ten-longx","t4":"xtest", "__error": {"message":"this is an error"}, "__error": {"message":"two more errors"}, "__warning": {"message":this is an warning}, "__warning": {"message":"two more warnings"},"count":10,"test":4, "error": {"message":"Shut 'er down, Clancey! She's a-pumpin' mud! <>!,\"!<>\n"}}}
}
diff --git a/contrib/libxo/tests/core/saved/test_02.JP.out b/contrib/libxo/tests/core/saved/test_02.JP.out
index ade2dc2..fd910aa 100644
--- a/contrib/libxo/tests/core/saved/test_02.JP.out
+++ b/contrib/libxo/tests/core/saved/test_02.JP.out
@@ -1,6 +1,24 @@
{
"top": {
"data": {
+ "what": "braces",
+ "length": "abcdef",
+ "fd": -1,
+ "error": "Bad file descriptor",
+ "test": "good",
+ "fd": -1,
+ "error": "Bad fi",
+ "test": "good",
+ "lines": 20,
+ "words": 30,
+ "characters": 40,
+ "bytes": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4
+ ],
"mbuf-current": 10,
"mbuf-cache": 20,
"mbuf-total": 30,
@@ -13,6 +31,7 @@
"ten": 10,
"eleven": 11,
"unknown": 1010,
+ "unknown": 1010,
"min": 15,
"cur": 20,
"max": 30,
@@ -25,16 +44,34 @@
"min": 15,
"cur": 20,
"max": 125,
+ "val1": 21,
+ "val2": 58368,
+ "val3": 100663296,
+ "val4": 44470272,
+ "val5": 1342172800,
"flag": [
"one",
"two",
"three"
],
+ "works": null,
"empty-tag": true,
"t1": "1000",
"t2": "test5000",
"t3": "ten-longx",
"t4": "xtest",
+ "__error": {
+ "message": "this is an error"
+ },
+ "__error": {
+ "message": "two more errors"
+ },
+ "__warning": {
+ "message": this is an warning
+ },
+ "__warning": {
+ "message": "two more warnings"
+ },
"count": 10,
"test": 4,
"error": {
diff --git a/contrib/libxo/tests/core/saved/test_02.T.out b/contrib/libxo/tests/core/saved/test_02.T.out
index b37ba00..d65e7c5 100644
--- a/contrib/libxo/tests/core/saved/test_02.T.out
+++ b/contrib/libxo/tests/core/saved/test_02.T.out
@@ -1,15 +1,32 @@
+We are {emit}{ting} some braces
+abcdef
+abcdef: Bad file descriptor
+improper use of profanity; ten yard penalty; first down
+length abcdef
+close -1 returned Bad file descriptor good
+close -1 returned Bad fi good
+improper use of profanity; ten yard penalty; first down
+ 20 30 40 file
+0 bytes
+1 byte
+2 bytes
+3 bytes
+4 bytes
10/20/30 mbufs <&> in use (current/cache/total)
50 miles from Boston
64k left out of 640kb
64k left out of 640kilobytes
beforeworkingafter:
-string1011
+string: 1011
+1010 packets here/there/everywhere
1010 packets here/there/everywhere
( 15/20/125)
( 15/20/125)
(15/20/125 )
(15/20/125 )
+Humanize: 21, 57 K, 96M, 44M, 1.2G
one two three
+(null)
1: 1000 2:test5000 3: ten-longx 4:xtest
this is an error
two more errors
diff --git a/contrib/libxo/tests/core/saved/test_02.X.out b/contrib/libxo/tests/core/saved/test_02.X.out
index ff6d40c..30421ea 100644
--- a/contrib/libxo/tests/core/saved/test_02.X.out
+++ b/contrib/libxo/tests/core/saved/test_02.X.out
@@ -1,3 +1,7 @@
-<top><data><mbuf-current>10</mbuf-current><mbuf-cache>20</mbuf-cache><mbuf-total>30</mbuf-total><distance units="miles">50</distance><location>Boston</location><memory units="k">64</memory><total units="kb">640</total><memory units="k">64</memory><total units="kilobytes">640</total><ten>10</ten><eleven>11</eleven><unknown>1010</unknown><min>15</min><cur>20</cur><max>30</max><min>15</min><cur>20</cur><max>125</max><min>15</min><cur>20</cur><max>125</max><min>15</min><cur>20</cur><max>125</max><flag>one</flag><flag>two</flag><flag>three</flag><empty-tag></empty-tag><t1>1000</t1><t2>test5000</t2><t3>ten-longx</t3><t4>xtest</t4><error><message>this is an error</message></error><error><message>two more errors</message></error><warning><message>this is an warning</message></warning><warning><message>two more warnings</message></warning><count>10</count><test>4</test><message>improper use of profanity; ten yard penalty; first down</message>
-<error><message>Shut 'er down, Clancey! She's a-pumpin' mud! &lt;&gt;!,"!&lt;&gt;
+<top><data><what>braces</what><message>abcdef
+</message><message>abcdef: Bad file descriptor
+</message><message>improper use of profanity; ten yard penalty; first down
+</message><length>abcdef</length><fd>-1</fd><error>Bad file descriptor</error><test>good</test><fd>-1</fd><error>Bad fi</error><test>good</test><message>improper use of profanity; ten yard penalty; first down
+</message><lines>20</lines><words>30</words><characters>40</characters><bytes>0</bytes><bytes>1</bytes><bytes>2</bytes><bytes>3</bytes><bytes>4</bytes><mbuf-current>10</mbuf-current><mbuf-cache>20</mbuf-cache><mbuf-total>30</mbuf-total><distance units="miles">50</distance><location>Boston</location><memory units="k">64</memory><total units="kb">640</total><memory units="k">64</memory><total units="kilobytes">640</total><ten>10</ten><eleven>11</eleven><unknown>1010</unknown><unknown>1010</unknown><min>15</min><cur>20</cur><max>30</max><min>15</min><cur>20</cur><max>125</max><min>15</min><cur>20</cur><max>125</max><min>15</min><cur>20</cur><max>125</max><val1>21</val1><val2>58368</val2><val3>100663296</val3><val4>44470272</val4><val5>1342172800</val5><flag>one</flag><flag>two</flag><flag>three</flag><works>null</works><empty-tag></empty-tag><t1>1000</t1><t2>test5000</t2><t3>ten-longx</t3><t4>xtest</t4><__error><message>this is an error</message></__error><__error><message>two more errors</message></__error><__warning><message>this is an warning</message></__warning><__warning><message>two more warnings</message></__warning><count>10</count><test>4</test><message>improper use of profanity; ten yard penalty; first down
+</message><error><message>Shut 'er down, Clancey! She's a-pumpin' mud! &lt;&gt;!,"!&lt;&gt;
</message></error></data></top> \ No newline at end of file
diff --git a/contrib/libxo/tests/core/saved/test_02.XP.out b/contrib/libxo/tests/core/saved/test_02.XP.out
index d32c730..e70e6ef 100644
--- a/contrib/libxo/tests/core/saved/test_02.XP.out
+++ b/contrib/libxo/tests/core/saved/test_02.XP.out
@@ -1,5 +1,29 @@
<top>
<data>
+ <what>braces</what>
+ <message>abcdef
+</message>
+ <message>abcdef: Bad file descriptor
+</message>
+ <message>improper use of profanity; ten yard penalty; first down
+</message>
+ <length>abcdef</length>
+ <fd>-1</fd>
+ <error>Bad file descriptor</error>
+ <test>good</test>
+ <fd>-1</fd>
+ <error>Bad fi</error>
+ <test>good</test>
+ <message>improper use of profanity; ten yard penalty; first down
+</message>
+ <lines>20</lines>
+ <words>30</words>
+ <characters>40</characters>
+ <bytes>0</bytes>
+ <bytes>1</bytes>
+ <bytes>2</bytes>
+ <bytes>3</bytes>
+ <bytes>4</bytes>
<mbuf-current>10</mbuf-current>
<mbuf-cache>20</mbuf-cache>
<mbuf-total>30</mbuf-total>
@@ -12,6 +36,7 @@
<ten>10</ten>
<eleven>11</eleven>
<unknown>1010</unknown>
+ <unknown>1010</unknown>
<min>15</min>
<cur>20</cur>
<max>30</max>
@@ -24,29 +49,36 @@
<min>15</min>
<cur>20</cur>
<max>125</max>
+ <val1>21</val1>
+ <val2>58368</val2>
+ <val3>100663296</val3>
+ <val4>44470272</val4>
+ <val5>1342172800</val5>
<flag>one</flag>
<flag>two</flag>
<flag>three</flag>
+ <works>null</works>
<empty-tag></empty-tag>
<t1>1000</t1>
<t2>test5000</t2>
<t3>ten-longx</t3>
<t4>xtest</t4>
- <error>
+ <__error>
<message>this is an error</message>
- </error>
- <error>
+ </__error>
+ <__error>
<message>two more errors</message>
- </error>
- <warning>
+ </__error>
+ <__warning>
<message>this is an warning</message>
- </warning>
- <warning>
+ </__warning>
+ <__warning>
<message>two more warnings</message>
- </warning>
+ </__warning>
<count>10</count>
<test>4</test>
- <message>improper use of profanity; ten yard penalty; first down</message>
+ <message>improper use of profanity; ten yard penalty; first down
+</message>
<error>
<message>Shut 'er down, Clancey! She's a-pumpin' mud! &lt;&gt;!,"!&lt;&gt;
</message>
diff --git a/contrib/libxo/tests/core/saved/test_03.E.err b/contrib/libxo/tests/core/saved/test_03.E.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/contrib/libxo/tests/core/saved/test_03.E.err
diff --git a/contrib/libxo/tests/core/saved/test_03.E.out b/contrib/libxo/tests/core/saved/test_03.E.out
new file mode 100644
index 0000000..3965783
--- /dev/null
+++ b/contrib/libxo/tests/core/saved/test_03.E.out
@@ -0,0 +1,22 @@
+op create: [] []
+op open_container: [employees] []
+op open_list: [employee] []
+op open_instance: [employee] []
+op string: [first-name] [Terry]
+op string: [last-name] [Jones]
+op content: [department] [660]
+op close_instance: [employee] []
+op open_instance: [employee] []
+op string: [first-name] [Leslie]
+op string: [last-name] [Patterson]
+op content: [department] [341]
+op close_instance: [employee] []
+op open_instance: [employee] []
+op string: [first-name] [Ashley]
+op string: [last-name] [Smith]
+op content: [department] [1440]
+op close_instance: [employee] []
+op close_list: [employee] []
+op close_container: [employees] []
+op finish: [] []
+op flush: [] []
diff --git a/contrib/libxo/tests/core/saved/test_04.E.err b/contrib/libxo/tests/core/saved/test_04.E.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/contrib/libxo/tests/core/saved/test_04.E.err
diff --git a/contrib/libxo/tests/core/saved/test_04.E.out b/contrib/libxo/tests/core/saved/test_04.E.out
new file mode 100644
index 0000000..3965783
--- /dev/null
+++ b/contrib/libxo/tests/core/saved/test_04.E.out
@@ -0,0 +1,22 @@
+op create: [] []
+op open_container: [employees] []
+op open_list: [employee] []
+op open_instance: [employee] []
+op string: [first-name] [Terry]
+op string: [last-name] [Jones]
+op content: [department] [660]
+op close_instance: [employee] []
+op open_instance: [employee] []
+op string: [first-name] [Leslie]
+op string: [last-name] [Patterson]
+op content: [department] [341]
+op close_instance: [employee] []
+op open_instance: [employee] []
+op string: [first-name] [Ashley]
+op string: [last-name] [Smith]
+op content: [department] [1440]
+op close_instance: [employee] []
+op close_list: [employee] []
+op close_container: [employees] []
+op finish: [] []
+op flush: [] []
diff --git a/contrib/libxo/tests/core/saved/test_05.E.err b/contrib/libxo/tests/core/saved/test_05.E.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/contrib/libxo/tests/core/saved/test_05.E.err
diff --git a/contrib/libxo/tests/core/saved/test_05.E.out b/contrib/libxo/tests/core/saved/test_05.E.out
new file mode 100644
index 0000000..0ca15f4
--- /dev/null
+++ b/contrib/libxo/tests/core/saved/test_05.E.out
@@ -0,0 +1,96 @@
+op create: [] []
+op open_container: [indian-languages] []
+op string: [gurmukhi] [ਲਹੌਰ ਪਾਕਿਸਤਾਨੀ ਪੰਜਾਬ ਦੀ ਰਾਜਧਾਨੀ ਹੈ । ਲੋਕ ਗਿਣਤੀ ਦੇ ਨਾਲ ਕਰਾਚੀ ਤੋਂ ਬਾਅਦ ਲਹੌਰ ਦੂਜਾ ਸਭ ਤੋਂ ਵੱਡਾ ਸ਼ਹਿਰ ਹੈ । ਲਹੌਰ ਪਾਕਿਸਤਾਨ ਦਾ ਸਿਆਸੀ, ਰਹਤਲੀ ਤੇ ਪੜ੍ਹਾਈ ਦਾ ਗੜ੍ਹ ਹੈ ਅਤੇ ਇਸ ਲਈ ਇਹਨੂੰ ਪਾਕਿਸਤਾਨ ਦਾ ਦਿਲ ਵੀ ਕਿਹਾ ਜਾਂਦਾ ਹੈ । ਲਹੌਰ ਦਰਿਆ-ਏ-ਰਾਵੀ ਦੇ ਕੰਢੇ ਤੇ ਵਸਦਾ ਹੈ ਤੇ ਇਸਦੀ ਲੋਕ ਗਿਣਤੀ ਇੱਕ ਕਰੋੜ ਦੇ ਨੇੜੇ ਹੈ ।]
+op string: [shahmukhi] [لہور پاکستانی پنجاب دا دارالحکومت اے۔ لوک گنتی دے نال کراچی توں بعد لہور دوجا سبھ توں وڈا شہر اے۔ لہور پاکستان دا سیاسی، رہتلی تے پڑھائی دا گڑھ اے تے اس لئی ایھنوں پاکستان دا دل وی کیھا جاندا اے۔ لہور دریاۓ راوی دے کنڈھے تے وسدا اے اسدی لوک گنتی اک کروڑ دے نیڑے اے ۔]
+op string: [tranliteration] [lahor pākistān panjāb dā dārul hakūmat ē. lōk giṇtī dē nāḷ karācī tō᷈ bāad lahor dūjā sab tō᷈ vaḍḍā shahr ē. lahor pākistān dā siāsī, rahtalī tē paṛā̀ī dā gā́ṛ ē tē is laī ihnū᷈ pākistān dā dil vī kehā jāndā ē. lahor dariāē rāvī dē kanḍē tē vasdā ē. isdī lōk giṇtī ikk karōṛ dē nēṛē ē.]
+op close_container: [indian-languages] []
+op open_container: [employees] []
+op open_leaf_list: [wc] []
+op string: [wc] [෴ - 0xdf4 - 1]
+op string: [wc] [ණ - 0xdab - 1]
+op string: [wc] [් - 0xdca - 0]
+op string: [wc] [ණ - 0xdab - 1]
+op string: [wc] [្ - 0x17d2 - 0]
+op string: [wc] [෴ - 0xdf4 - 1]
+op string: [wc] [1 - 0x31 - 1]
+op string: [wc] [͏ - 0x34f - 0]
+op string: [wc] [2 - 0x32 - 1]
+op string: [wc] [⃝ - 0x20dd - 0]
+op close_leaf_list: [wc] []
+op string: [fancy] [1͏2⃝]
+op string: [v1] [γιγνώσκειν]
+op string: [v2] [ὦ ἄνδρες ᾿Αθηναῖοι]
+op string: [v1] [ახლავე გაიაროთ რეგისტრაცია]
+op string: [v2] [Unicode-ის მეათე საერთაშორისო]
+op content: [width] [55]
+op string: [sinhala] [෴ණ්ණ෴]
+op content: [width] [4]
+op string: [sinhala] [෴]
+op content: [width] [1]
+op string: [sinhala] [෴ණ්ණ෴෴ණ්ණ෴]
+op content: [width] [8]
+op string: [not-sinhala] [123456]
+op string: [tag] [ර්‍ඝ]
+op content: [width] [2]
+op open_list: [employee] []
+op open_instance: [employee] []
+op string: [first-name] [Jim]
+op string: [nic-name] ["რეგტ"]
+op string: [last-name] [გთხოვთ ახ]
+op content: [department] [431]
+op content: [percent-time] [90]
+op attr: [full-time] [honest & for true]
+op string: [benefits] [full]
+op close_instance: [employee] []
+op open_instance: [employee] []
+op string: [first-name] [Terry]
+op string: [nic-name] ["<one"]
+op string: [last-name] [Οὐχὶ ταὐτὰ παρίσταταί μοι Jones]
+op content: [department] [660]
+op content: [percent-time] [90]
+op attr: [full-time] [honest & for true]
+op string: [benefits] [full]
+op close_instance: [employee] []
+op open_instance: [employee] []
+op string: [first-name] [Leslie]
+op string: [nic-name] ["Les"]
+op string: [last-name] [Patterson]
+op content: [department] [341]
+op content: [percent-time] [60]
+op attr: [full-time] [honest & for true]
+op string: [benefits] [full]
+op close_instance: [employee] []
+op open_instance: [employee] []
+op string: [first-name] [Ashley]
+op string: [nic-name] ["Ash"]
+op string: [last-name] [Meter & Smith]
+op content: [department] [1440]
+op content: [percent-time] [40]
+op close_instance: [employee] []
+op open_instance: [employee] []
+op string: [first-name] [0123456789]
+op string: [nic-name] ["0123456789"]
+op string: [last-name] [012345678901234567890]
+op content: [department] [1440]
+op content: [percent-time] [40]
+op close_instance: [employee] []
+op open_instance: [employee] []
+op string: [first-name] [ახლა]
+op string: [nic-name] ["გაიარო"]
+op string: [last-name] [საერთაშორისო]
+op content: [department] [123]
+op content: [percent-time] [90]
+op attr: [full-time] [honest & for true]
+op string: [benefits] [full]
+op close_instance: [employee] []
+op open_instance: [employee] []
+op string: [first-name] [෴ණ්ණ෴෴ණ්ණ෴]
+op string: [nic-name] ["Mick"]
+op string: [last-name] [෴ණ්ණ෴෴ණ්ණ෴෴ණ්ණ෴෴෴]
+op content: [department] [110]
+op content: [percent-time] [20]
+op close_instance: [employee] []
+op close_list: [employee] []
+op close_container: [employees] []
+op finish: [] []
+op flush: [] []
diff --git a/contrib/libxo/tests/core/saved/test_05.H.out b/contrib/libxo/tests/core/saved/test_05.H.out
index 136b956..e8fd6d1 100644
--- a/contrib/libxo/tests/core/saved/test_05.H.out
+++ b/contrib/libxo/tests/core/saved/test_05.H.out
@@ -1 +1 @@
-<div class="line"><div class="text">Οὐχὶ ταὐτὰ παρίσταταί μοι </div><div class="data" data-tag="v1">γιγνώσκειν</div><div class="text">, </div><div class="data" data-tag="v2">ὦ ἄνδρες ᾿Αθηναῖοι</div></div><div class="line"><div class="text">გთხოვთ </div><div class="data" data-tag="v1">ახლავე გაიაროთ რეგისტრაცია</div><div class="text"> </div><div class="data" data-tag="v2">Unicode-ის მეათე საერთაშორისო</div></div><div class="line"><div class="title">Width</div><div class="decoration">:</div><div class="padding"> </div><div class="data" data-tag="width">63</div></div><div class="line"><div class="text">[</div><div class="data" data-tag="sinhala">෴ණ්ණ෴</div><div class="text">]</div></div><div class="line"><div class="title">Width</div><div class="decoration">:</div><div class="padding"> </div><div class="data" data-tag="width">7</div></div><div class="line"><div class="text">[</div><div class="data" data-tag="sinhala">෴</div><div class="text">]</div></div><div class="line"><div class="title">Width</div><div class="decoration">:</div><div class="padding"> </div><div class="data" data-tag="width">3</div></div><div class="line"><div class="text">[</div><div class="data" data-tag="sinhala">෴ණ්ණ</div><div class="text">]</div></div><div class="line"><div class="text">[</div><div class="data" data-tag="not-sinhala">1234</div><div class="text">]</div></div><div class="line"><div class="text">[</div><div class="data" data-tag="tag">ර්‍ඝ</div><div class="text">]</div></div><div class="line"><div class="title">Width</div><div class="decoration">:</div><div class="padding"> </div><div class="data" data-tag="width">5</div></div><div class="line"><div class="title">First Name </div><div class="title">Last Name </div><div class="title">Department </div><div class="title">Time (%)</div></div><div class="line"><div class="data" data-tag="first-name">Jim</div><div class="text"> (</div><div class="data" data-tag="nic-name">"რეგტ"</div><div class="text">)</div><div class="padding"> </div><div class="data" data-tag="last-name">გთხოვთ ახ </div><div class="data" data-tag="department"> 431</div><div class="data" data-tag="percent-time"> 90</div></div><div class="line"><div class="data" data-tag="first-name">Terry</div><div class="text"> (</div><div class="data" data-tag="nic-name">"&lt;one"</div><div class="text">)</div><div class="padding"> </div><div class="data" data-tag="last-name">Οὐχὶ ταὐτὰ παρ</div><div class="data" data-tag="department"> 660</div><div class="data" data-tag="percent-time"> 90</div></div><div class="line"><div class="data" data-tag="first-name">Leslie</div><div class="text"> (</div><div class="data" data-tag="nic-name">"Les"</div><div class="text">)</div><div class="padding"> </div><div class="data" data-tag="last-name">Patterson </div><div class="data" data-tag="department"> 341</div><div class="data" data-tag="percent-time"> 60</div></div><div class="line"><div class="data" data-tag="first-name">Ashley</div><div class="text"> (</div><div class="data" data-tag="nic-name">"Ash"</div><div class="text">)</div><div class="padding"> </div><div class="data" data-tag="last-name">Meter &amp; Smith </div><div class="data" data-tag="department"> 1440</div><div class="data" data-tag="percent-time"> 40</div></div><div class="line"><div class="data" data-tag="first-name">0123456789</div><div class="text"> (</div><div class="data" data-tag="nic-name">"0123456789"</div><div class="text">)</div><div class="data" data-tag="last-name">01234567890123</div><div class="data" data-tag="department"> 1440</div><div class="data" data-tag="percent-time"> 40</div></div><div class="line"><div class="data" data-tag="first-name">ახლა</div><div class="text"> (</div><div class="data" data-tag="nic-name">"გაიარო"</div><div class="text">)</div><div class="padding"> </div><div class="data" data-tag="last-name">საერთაშორისო </div><div class="data" data-tag="department"> 123</div><div class="data" data-tag="percent-time"> 90</div></div><div class="line"><div class="data" data-tag="first-name">෴ණ්ණ෴෴ණ්ණ෴</div><div class="text"> (</div><div class="data" data-tag="nic-name">"Mick"</div><div class="text">)</div><div class="padding"> </div><div class="data" data-tag="last-name">෴ණ්ණ෴෴ණ්ණ෴෴ණ්ණ</div><div class="data" data-tag="department"> 110</div><div class="data" data-tag="percent-time"> 20</div></div> \ No newline at end of file
+<div class="line"><div class="title">Sample text</div></div><div class="line"><div class="text">This sample text was taken from the Punjabi Wikipedia article on Lahore and transliterated into the Latin script.</div></div><div class="line"><div class="title">Gurmukhi:</div></div><div class="line"><div class="data" data-tag="gurmukhi">ਲਹੌਰ ਪਾਕਿਸਤਾਨੀ ਪੰਜਾਬ ਦੀ ਰਾਜਧਾਨੀ ਹੈ । ਲੋਕ ਗਿਣਤੀ ਦੇ ਨਾਲ ਕਰਾਚੀ ਤੋਂ ਬਾਅਦ ਲਹੌਰ ਦੂਜਾ ਸਭ ਤੋਂ ਵੱਡਾ ਸ਼ਹਿਰ ਹੈ । ਲਹੌਰ ਪਾਕਿਸਤਾਨ ਦਾ ਸਿਆਸੀ, ਰਹਤਲੀ ਤੇ ਪੜ੍ਹਾਈ ਦਾ ਗੜ੍ਹ ਹੈ ਅਤੇ ਇਸ ਲਈ ਇਹਨੂੰ ਪਾਕਿਸਤਾਨ ਦਾ ਦਿਲ ਵੀ ਕਿਹਾ ਜਾਂਦਾ ਹੈ । ਲਹੌਰ ਦਰਿਆ-ਏ-ਰਾਵੀ ਦੇ ਕੰਢੇ ਤੇ ਵਸਦਾ ਹੈ ਤੇ ਇਸਦੀ ਲੋਕ ਗਿਣਤੀ ਇੱਕ ਕਰੋੜ ਦੇ ਨੇੜੇ ਹੈ ।</div></div><div class="line"><div class="title">Shahmukhi:</div></div><div class="line"><div class="data" data-tag="shahmukhi">لہور پاکستانی پنجاب دا دارالحکومت اے۔ لوک گنتی دے نال کراچی توں بعد لہور دوجا سبھ توں وڈا شہر اے۔ لہور پاکستان دا سیاسی، رہتلی تے پڑھائی دا گڑھ اے تے اس لئی ایھنوں پاکستان دا دل وی کیھا جاندا اے۔ لہور دریاۓ راوی دے کنڈھے تے وسدا اے اسدی لوک گنتی اک کروڑ دے نیڑے اے ۔</div></div><div class="line"><div class="title">Transliteration</div><div class="text">:</div></div><div class="line"><div class="data" data-tag="tranliteration">lahor pākistān panjāb dā dārul hakūmat ē. lōk giṇtī dē nāḷ karācī tō᷈ bāad lahor dūjā sab tō᷈ vaḍḍā shahr ē. lahor pākistān dā siāsī, rahtalī tē paṛā̀ī dā gā́ṛ ē tē is laī ihnū᷈ pākistān dā dil vī kehā jāndā ē. lahor dariāē rāvī dē kanḍē tē vasdā ē. isdī lōk giṇtī ikk karōṛ dē nēṛē ē.</div></div><div class="line"><div class="text">Wide char: </div><div class="data" data-tag="wc">෴ - 0xdf4 - 1</div></div><div class="line"><div class="text">Wide char: </div><div class="data" data-tag="wc">ණ - 0xdab - 1</div></div><div class="line"><div class="text">Wide char: </div><div class="data" data-tag="wc">් - 0xdca - 0</div></div><div class="line"><div class="text">Wide char: </div><div class="data" data-tag="wc">ණ - 0xdab - 1</div></div><div class="line"><div class="text">Wide char: </div><div class="data" data-tag="wc">្ - 0x17d2 - 0</div></div><div class="line"><div class="text">Wide char: </div><div class="data" data-tag="wc">෴ - 0xdf4 - 1</div></div><div class="line"><div class="text">Wide char: </div><div class="data" data-tag="wc">1 - 0x31 - 1</div></div><div class="line"><div class="text">Wide char: </div><div class="data" data-tag="wc">͏ - 0x34f - 0</div></div><div class="line"><div class="text">Wide char: </div><div class="data" data-tag="wc">2 - 0x32 - 1</div></div><div class="line"><div class="text">Wide char: </div><div class="data" data-tag="wc">⃝ - 0x20dd - 0</div></div><div class="line"><div class="text">Cool: [</div><div class="data" data-tag="fancy">1͏2⃝</div><div class="text">]</div></div><div class="line"><div class="text">Οὐχὶ ταὐτὰ παρίσταταί μοι </div><div class="data" data-tag="v1">γιγνώσκειν</div><div class="text">, </div><div class="data" data-tag="v2">ὦ ἄνδρες ᾿Αθηναῖοι</div></div><div class="line"><div class="text">გთხოვთ </div><div class="data" data-tag="v1">ახლავე გაიაროთ რეგისტრაცია</div><div class="text"> </div><div class="data" data-tag="v2">Unicode-ის მეათე საერთაშორისო</div></div><div class="line"><div class="title">Width</div><div class="decoration">:</div><div class="padding"> </div><div class="data" data-tag="width">63</div></div><div class="line"><div class="text">[</div><div class="data" data-tag="sinhala">෴ණ්ණ෴</div><div class="text">]</div></div><div class="line"><div class="title">Width</div><div class="decoration">:</div><div class="padding"> </div><div class="data" data-tag="width">6</div></div><div class="line"><div class="text">[</div><div class="data" data-tag="sinhala">෴</div><div class="text">]</div></div><div class="line"><div class="title">Width</div><div class="decoration">:</div><div class="padding"> </div><div class="data" data-tag="width">3</div></div><div class="line"><div class="text">[</div><div class="data" data-tag="sinhala">෴ණ්ණ෴</div><div class="text">]</div></div><div class="line"><div class="title">Width</div><div class="decoration">:</div><div class="padding"> </div><div class="data" data-tag="width">6</div></div><div class="line"><div class="text">[</div><div class="data" data-tag="not-sinhala">1234</div><div class="text">]</div></div><div class="line"><div class="text">[</div><div class="data" data-tag="tag">ර්‍ඝ</div><div class="text">]</div></div><div class="line"><div class="title">Width</div><div class="decoration">:</div><div class="padding"> </div><div class="data" data-tag="width">4</div></div><div class="line"><div class="title">First Name </div><div class="title">Last Name </div><div class="title">Department </div><div class="title">Time (%)</div></div><div class="line"><div class="data" data-tag="first-name">Jim</div><div class="text"> (</div><div class="data" data-tag="nic-name">"რეგტ"</div><div class="text">)</div><div class="padding"> </div><div class="data" data-tag="last-name">გთხოვთ ახ </div><div class="data" data-tag="department"> 431</div><div class="data" data-tag="percent-time"> 90</div></div><div class="line"><div class="data" data-tag="first-name">Terry</div><div class="text"> (</div><div class="data" data-tag="nic-name">"&lt;one"</div><div class="text">)</div><div class="padding"> </div><div class="data" data-tag="last-name">Οὐχὶ ταὐτὰ παρ</div><div class="data" data-tag="department"> 660</div><div class="data" data-tag="percent-time"> 90</div></div><div class="line"><div class="data" data-tag="first-name">Leslie</div><div class="text"> (</div><div class="data" data-tag="nic-name">"Les"</div><div class="text">)</div><div class="padding"> </div><div class="data" data-tag="last-name">Patterson </div><div class="data" data-tag="department"> 341</div><div class="data" data-tag="percent-time"> 60</div></div><div class="line"><div class="data" data-tag="first-name">Ashley</div><div class="text"> (</div><div class="data" data-tag="nic-name">"Ash"</div><div class="text">)</div><div class="padding"> </div><div class="data" data-tag="last-name">Meter &amp; Smith </div><div class="data" data-tag="department"> 1440</div><div class="data" data-tag="percent-time"> 40</div></div><div class="line"><div class="data" data-tag="first-name">0123456789</div><div class="text"> (</div><div class="data" data-tag="nic-name">"0123456789"</div><div class="text">)</div><div class="data" data-tag="last-name">01234567890123</div><div class="data" data-tag="department"> 1440</div><div class="data" data-tag="percent-time"> 40</div></div><div class="line"><div class="data" data-tag="first-name">ახლა</div><div class="text"> (</div><div class="data" data-tag="nic-name">"გაიარო"</div><div class="text">)</div><div class="padding"> </div><div class="data" data-tag="last-name">საერთაშორისო </div><div class="data" data-tag="department"> 123</div><div class="data" data-tag="percent-time"> 90</div></div><div class="line"><div class="data" data-tag="first-name">෴ණ්ණ෴෴ණ්ණ෴</div><div class="text"> (</div><div class="data" data-tag="nic-name">"Mick"</div><div class="text">)</div><div class="padding"> </div><div class="data" data-tag="last-name">෴ණ්ණ෴෴ණ්ණ෴෴ණ්ණ෴෴෴</div><div class="data" data-tag="department"> 110</div><div class="data" data-tag="percent-time"> 20</div></div> \ No newline at end of file
diff --git a/contrib/libxo/tests/core/saved/test_05.HIPx.out b/contrib/libxo/tests/core/saved/test_05.HIPx.out
index 105f848..4389b85 100644
--- a/contrib/libxo/tests/core/saved/test_05.HIPx.out
+++ b/contrib/libxo/tests/core/saved/test_05.HIPx.out
@@ -1,4 +1,74 @@
<div class="line">
+ <div class="title">Sample text</div>
+</div>
+<div class="line">
+ <div class="text">This sample text was taken from the Punjabi Wikipedia article on Lahore and transliterated into the Latin script.</div>
+</div>
+<div class="line">
+ <div class="title">Gurmukhi:</div>
+</div>
+<div class="line">
+ <div class="data" data-tag="gurmukhi" data-xpath="/indian-languages/gurmukhi">ਲਹੌਰ ਪਾਕਿਸਤਾਨੀ ਪੰਜਾਬ ਦੀ ਰਾਜਧਾਨੀ ਹੈ । ਲੋਕ ਗਿਣਤੀ ਦੇ ਨਾਲ ਕਰਾਚੀ ਤੋਂ ਬਾਅਦ ਲਹੌਰ ਦੂਜਾ ਸਭ ਤੋਂ ਵੱਡਾ ਸ਼ਹਿਰ ਹੈ । ਲਹੌਰ ਪਾਕਿਸਤਾਨ ਦਾ ਸਿਆਸੀ, ਰਹਤਲੀ ਤੇ ਪੜ੍ਹਾਈ ਦਾ ਗੜ੍ਹ ਹੈ ਅਤੇ ਇਸ ਲਈ ਇਹਨੂੰ ਪਾਕਿਸਤਾਨ ਦਾ ਦਿਲ ਵੀ ਕਿਹਾ ਜਾਂਦਾ ਹੈ । ਲਹੌਰ ਦਰਿਆ-ਏ-ਰਾਵੀ ਦੇ ਕੰਢੇ ਤੇ ਵਸਦਾ ਹੈ ਤੇ ਇਸਦੀ ਲੋਕ ਗਿਣਤੀ ਇੱਕ ਕਰੋੜ ਦੇ ਨੇੜੇ ਹੈ ।</div>
+</div>
+<div class="line">
+ <div class="title">Shahmukhi:</div>
+</div>
+<div class="line">
+ <div class="data" data-tag="shahmukhi" data-xpath="/indian-languages/shahmukhi">لہور پاکستانی پنجاب دا دارالحکومت اے۔ لوک گنتی دے نال کراچی توں بعد لہور دوجا سبھ توں وڈا شہر اے۔ لہور پاکستان دا سیاسی، رہتلی تے پڑھائی دا گڑھ اے تے اس لئی ایھنوں پاکستان دا دل وی کیھا جاندا اے۔ لہور دریاۓ راوی دے کنڈھے تے وسدا اے اسدی لوک گنتی اک کروڑ دے نیڑے اے ۔</div>
+</div>
+<div class="line">
+ <div class="title">Transliteration</div>
+ <div class="text">:</div>
+</div>
+<div class="line">
+ <div class="data" data-tag="tranliteration" data-xpath="/indian-languages/tranliteration">lahor pākistān panjāb dā dārul hakūmat ē. lōk giṇtī dē nāḷ karācī tō᷈ bāad lahor dūjā sab tō᷈ vaḍḍā shahr ē. lahor pākistān dā siāsī, rahtalī tē paṛā̀ī dā gā́ṛ ē tē is laī ihnū᷈ pākistān dā dil vī kehā jāndā ē. lahor dariāē rāvī dē kanḍē tē vasdā ē. isdī lōk giṇtī ikk karōṛ dē nēṛē ē.</div>
+</div>
+<div class="line">
+ <div class="text">Wide char: </div>
+ <div class="data" data-tag="wc" data-xpath="/employees/wc">෴ - 0xdf4 - 1</div>
+</div>
+<div class="line">
+ <div class="text">Wide char: </div>
+ <div class="data" data-tag="wc" data-xpath="/employees/wc">ණ - 0xdab - 1</div>
+</div>
+<div class="line">
+ <div class="text">Wide char: </div>
+ <div class="data" data-tag="wc" data-xpath="/employees/wc">් - 0xdca - 0</div>
+</div>
+<div class="line">
+ <div class="text">Wide char: </div>
+ <div class="data" data-tag="wc" data-xpath="/employees/wc">ණ - 0xdab - 1</div>
+</div>
+<div class="line">
+ <div class="text">Wide char: </div>
+ <div class="data" data-tag="wc" data-xpath="/employees/wc">្ - 0x17d2 - 0</div>
+</div>
+<div class="line">
+ <div class="text">Wide char: </div>
+ <div class="data" data-tag="wc" data-xpath="/employees/wc">෴ - 0xdf4 - 1</div>
+</div>
+<div class="line">
+ <div class="text">Wide char: </div>
+ <div class="data" data-tag="wc" data-xpath="/employees/wc">1 - 0x31 - 1</div>
+</div>
+<div class="line">
+ <div class="text">Wide char: </div>
+ <div class="data" data-tag="wc" data-xpath="/employees/wc">͏ - 0x34f - 0</div>
+</div>
+<div class="line">
+ <div class="text">Wide char: </div>
+ <div class="data" data-tag="wc" data-xpath="/employees/wc">2 - 0x32 - 1</div>
+</div>
+<div class="line">
+ <div class="text">Wide char: </div>
+ <div class="data" data-tag="wc" data-xpath="/employees/wc">⃝ - 0x20dd - 0</div>
+</div>
+<div class="line">
+ <div class="text">Cool: [</div>
+ <div class="data" data-tag="fancy" data-xpath="/employees/fancy">1͏2⃝</div>
+ <div class="text">]</div>
+</div>
+<div class="line">
<div class="text">Οὐχὶ ταὐτὰ παρίσταταί μοι </div>
<div class="data" data-tag="v1" data-xpath="/employees/v1">γιγνώσκειν</div>
<div class="text">, </div>
@@ -25,7 +95,7 @@
<div class="title">Width</div>
<div class="decoration">:</div>
<div class="padding"> </div>
- <div class="data" data-tag="width" data-xpath="/employees/width">7</div>
+ <div class="data" data-tag="width" data-xpath="/employees/width">6</div>
</div>
<div class="line">
<div class="text">[</div>
@@ -40,10 +110,16 @@
</div>
<div class="line">
<div class="text">[</div>
- <div class="data" data-tag="sinhala" data-xpath="/employees/sinhala">෴ණ්ණ</div>
+ <div class="data" data-tag="sinhala" data-xpath="/employees/sinhala">෴ණ්ණ෴</div>
<div class="text">]</div>
</div>
<div class="line">
+ <div class="title">Width</div>
+ <div class="decoration">:</div>
+ <div class="padding"> </div>
+ <div class="data" data-tag="width" data-xpath="/employees/width">6</div>
+</div>
+<div class="line">
<div class="text">[</div>
<div class="data" data-tag="not-sinhala" data-xpath="/employees/not-sinhala">1234</div>
<div class="text">]</div>
@@ -57,7 +133,7 @@
<div class="title">Width</div>
<div class="decoration">:</div>
<div class="padding"> </div>
- <div class="data" data-tag="width" data-xpath="/employees/width">5</div>
+ <div class="data" data-tag="width" data-xpath="/employees/width">4</div>
</div>
<div class="line">
<div class="title">First Name </div>
@@ -129,8 +205,8 @@
<div class="text"> (</div>
<div class="data" data-tag="nic-name" data-xpath="/employees/employee/nic-name">"Mick"</div>
<div class="text">)</div>
- <div class="padding"> </div>
- <div class="data" data-tag="last-name" data-xpath="/employees/employee/last-name" data-type="string" data-help="Last name of employee">෴ණ්ණ෴෴ණ්ණ෴෴ණ්ණ</div>
+ <div class="padding"> </div>
+ <div class="data" data-tag="last-name" data-xpath="/employees/employee/last-name" data-type="string" data-help="Last name of employee">෴ණ්ණ෴෴ණ්ණ෴෴ණ්ණ෴෴෴</div>
<div class="data" data-tag="department" data-xpath="/employees/employee/department"> 110</div>
<div class="data" data-tag="percent-time" data-xpath="/employees/employee/percent-time" data-type="number" data-help="Percentage of full &amp; part time (%)"> 20</div>
</div>
diff --git a/contrib/libxo/tests/core/saved/test_05.HP.out b/contrib/libxo/tests/core/saved/test_05.HP.out
index e66cf2b..e3fcdda 100644
--- a/contrib/libxo/tests/core/saved/test_05.HP.out
+++ b/contrib/libxo/tests/core/saved/test_05.HP.out
@@ -1,4 +1,74 @@
<div class="line">
+ <div class="title">Sample text</div>
+</div>
+<div class="line">
+ <div class="text">This sample text was taken from the Punjabi Wikipedia article on Lahore and transliterated into the Latin script.</div>
+</div>
+<div class="line">
+ <div class="title">Gurmukhi:</div>
+</div>
+<div class="line">
+ <div class="data" data-tag="gurmukhi">ਲਹੌਰ ਪਾਕਿਸਤਾਨੀ ਪੰਜਾਬ ਦੀ ਰਾਜਧਾਨੀ ਹੈ । ਲੋਕ ਗਿਣਤੀ ਦੇ ਨਾਲ ਕਰਾਚੀ ਤੋਂ ਬਾਅਦ ਲਹੌਰ ਦੂਜਾ ਸਭ ਤੋਂ ਵੱਡਾ ਸ਼ਹਿਰ ਹੈ । ਲਹੌਰ ਪਾਕਿਸਤਾਨ ਦਾ ਸਿਆਸੀ, ਰਹਤਲੀ ਤੇ ਪੜ੍ਹਾਈ ਦਾ ਗੜ੍ਹ ਹੈ ਅਤੇ ਇਸ ਲਈ ਇਹਨੂੰ ਪਾਕਿਸਤਾਨ ਦਾ ਦਿਲ ਵੀ ਕਿਹਾ ਜਾਂਦਾ ਹੈ । ਲਹੌਰ ਦਰਿਆ-ਏ-ਰਾਵੀ ਦੇ ਕੰਢੇ ਤੇ ਵਸਦਾ ਹੈ ਤੇ ਇਸਦੀ ਲੋਕ ਗਿਣਤੀ ਇੱਕ ਕਰੋੜ ਦੇ ਨੇੜੇ ਹੈ ।</div>
+</div>
+<div class="line">
+ <div class="title">Shahmukhi:</div>
+</div>
+<div class="line">
+ <div class="data" data-tag="shahmukhi">لہور پاکستانی پنجاب دا دارالحکومت اے۔ لوک گنتی دے نال کراچی توں بعد لہور دوجا سبھ توں وڈا شہر اے۔ لہور پاکستان دا سیاسی، رہتلی تے پڑھائی دا گڑھ اے تے اس لئی ایھنوں پاکستان دا دل وی کیھا جاندا اے۔ لہور دریاۓ راوی دے کنڈھے تے وسدا اے اسدی لوک گنتی اک کروڑ دے نیڑے اے ۔</div>
+</div>
+<div class="line">
+ <div class="title">Transliteration</div>
+ <div class="text">:</div>
+</div>
+<div class="line">
+ <div class="data" data-tag="tranliteration">lahor pākistān panjāb dā dārul hakūmat ē. lōk giṇtī dē nāḷ karācī tō᷈ bāad lahor dūjā sab tō᷈ vaḍḍā shahr ē. lahor pākistān dā siāsī, rahtalī tē paṛā̀ī dā gā́ṛ ē tē is laī ihnū᷈ pākistān dā dil vī kehā jāndā ē. lahor dariāē rāvī dē kanḍē tē vasdā ē. isdī lōk giṇtī ikk karōṛ dē nēṛē ē.</div>
+</div>
+<div class="line">
+ <div class="text">Wide char: </div>
+ <div class="data" data-tag="wc">෴ - 0xdf4 - 1</div>
+</div>
+<div class="line">
+ <div class="text">Wide char: </div>
+ <div class="data" data-tag="wc">ණ - 0xdab - 1</div>
+</div>
+<div class="line">
+ <div class="text">Wide char: </div>
+ <div class="data" data-tag="wc">් - 0xdca - 0</div>
+</div>
+<div class="line">
+ <div class="text">Wide char: </div>
+ <div class="data" data-tag="wc">ණ - 0xdab - 1</div>
+</div>
+<div class="line">
+ <div class="text">Wide char: </div>
+ <div class="data" data-tag="wc">្ - 0x17d2 - 0</div>
+</div>
+<div class="line">
+ <div class="text">Wide char: </div>
+ <div class="data" data-tag="wc">෴ - 0xdf4 - 1</div>
+</div>
+<div class="line">
+ <div class="text">Wide char: </div>
+ <div class="data" data-tag="wc">1 - 0x31 - 1</div>
+</div>
+<div class="line">
+ <div class="text">Wide char: </div>
+ <div class="data" data-tag="wc">͏ - 0x34f - 0</div>
+</div>
+<div class="line">
+ <div class="text">Wide char: </div>
+ <div class="data" data-tag="wc">2 - 0x32 - 1</div>
+</div>
+<div class="line">
+ <div class="text">Wide char: </div>
+ <div class="data" data-tag="wc">⃝ - 0x20dd - 0</div>
+</div>
+<div class="line">
+ <div class="text">Cool: [</div>
+ <div class="data" data-tag="fancy">1͏2⃝</div>
+ <div class="text">]</div>
+</div>
+<div class="line">
<div class="text">Οὐχὶ ταὐτὰ παρίσταταί μοι </div>
<div class="data" data-tag="v1">γιγνώσκειν</div>
<div class="text">, </div>
@@ -25,7 +95,7 @@
<div class="title">Width</div>
<div class="decoration">:</div>
<div class="padding"> </div>
- <div class="data" data-tag="width">7</div>
+ <div class="data" data-tag="width">6</div>
</div>
<div class="line">
<div class="text">[</div>
@@ -40,10 +110,16 @@
</div>
<div class="line">
<div class="text">[</div>
- <div class="data" data-tag="sinhala">෴ණ්ණ</div>
+ <div class="data" data-tag="sinhala">෴ණ්ණ෴</div>
<div class="text">]</div>
</div>
<div class="line">
+ <div class="title">Width</div>
+ <div class="decoration">:</div>
+ <div class="padding"> </div>
+ <div class="data" data-tag="width">6</div>
+</div>
+<div class="line">
<div class="text">[</div>
<div class="data" data-tag="not-sinhala">1234</div>
<div class="text">]</div>
@@ -57,7 +133,7 @@
<div class="title">Width</div>
<div class="decoration">:</div>
<div class="padding"> </div>
- <div class="data" data-tag="width">5</div>
+ <div class="data" data-tag="width">4</div>
</div>
<div class="line">
<div class="title">First Name </div>
@@ -129,8 +205,8 @@
<div class="text"> (</div>
<div class="data" data-tag="nic-name">"Mick"</div>
<div class="text">)</div>
- <div class="padding"> </div>
- <div class="data" data-tag="last-name">෴ණ්ණ෴෴ණ්ණ෴෴ණ්ණ</div>
+ <div class="padding"> </div>
+ <div class="data" data-tag="last-name">෴ණ්ණ෴෴ණ්ණ෴෴ණ්ණ෴෴෴</div>
<div class="data" data-tag="department"> 110</div>
<div class="data" data-tag="percent-time"> 20</div>
</div>
diff --git a/contrib/libxo/tests/core/saved/test_05.J.out b/contrib/libxo/tests/core/saved/test_05.J.out
index 25d13ea..3525c43 100644
--- a/contrib/libxo/tests/core/saved/test_05.J.out
+++ b/contrib/libxo/tests/core/saved/test_05.J.out
@@ -1,2 +1,3 @@
-{"employees": {"v1":"γιγνώσκειν","v2":"ὦ ἄνδρες ᾿Αθηναῖοι","v1":"ახლავე გაიაროთ რეგისტრაცია","v2":"Unicode-ის მეათე საერთაშორისო","width":55,"sinhala":"෴ණ්ණ෴","width":5,"sinhala":"෴","width":1,"sinhala":"෴ණ්ණ෴෴ණ්ණ෴","not-sinhala":"123456","tag":"ර්‍ඝ","width":3, "employee": [{"first-name":"Jim","nic-name":"\"რეგტ\"","last-name":"გთხოვთ ახ","department":431,"percent-time":90,"benefits":"full"}, {"first-name":"Terry","nic-name":"\"<one\"","last-name":"Οὐχὶ ταὐτὰ παρίσταταί μοι Jones","department":660,"percent-time":90,"benefits":"full"}, {"first-name":"Leslie","nic-name":"\"Les\"","last-name":"Patterson","department":341,"percent-time":60,"benefits":"full"}, {"first-name":"Ashley","nic-name":"\"Ash\"","last-name":"Meter & Smith","department":1440,"percent-time":40}, {"first-name":"0123456789","nic-name":"\"0123456789\"","last-name":"012345678901234567890","department":1440,"percent-time":40}, {"first-name":"ახლა","nic-name":"\"გაიარო\"","last-name":"საერთაშორისო","department":123,"percent-time":90,"benefits":"full"}, {"first-name":"෴ණ්ණ෴෴ණ්ණ෴","nic-name":"\"Mick\"","last-name":"෴ණ්ණ෴෴ණ්ණ෴෴ණ්ණ෴෴෴","department":110,"percent-time":20}]}
+{"indian-languages": {"gurmukhi":"ਲਹੌਰ ਪਾਕਿਸਤਾਨੀ ਪੰਜਾਬ ਦੀ ਰਾਜਧਾਨੀ ਹੈ । ਲੋਕ ਗਿਣਤੀ ਦੇ ਨਾਲ ਕਰਾਚੀ ਤੋਂ ਬਾਅਦ ਲਹੌਰ ਦੂਜਾ ਸਭ ਤੋਂ ਵੱਡਾ ਸ਼ਹਿਰ ਹੈ । ਲਹੌਰ ਪਾਕਿਸਤਾਨ ਦਾ ਸਿਆਸੀ, ਰਹਤਲੀ ਤੇ ਪੜ੍ਹਾਈ ਦਾ ਗੜ੍ਹ ਹੈ ਅਤੇ ਇਸ ਲਈ ਇਹਨੂੰ ਪਾਕਿਸਤਾਨ ਦਾ ਦਿਲ ਵੀ ਕਿਹਾ ਜਾਂਦਾ ਹੈ । ਲਹੌਰ ਦਰਿਆ-ਏ-ਰਾਵੀ ਦੇ ਕੰਢੇ ਤੇ ਵਸਦਾ ਹੈ ਤੇ ਇਸਦੀ ਲੋਕ ਗਿਣਤੀ ਇੱਕ ਕਰੋੜ ਦੇ ਨੇੜੇ ਹੈ ।","shahmukhi":"لہور پاکستانی پنجاب دا دارالحکومت اے۔ لوک گنتی دے نال کراچی توں بعد لہور دوجا سبھ توں وڈا شہر اے۔ لہور پاکستان دا سیاسی، رہتلی تے پڑھائی دا گڑھ اے تے اس لئی ایھنوں پاکستان دا دل وی کیھا جاندا اے۔ لہور دریاۓ راوی دے کنڈھے تے وسدا اے اسدی لوک گنتی اک کروڑ دے نیڑے اے ۔","tranliteration":"lahor pākistān panjāb dā dārul hakūmat ē. lōk giṇtī dē nāḷ karācī tō᷈ bāad lahor dūjā sab tō᷈ vaḍḍā shahr ē. lahor pākistān dā siāsī, rahtalī tē paṛā̀ī dā gā́ṛ ē tē is laī ihnū᷈ pākistān dā dil vī kehā jāndā ē. lahor dariāē rāvī dē kanḍē tē vasdā ē. isdī lōk giṇtī ikk karōṛ dē nēṛē ē."}
+, "employees": {"wc": ["෴ - 0xdf4 - 1","ණ - 0xdab - 1","් - 0xdca - 0","ණ - 0xdab - 1","្ - 0x17d2 - 0","෴ - 0xdf4 - 1","1 - 0x31 - 1","͏ - 0x34f - 0","2 - 0x32 - 1","⃝ - 0x20dd - 0"],"fancy":"1͏2⃝","v1":"γιγνώσκειν","v2":"ὦ ἄνδρες ᾿Αθηναῖοι","v1":"ახლავე გაიაროთ რეგისტრაცია","v2":"Unicode-ის მეათე საერთაშორისო","width":55,"sinhala":"෴ණ්ණ෴","width":4,"sinhala":"෴","width":1,"sinhala":"෴ණ්ණ෴෴ණ්ණ෴","width":8,"not-sinhala":"123456","tag":"ර්‍ඝ","width":2, "employee": [{"first-name":"Jim","nic-name":"\"რეგტ\"","last-name":"გთხოვთ ახ","department":431,"percent-time":90,"benefits":"full"}, {"first-name":"Terry","nic-name":"\"<one\"","last-name":"Οὐχὶ ταὐτὰ παρίσταταί μοι Jones","department":660,"percent-time":90,"benefits":"full"}, {"first-name":"Leslie","nic-name":"\"Les\"","last-name":"Patterson","department":341,"percent-time":60,"benefits":"full"}, {"first-name":"Ashley","nic-name":"\"Ash\"","last-name":"Meter & Smith","department":1440,"percent-time":40}, {"first-name":"0123456789","nic-name":"\"0123456789\"","last-name":"012345678901234567890","department":1440,"percent-time":40}, {"first-name":"ახლა","nic-name":"\"გაიარო\"","last-name":"საერთაშორისო","department":123,"percent-time":90,"benefits":"full"}, {"first-name":"෴ණ්ණ෴෴ණ්ණ෴","nic-name":"\"Mick\"","last-name":"෴ණ්ණ෴෴ණ්ණ෴෴ණ්ණ෴෴෴","department":110,"percent-time":20}]}
}
diff --git a/contrib/libxo/tests/core/saved/test_05.JP.out b/contrib/libxo/tests/core/saved/test_05.JP.out
index c321917..e027034 100644
--- a/contrib/libxo/tests/core/saved/test_05.JP.out
+++ b/contrib/libxo/tests/core/saved/test_05.JP.out
@@ -1,18 +1,38 @@
{
+ "indian-languages": {
+ "gurmukhi": "ਲਹੌਰ ਪਾਕਿਸਤਾਨੀ ਪੰਜਾਬ ਦੀ ਰਾਜਧਾਨੀ ਹੈ । ਲੋਕ ਗਿਣਤੀ ਦੇ ਨਾਲ ਕਰਾਚੀ ਤੋਂ ਬਾਅਦ ਲਹੌਰ ਦੂਜਾ ਸਭ ਤੋਂ ਵੱਡਾ ਸ਼ਹਿਰ ਹੈ । ਲਹੌਰ ਪਾਕਿਸਤਾਨ ਦਾ ਸਿਆਸੀ, ਰਹਤਲੀ ਤੇ ਪੜ੍ਹਾਈ ਦਾ ਗੜ੍ਹ ਹੈ ਅਤੇ ਇਸ ਲਈ ਇਹਨੂੰ ਪਾਕਿਸਤਾਨ ਦਾ ਦਿਲ ਵੀ ਕਿਹਾ ਜਾਂਦਾ ਹੈ । ਲਹੌਰ ਦਰਿਆ-ਏ-ਰਾਵੀ ਦੇ ਕੰਢੇ ਤੇ ਵਸਦਾ ਹੈ ਤੇ ਇਸਦੀ ਲੋਕ ਗਿਣਤੀ ਇੱਕ ਕਰੋੜ ਦੇ ਨੇੜੇ ਹੈ ।",
+ "shahmukhi": "لہور پاکستانی پنجاب دا دارالحکومت اے۔ لوک گنتی دے نال کراچی توں بعد لہور دوجا سبھ توں وڈا شہر اے۔ لہور پاکستان دا سیاسی، رہتلی تے پڑھائی دا گڑھ اے تے اس لئی ایھنوں پاکستان دا دل وی کیھا جاندا اے۔ لہور دریاۓ راوی دے کنڈھے تے وسدا اے اسدی لوک گنتی اک کروڑ دے نیڑے اے ۔",
+ "tranliteration": "lahor pākistān panjāb dā dārul hakūmat ē. lōk giṇtī dē nāḷ karācī tō᷈ bāad lahor dūjā sab tō᷈ vaḍḍā shahr ē. lahor pākistān dā siāsī, rahtalī tē paṛā̀ī dā gā́ṛ ē tē is laī ihnū᷈ pākistān dā dil vī kehā jāndā ē. lahor dariāē rāvī dē kanḍē tē vasdā ē. isdī lōk giṇtī ikk karōṛ dē nēṛē ē."
+ }
+,
"employees": {
+ "wc": [
+ "෴ - 0xdf4 - 1",
+ "ණ - 0xdab - 1",
+ "් - 0xdca - 0",
+ "ණ - 0xdab - 1",
+ "្ - 0x17d2 - 0",
+ "෴ - 0xdf4 - 1",
+ "1 - 0x31 - 1",
+ "͏ - 0x34f - 0",
+ "2 - 0x32 - 1",
+ "⃝ - 0x20dd - 0"
+ ],
+ "fancy": "1͏2⃝",
"v1": "γιγνώσκειν",
"v2": "ὦ ἄνδρες ᾿Αθηναῖοι",
"v1": "ახლავე გაიაროთ რეგისტრაცია",
"v2": "Unicode-ის მეათე საერთაშორისო",
"width": 55,
"sinhala": "෴ණ්ණ෴",
- "width": 5,
+ "width": 4,
"sinhala": "෴",
"width": 1,
"sinhala": "෴ණ්ණ෴෴ණ්ණ෴",
+ "width": 8,
"not-sinhala": "123456",
"tag": "ර්‍ඝ",
- "width": 3,
+ "width": 2,
"employee": [
{
"first-name": "Jim",
diff --git a/contrib/libxo/tests/core/saved/test_05.T.out b/contrib/libxo/tests/core/saved/test_05.T.out
index db713a6..397a64e 100644
--- a/contrib/libxo/tests/core/saved/test_05.T.out
+++ b/contrib/libxo/tests/core/saved/test_05.T.out
@@ -1,14 +1,34 @@
+Sample text
+This sample text was taken from the Punjabi Wikipedia article on Lahore and transliterated into the Latin script.
+Gurmukhi:
+ਲਹੌਰ ਪਾਕਿਸਤਾਨੀ ਪੰਜਾਬ ਦੀ ਰਾਜਧਾਨੀ ਹੈ । ਲੋਕ ਗਿਣਤੀ ਦੇ ਨਾਲ ਕਰਾਚੀ ਤੋਂ ਬਾਅਦ ਲਹੌਰ ਦੂਜਾ ਸਭ ਤੋਂ ਵੱਡਾ ਸ਼ਹਿਰ ਹੈ । ਲਹੌਰ ਪਾਕਿਸਤਾਨ ਦਾ ਸਿਆਸੀ, ਰਹਤਲੀ ਤੇ ਪੜ੍ਹਾਈ ਦਾ ਗੜ੍ਹ ਹੈ ਅਤੇ ਇਸ ਲਈ ਇਹਨੂੰ ਪਾਕਿਸਤਾਨ ਦਾ ਦਿਲ ਵੀ ਕਿਹਾ ਜਾਂਦਾ ਹੈ । ਲਹੌਰ ਦਰਿਆ-ਏ-ਰਾਵੀ ਦੇ ਕੰਢੇ ਤੇ ਵਸਦਾ ਹੈ ਤੇ ਇਸਦੀ ਲੋਕ ਗਿਣਤੀ ਇੱਕ ਕਰੋੜ ਦੇ ਨੇੜੇ ਹੈ ।
+Shahmukhi:
+لہور پاکستانی پنجاب دا دارالحکومت اے۔ لوک گنتی دے نال کراچی توں بعد لہور دوجا سبھ توں وڈا شہر اے۔ لہور پاکستان دا سیاسی، رہتلی تے پڑھائی دا گڑھ اے تے اس لئی ایھنوں پاکستان دا دل وی کیھا جاندا اے۔ لہور دریاۓ راوی دے کنڈھے تے وسدا اے اسدی لوک گنتی اک کروڑ دے نیڑے اے ۔
+Transliteration:
+lahor pākistān panjāb dā dārul hakūmat ē. lōk giṇtī dē nāḷ karācī tō᷈ bāad lahor dūjā sab tō᷈ vaḍḍā shahr ē. lahor pākistān dā siāsī, rahtalī tē paṛā̀ī dā gā́ṛ ē tē is laī ihnū᷈ pākistān dā dil vī kehā jāndā ē. lahor dariāē rāvī dē kanḍē tē vasdā ē. isdī lōk giṇtī ikk karōṛ dē nēṛē ē.
+Wide char: ෴ - 0xdf4 - 1
+Wide char: ණ - 0xdab - 1
+Wide char: ් - 0xdca - 0
+Wide char: ණ - 0xdab - 1
+Wide char: ្ - 0x17d2 - 0
+Wide char: ෴ - 0xdf4 - 1
+Wide char: 1 - 0x31 - 1
+Wide char: ͏ - 0x34f - 0
+Wide char: 2 - 0x32 - 1
+Wide char: ⃝ - 0x20dd - 0
+Cool: [1͏2⃝]
Οὐχὶ ταὐτὰ παρίσταταί μοι γιγνώσκειν, ὦ ἄνδρες ᾿Αθηναῖοι
გთხოვთ ახლავე გაიაროთ რეგისტრაცია Unicode-ის მეათე საერთაშორისო
Width: 63
[෴ණ්ණ෴]
-Width: 7
+Width: 6
[෴]
Width: 3
-[෴ණ්ණ]
+[෴ණ්ණ෴]
+Width: 6
[1234]
[ර්‍ඝ]
-Width: 5
+Width: 4
First Name Last Name Department Time (%)
Jim ("რეგტ") გთხოვთ ახ 431 90
Terry ("<one") Οὐχὶ ταὐτὰ παρ 660 90
@@ -16,4 +36,4 @@ Leslie ("Les") Patterson 341 60
Ashley ("Ash") Meter & Smith 1440 40
0123456789 ("0123456789")01234567890123 1440 40
ახლა ("გაიარო") საერთაშორისო 123 90
-෴ණ්ණ෴෴ණ්ණ෴ ("Mick") ෴ණ්ණ෴෴ණ්ණ෴෴ණ්ණ 110 20
+෴ණ්ණ෴෴ණ්ණ෴ ("Mick") ෴ණ්ණ෴෴ණ්ණ෴෴ණ්ණ෴෴෴ 110 20
diff --git a/contrib/libxo/tests/core/saved/test_05.X.out b/contrib/libxo/tests/core/saved/test_05.X.out
index 7cd2926..2a40010 100644
--- a/contrib/libxo/tests/core/saved/test_05.X.out
+++ b/contrib/libxo/tests/core/saved/test_05.X.out
@@ -1 +1 @@
-<employees><v1>γιγνώσκειν</v1><v2>ὦ ἄνδρες ᾿Αθηναῖοι</v2><v1>ახლავე გაიაროთ რეგისტრაცია</v1><v2>Unicode-ის მეათე საერთაშორისო</v2><width>55</width><sinhala>෴ණ්ණ෴</sinhala><width>5</width><sinhala>෴</sinhala><width>1</width><sinhala>෴ණ්ණ෴෴ණ්ණ෴</sinhala><not-sinhala>123456</not-sinhala><tag>ර්‍ඝ</tag><width>3</width><employee><first-name>Jim</first-name><nic-name>"რეგტ"</nic-name><last-name>გთხოვთ ახ</last-name><department>431</department><percent-time>90</percent-time><benefits full-time="honest &amp; for true">full</benefits></employee><employee><first-name>Terry</first-name><nic-name>"&lt;one"</nic-name><last-name>Οὐχὶ ταὐτὰ παρίσταταί μοι Jones</last-name><department>660</department><percent-time>90</percent-time><benefits full-time="honest &amp; for true">full</benefits></employee><employee><first-name>Leslie</first-name><nic-name>"Les"</nic-name><last-name>Patterson</last-name><department>341</department><percent-time>60</percent-time><benefits full-time="honest &amp; for true">full</benefits></employee><employee><first-name>Ashley</first-name><nic-name>"Ash"</nic-name><last-name>Meter &amp; Smith</last-name><department>1440</department><percent-time>40</percent-time></employee><employee><first-name>0123456789</first-name><nic-name>"0123456789"</nic-name><last-name>012345678901234567890</last-name><department>1440</department><percent-time>40</percent-time></employee><employee><first-name>ახლა</first-name><nic-name>"გაიარო"</nic-name><last-name>საერთაშორისო</last-name><department>123</department><percent-time>90</percent-time><benefits full-time="honest &amp; for true">full</benefits></employee><employee><first-name>෴ණ්ණ෴෴ණ්ණ෴</first-name><nic-name>"Mick"</nic-name><last-name>෴ණ්ණ෴෴ණ්ණ෴෴ණ්ණ෴෴෴</last-name><department>110</department><percent-time>20</percent-time></employee></employees> \ No newline at end of file
+<indian-languages><gurmukhi>ਲਹੌਰ ਪਾਕਿਸਤਾਨੀ ਪੰਜਾਬ ਦੀ ਰਾਜਧਾਨੀ ਹੈ । ਲੋਕ ਗਿਣਤੀ ਦੇ ਨਾਲ ਕਰਾਚੀ ਤੋਂ ਬਾਅਦ ਲਹੌਰ ਦੂਜਾ ਸਭ ਤੋਂ ਵੱਡਾ ਸ਼ਹਿਰ ਹੈ । ਲਹੌਰ ਪਾਕਿਸਤਾਨ ਦਾ ਸਿਆਸੀ, ਰਹਤਲੀ ਤੇ ਪੜ੍ਹਾਈ ਦਾ ਗੜ੍ਹ ਹੈ ਅਤੇ ਇਸ ਲਈ ਇਹਨੂੰ ਪਾਕਿਸਤਾਨ ਦਾ ਦਿਲ ਵੀ ਕਿਹਾ ਜਾਂਦਾ ਹੈ । ਲਹੌਰ ਦਰਿਆ-ਏ-ਰਾਵੀ ਦੇ ਕੰਢੇ ਤੇ ਵਸਦਾ ਹੈ ਤੇ ਇਸਦੀ ਲੋਕ ਗਿਣਤੀ ਇੱਕ ਕਰੋੜ ਦੇ ਨੇੜੇ ਹੈ ।</gurmukhi><shahmukhi>لہور پاکستانی پنجاب دا دارالحکومت اے۔ لوک گنتی دے نال کراچی توں بعد لہور دوجا سبھ توں وڈا شہر اے۔ لہور پاکستان دا سیاسی، رہتلی تے پڑھائی دا گڑھ اے تے اس لئی ایھنوں پاکستان دا دل وی کیھا جاندا اے۔ لہور دریاۓ راوی دے کنڈھے تے وسدا اے اسدی لوک گنتی اک کروڑ دے نیڑے اے ۔</shahmukhi><tranliteration>lahor pākistān panjāb dā dārul hakūmat ē. lōk giṇtī dē nāḷ karācī tō᷈ bāad lahor dūjā sab tō᷈ vaḍḍā shahr ē. lahor pākistān dā siāsī, rahtalī tē paṛā̀ī dā gā́ṛ ē tē is laī ihnū᷈ pākistān dā dil vī kehā jāndā ē. lahor dariāē rāvī dē kanḍē tē vasdā ē. isdī lōk giṇtī ikk karōṛ dē nēṛē ē.</tranliteration></indian-languages><employees><wc>෴ - 0xdf4 - 1</wc><wc>ණ - 0xdab - 1</wc><wc>් - 0xdca - 0</wc><wc>ණ - 0xdab - 1</wc><wc>្ - 0x17d2 - 0</wc><wc>෴ - 0xdf4 - 1</wc><wc>1 - 0x31 - 1</wc><wc>͏ - 0x34f - 0</wc><wc>2 - 0x32 - 1</wc><wc>⃝ - 0x20dd - 0</wc><fancy>1͏2⃝</fancy><v1>γιγνώσκειν</v1><v2>ὦ ἄνδρες ᾿Αθηναῖοι</v2><v1>ახლავე გაიაროთ რეგისტრაცია</v1><v2>Unicode-ის მეათე საერთაშორისო</v2><width>55</width><sinhala>෴ණ්ණ෴</sinhala><width>4</width><sinhala>෴</sinhala><width>1</width><sinhala>෴ණ්ණ෴෴ණ්ණ෴</sinhala><width>8</width><not-sinhala>123456</not-sinhala><tag>ර්‍ඝ</tag><width>2</width><employee><first-name>Jim</first-name><nic-name>"რეგტ"</nic-name><last-name>გთხოვთ ახ</last-name><department>431</department><percent-time>90</percent-time><benefits full-time="honest &amp; for true">full</benefits></employee><employee><first-name>Terry</first-name><nic-name>"&lt;one"</nic-name><last-name>Οὐχὶ ταὐτὰ παρίσταταί μοι Jones</last-name><department>660</department><percent-time>90</percent-time><benefits full-time="honest &amp; for true">full</benefits></employee><employee><first-name>Leslie</first-name><nic-name>"Les"</nic-name><last-name>Patterson</last-name><department>341</department><percent-time>60</percent-time><benefits full-time="honest &amp; for true">full</benefits></employee><employee><first-name>Ashley</first-name><nic-name>"Ash"</nic-name><last-name>Meter &amp; Smith</last-name><department>1440</department><percent-time>40</percent-time></employee><employee><first-name>0123456789</first-name><nic-name>"0123456789"</nic-name><last-name>012345678901234567890</last-name><department>1440</department><percent-time>40</percent-time></employee><employee><first-name>ახლა</first-name><nic-name>"გაიარო"</nic-name><last-name>საერთაშორისო</last-name><department>123</department><percent-time>90</percent-time><benefits full-time="honest &amp; for true">full</benefits></employee><employee><first-name>෴ණ්ණ෴෴ණ්ණ෴</first-name><nic-name>"Mick"</nic-name><last-name>෴ණ්ණ෴෴ණ්ණ෴෴ණ්ණ෴෴෴</last-name><department>110</department><percent-time>20</percent-time></employee></employees> \ No newline at end of file
diff --git a/contrib/libxo/tests/core/saved/test_05.XP.out b/contrib/libxo/tests/core/saved/test_05.XP.out
index 6ef573f..cf48b5b 100644
--- a/contrib/libxo/tests/core/saved/test_05.XP.out
+++ b/contrib/libxo/tests/core/saved/test_05.XP.out
@@ -1,17 +1,34 @@
+<indian-languages>
+ <gurmukhi>ਲਹੌਰ ਪਾਕਿਸਤਾਨੀ ਪੰਜਾਬ ਦੀ ਰਾਜਧਾਨੀ ਹੈ । ਲੋਕ ਗਿਣਤੀ ਦੇ ਨਾਲ ਕਰਾਚੀ ਤੋਂ ਬਾਅਦ ਲਹੌਰ ਦੂਜਾ ਸਭ ਤੋਂ ਵੱਡਾ ਸ਼ਹਿਰ ਹੈ । ਲਹੌਰ ਪਾਕਿਸਤਾਨ ਦਾ ਸਿਆਸੀ, ਰਹਤਲੀ ਤੇ ਪੜ੍ਹਾਈ ਦਾ ਗੜ੍ਹ ਹੈ ਅਤੇ ਇਸ ਲਈ ਇਹਨੂੰ ਪਾਕਿਸਤਾਨ ਦਾ ਦਿਲ ਵੀ ਕਿਹਾ ਜਾਂਦਾ ਹੈ । ਲਹੌਰ ਦਰਿਆ-ਏ-ਰਾਵੀ ਦੇ ਕੰਢੇ ਤੇ ਵਸਦਾ ਹੈ ਤੇ ਇਸਦੀ ਲੋਕ ਗਿਣਤੀ ਇੱਕ ਕਰੋੜ ਦੇ ਨੇੜੇ ਹੈ ।</gurmukhi>
+ <shahmukhi>لہور پاکستانی پنجاب دا دارالحکومت اے۔ لوک گنتی دے نال کراچی توں بعد لہور دوجا سبھ توں وڈا شہر اے۔ لہور پاکستان دا سیاسی، رہتلی تے پڑھائی دا گڑھ اے تے اس لئی ایھنوں پاکستان دا دل وی کیھا جاندا اے۔ لہور دریاۓ راوی دے کنڈھے تے وسدا اے اسدی لوک گنتی اک کروڑ دے نیڑے اے ۔</shahmukhi>
+ <tranliteration>lahor pākistān panjāb dā dārul hakūmat ē. lōk giṇtī dē nāḷ karācī tō᷈ bāad lahor dūjā sab tō᷈ vaḍḍā shahr ē. lahor pākistān dā siāsī, rahtalī tē paṛā̀ī dā gā́ṛ ē tē is laī ihnū᷈ pākistān dā dil vī kehā jāndā ē. lahor dariāē rāvī dē kanḍē tē vasdā ē. isdī lōk giṇtī ikk karōṛ dē nēṛē ē.</tranliteration>
+</indian-languages>
<employees>
+ <wc>෴ - 0xdf4 - 1</wc>
+ <wc>ණ - 0xdab - 1</wc>
+ <wc>් - 0xdca - 0</wc>
+ <wc>ණ - 0xdab - 1</wc>
+ <wc>្ - 0x17d2 - 0</wc>
+ <wc>෴ - 0xdf4 - 1</wc>
+ <wc>1 - 0x31 - 1</wc>
+ <wc>͏ - 0x34f - 0</wc>
+ <wc>2 - 0x32 - 1</wc>
+ <wc>⃝ - 0x20dd - 0</wc>
+ <fancy>1͏2⃝</fancy>
<v1>γιγνώσκειν</v1>
<v2>ὦ ἄνδρες ᾿Αθηναῖοι</v2>
<v1>ახლავე გაიაროთ რეგისტრაცია</v1>
<v2>Unicode-ის მეათე საერთაშორისო</v2>
<width>55</width>
<sinhala>෴ණ්ණ෴</sinhala>
- <width>5</width>
+ <width>4</width>
<sinhala>෴</sinhala>
<width>1</width>
<sinhala>෴ණ්ණ෴෴ණ්ණ෴</sinhala>
+ <width>8</width>
<not-sinhala>123456</not-sinhala>
<tag>ර්‍ඝ</tag>
- <width>3</width>
+ <width>2</width>
<employee>
<first-name>Jim</first-name>
<nic-name>"რეგტ"</nic-name>
diff --git a/contrib/libxo/tests/core/saved/test_06.E.err b/contrib/libxo/tests/core/saved/test_06.E.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/contrib/libxo/tests/core/saved/test_06.E.err
diff --git a/contrib/libxo/tests/core/saved/test_06.E.out b/contrib/libxo/tests/core/saved/test_06.E.out
new file mode 100644
index 0000000..3965783
--- /dev/null
+++ b/contrib/libxo/tests/core/saved/test_06.E.out
@@ -0,0 +1,22 @@
+op create: [] []
+op open_container: [employees] []
+op open_list: [employee] []
+op open_instance: [employee] []
+op string: [first-name] [Terry]
+op string: [last-name] [Jones]
+op content: [department] [660]
+op close_instance: [employee] []
+op open_instance: [employee] []
+op string: [first-name] [Leslie]
+op string: [last-name] [Patterson]
+op content: [department] [341]
+op close_instance: [employee] []
+op open_instance: [employee] []
+op string: [first-name] [Ashley]
+op string: [last-name] [Smith]
+op content: [department] [1440]
+op close_instance: [employee] []
+op close_list: [employee] []
+op close_container: [employees] []
+op finish: [] []
+op flush: [] []
diff --git a/contrib/libxo/tests/core/saved/test_07.E.err b/contrib/libxo/tests/core/saved/test_07.E.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/contrib/libxo/tests/core/saved/test_07.E.err
diff --git a/contrib/libxo/tests/core/saved/test_07.E.out b/contrib/libxo/tests/core/saved/test_07.E.out
new file mode 100644
index 0000000..45e4b69
--- /dev/null
+++ b/contrib/libxo/tests/core/saved/test_07.E.out
@@ -0,0 +1,76 @@
+op create: [] []
+op open_container: [employees] []
+op open_list: [test] []
+op open_instance: [test] []
+op string: [filename] [(null)]
+op close_instance: [test] []
+op close_list: [test] []
+op string: [v1] [γιγνώσκειν]
+op string: [v2] [ὦ ἄνδρες ᾿Αθηναῖοι]
+op content: [columns] [28]
+op content: [columns] [2]
+op string: [v1] [ახლავე გაიაროთ რეგისტრაცია]
+op string: [v2] [Unicode-ის მეათე საერთაშორისო]
+op content: [columns] [55]
+op content: [columns] [0]
+op open_list: [employee] []
+op open_instance: [employee] []
+op string: [first-name] [Jim]
+op string: [nic-name] ["რეგტ"]
+op string: [last-name] [გთხოვთ ახ]
+op content: [department] [431]
+op content: [percent-time] [90]
+op content: [columns] [23]
+op attr: [full-time] [honest & for true]
+op string: [benefits] [full]
+op close_instance: [employee] []
+op open_instance: [employee] []
+op string: [first-name] [Terry]
+op string: [nic-name] ["<one"]
+op string: [last-name] [Οὐχὶ ταὐτὰ παρίσταταί μοι Jones]
+op content: [department] [660]
+op content: [percent-time] [90]
+op content: [columns] [47]
+op attr: [full-time] [honest & for true]
+op string: [benefits] [full]
+op close_instance: [employee] []
+op open_instance: [employee] []
+op string: [first-name] [Leslie]
+op string: [nic-name] ["Les"]
+op string: [last-name] [Patterson]
+op content: [department] [341]
+op content: [percent-time] [60]
+op content: [columns] [25]
+op attr: [full-time] [honest & for true]
+op string: [benefits] [full]
+op close_instance: [employee] []
+op open_instance: [employee] []
+op string: [first-name] [Ashley]
+op string: [nic-name] ["Ash"]
+op string: [last-name] [Meter & Smith]
+op content: [department] [1440]
+op content: [percent-time] [40]
+op content: [columns] [30]
+op close_instance: [employee] []
+op open_instance: [employee] []
+op string: [first-name] [0123456789]
+op string: [nic-name] ["0123456789"]
+op string: [last-name] [012345678901234567890]
+op content: [department] [1440]
+op content: [percent-time] [40]
+op content: [columns] [49]
+op close_instance: [employee] []
+op open_instance: [employee] []
+op string: [first-name] [ახლა]
+op string: [nic-name] ["გაიარო"]
+op string: [last-name] [საერთაშორისო]
+op content: [department] [123]
+op content: [percent-time] [90]
+op content: [columns] [29]
+op attr: [full-time] [honest & for true]
+op string: [benefits] [full]
+op close_instance: [employee] []
+op close_list: [employee] []
+op close_container: [employees] []
+op finish: [] []
+op flush: [] []
diff --git a/contrib/libxo/tests/core/saved/test_08.E.err b/contrib/libxo/tests/core/saved/test_08.E.err
new file mode 100644
index 0000000..011858c
--- /dev/null
+++ b/contrib/libxo/tests/core/saved/test_08.E.err
@@ -0,0 +1,18 @@
+test: close (xo_close_container) fails at marker 'm1'; not found 'data3'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm1'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm1'; not found 'top'
diff --git a/contrib/libxo/tests/core/saved/test_08.E.out b/contrib/libxo/tests/core/saved/test_08.E.out
new file mode 100644
index 0000000..c00f4b8
--- /dev/null
+++ b/contrib/libxo/tests/core/saved/test_08.E.out
@@ -0,0 +1,186 @@
+op create: [] []
+op open_container: [top] []
+op open_container: [data] []
+op open_container: [contents] []
+op open_list: [item] []
+op open_instance: [item] []
+op string: [name] [gum]
+op content: [count] [1412]
+op close_instance: [item] []
+op open_instance: [item] []
+op string: [name] [rope]
+op content: [count] [85]
+op close_instance: [item] []
+op open_instance: [item] []
+op string: [name] [ladder]
+op content: [count] [0]
+op close_instance: [item] []
+op open_instance: [item] []
+op string: [name] [bolt]
+op content: [count] [4123]
+op close_instance: [item] []
+op open_instance: [item] []
+op string: [name] [water]
+op content: [count] [17]
+op close_instance: [item] []
+op close_list: [item] []
+op close_container: [contents] []
+op close_container: [data] []
+op open_container: [data2] []
+op open_container: [contents] []
+op open_list: [item] []
+op open_instance: [item] []
+op string: [name] [gum]
+op content: [count] [1412]
+op close_instance: [item] []
+op open_instance: [item] []
+op string: [name] [rope]
+op content: [count] [85]
+op close_instance: [item] []
+op open_instance: [item] []
+op string: [name] [ladder]
+op content: [count] [0]
+op close_instance: [item] []
+op open_instance: [item] []
+op string: [name] [bolt]
+op content: [count] [4123]
+op close_instance: [item] []
+op open_instance: [item] []
+op string: [name] [water]
+op content: [count] [17]
+op close_instance: [item] []
+op close_list: [item] []
+op close_container: [contents] []
+op close_container: [data2] []
+op open_container: [data3] []
+op open_container: [contents] []
+op open_list: [item] []
+op open_instance: [item] []
+op string: [name] [gum]
+op content: [count] [1412]
+op close_instance: [item] []
+op open_instance: [item] []
+op string: [name] [rope]
+op content: [count] [85]
+op close_instance: [item] []
+op open_instance: [item] []
+op string: [name] [ladder]
+op content: [count] [0]
+op close_instance: [item] []
+op open_instance: [item] []
+op string: [name] [bolt]
+op content: [count] [4123]
+op close_instance: [item] []
+op open_instance: [item] []
+op string: [name] [water]
+op content: [count] [17]
+op string: [test] [one]
+op close_instance: [item] []
+op close_list: [item] []
+op close_container: [contents] []
+op close_container: [data3] []
+op open_container: [data4] []
+op open_container: [contents] []
+op open_list: [item] []
+op open_instance: [item] []
+op string: [name] [gum]
+op content: [count] [1412]
+op open_list: [sub] []
+op open_instance: [sub] []
+op content: [name] [0]
+op content: [next] [1]
+op close_instance: [sub] []
+op open_instance: [sub] []
+op content: [name] [1]
+op content: [next] [2]
+op close_instance: [sub] []
+op open_instance: [sub] []
+op content: [name] [2]
+op content: [next] [3]
+op close_instance: [sub] []
+op close_list: [sub] []
+op content: [last] [3]
+op close_instance: [item] []
+op open_instance: [item] []
+op string: [name] [rope]
+op content: [count] [85]
+op open_list: [sub] []
+op open_instance: [sub] []
+op content: [name] [0]
+op content: [next] [1]
+op close_instance: [sub] []
+op open_instance: [sub] []
+op content: [name] [1]
+op content: [next] [2]
+op close_instance: [sub] []
+op open_instance: [sub] []
+op content: [name] [2]
+op content: [next] [3]
+op close_instance: [sub] []
+op close_list: [sub] []
+op content: [last] [3]
+op close_instance: [item] []
+op open_instance: [item] []
+op string: [name] [ladder]
+op content: [count] [0]
+op open_list: [sub] []
+op open_instance: [sub] []
+op content: [name] [0]
+op content: [next] [1]
+op close_instance: [sub] []
+op open_instance: [sub] []
+op content: [name] [1]
+op content: [next] [2]
+op close_instance: [sub] []
+op open_instance: [sub] []
+op content: [name] [2]
+op content: [next] [3]
+op close_instance: [sub] []
+op close_list: [sub] []
+op content: [last] [3]
+op close_instance: [item] []
+op open_instance: [item] []
+op string: [name] [bolt]
+op content: [count] [4123]
+op open_list: [sub] []
+op open_instance: [sub] []
+op content: [name] [0]
+op content: [next] [1]
+op close_instance: [sub] []
+op open_instance: [sub] []
+op content: [name] [1]
+op content: [next] [2]
+op close_instance: [sub] []
+op open_instance: [sub] []
+op content: [name] [2]
+op content: [next] [3]
+op close_instance: [sub] []
+op close_list: [sub] []
+op content: [last] [3]
+op close_instance: [item] []
+op open_instance: [item] []
+op string: [name] [water]
+op content: [count] [17]
+op open_list: [sub] []
+op open_instance: [sub] []
+op content: [name] [0]
+op content: [next] [1]
+op close_instance: [sub] []
+op open_instance: [sub] []
+op content: [name] [1]
+op content: [next] [2]
+op close_instance: [sub] []
+op open_instance: [sub] []
+op content: [name] [2]
+op content: [next] [3]
+op close_instance: [sub] []
+op close_list: [sub] []
+op content: [last] [3]
+op string: [test] [one]
+op close_instance: [item] []
+op close_list: [item] []
+op close_container: [contents] []
+op close_container: [data4] []
+op close_container: [top] []
+op finish: [] []
+op flush: [] []
diff --git a/contrib/libxo/tests/core/saved/test_08.H.err b/contrib/libxo/tests/core/saved/test_08.H.err
index 445bfb7..011858c 100644
--- a/contrib/libxo/tests/core/saved/test_08.H.err
+++ b/contrib/libxo/tests/core/saved/test_08.H.err
@@ -1,18 +1,18 @@
-test: close (xo_close_container) fails at marker 'm1'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm1'; not found 'data'
+test: close (xo_close_container) fails at marker 'm1'; not found 'data3'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm1'; not found 'data4'
test: close (xo_close_container) fails at marker 'm1'; not found 'top'
diff --git a/contrib/libxo/tests/core/saved/test_08.HIPx.err b/contrib/libxo/tests/core/saved/test_08.HIPx.err
index 445bfb7..011858c 100644
--- a/contrib/libxo/tests/core/saved/test_08.HIPx.err
+++ b/contrib/libxo/tests/core/saved/test_08.HIPx.err
@@ -1,18 +1,18 @@
-test: close (xo_close_container) fails at marker 'm1'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm1'; not found 'data'
+test: close (xo_close_container) fails at marker 'm1'; not found 'data3'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm1'; not found 'data4'
test: close (xo_close_container) fails at marker 'm1'; not found 'top'
diff --git a/contrib/libxo/tests/core/saved/test_08.HIPx.out b/contrib/libxo/tests/core/saved/test_08.HIPx.out
index 87bfbed..2263347 100644
--- a/contrib/libxo/tests/core/saved/test_08.HIPx.out
+++ b/contrib/libxo/tests/core/saved/test_08.HIPx.out
@@ -31,24 +31,24 @@
<div class="title"> Count</div>
</div>
<div class="line">
- <div class="data" data-tag="name" data-xpath="/top/data/contents/item/name" data-key="key">gum </div>
- <div class="data" data-tag="count" data-xpath="/top/data/contents/item[name = 'gum']/count"> 1412</div>
+ <div class="data" data-tag="name" data-xpath="/top/data2/contents/item/name" data-key="key">gum </div>
+ <div class="data" data-tag="count" data-xpath="/top/data2/contents/item[name = 'gum']/count"> 1412</div>
</div>
<div class="line">
- <div class="data" data-tag="name" data-xpath="/top/data/contents/item/name" data-key="key">rope </div>
- <div class="data" data-tag="count" data-xpath="/top/data/contents/item[name = 'rope']/count"> 85</div>
+ <div class="data" data-tag="name" data-xpath="/top/data2/contents/item/name" data-key="key">rope </div>
+ <div class="data" data-tag="count" data-xpath="/top/data2/contents/item[name = 'rope']/count"> 85</div>
</div>
<div class="line">
- <div class="data" data-tag="name" data-xpath="/top/data/contents/item/name" data-key="key">ladder </div>
- <div class="data" data-tag="count" data-xpath="/top/data/contents/item[name = 'ladder']/count"> 0</div>
+ <div class="data" data-tag="name" data-xpath="/top/data2/contents/item/name" data-key="key">ladder </div>
+ <div class="data" data-tag="count" data-xpath="/top/data2/contents/item[name = 'ladder']/count"> 0</div>
</div>
<div class="line">
- <div class="data" data-tag="name" data-xpath="/top/data/contents/item/name" data-key="key">bolt </div>
- <div class="data" data-tag="count" data-xpath="/top/data/contents/item[name = 'bolt']/count"> 4123</div>
+ <div class="data" data-tag="name" data-xpath="/top/data2/contents/item/name" data-key="key">bolt </div>
+ <div class="data" data-tag="count" data-xpath="/top/data2/contents/item[name = 'bolt']/count"> 4123</div>
</div>
<div class="line">
- <div class="data" data-tag="name" data-xpath="/top/data/contents/item/name" data-key="key">water </div>
- <div class="data" data-tag="count" data-xpath="/top/data/contents/item[name = 'water']/count"> 17</div>
+ <div class="data" data-tag="name" data-xpath="/top/data2/contents/item/name" data-key="key">water </div>
+ <div class="data" data-tag="count" data-xpath="/top/data2/contents/item[name = 'water']/count"> 17</div>
</div>
<div class="line">
</div>
@@ -59,27 +59,27 @@
<div class="title"> Count</div>
</div>
<div class="line">
- <div class="data" data-tag="name" data-xpath="/top/data/m1/contents/item/name" data-key="key">gum </div>
- <div class="data" data-tag="count" data-xpath="/top/data/m1/contents/item[name = 'gum']/count"> 1412</div>
+ <div class="data" data-tag="name" data-xpath="/top/data3/m1/contents/item/name" data-key="key">gum </div>
+ <div class="data" data-tag="count" data-xpath="/top/data3/m1/contents/item[name = 'gum']/count"> 1412</div>
</div>
<div class="line">
- <div class="data" data-tag="name" data-xpath="/top/data/m1/contents/item/name" data-key="key">rope </div>
- <div class="data" data-tag="count" data-xpath="/top/data/m1/contents/item[name = 'rope']/count"> 85</div>
+ <div class="data" data-tag="name" data-xpath="/top/data3/m1/contents/item/name" data-key="key">rope </div>
+ <div class="data" data-tag="count" data-xpath="/top/data3/m1/contents/item[name = 'rope']/count"> 85</div>
</div>
<div class="line">
- <div class="data" data-tag="name" data-xpath="/top/data/m1/contents/item/name" data-key="key">ladder </div>
- <div class="data" data-tag="count" data-xpath="/top/data/m1/contents/item[name = 'ladder']/count"> 0</div>
+ <div class="data" data-tag="name" data-xpath="/top/data3/m1/contents/item/name" data-key="key">ladder </div>
+ <div class="data" data-tag="count" data-xpath="/top/data3/m1/contents/item[name = 'ladder']/count"> 0</div>
</div>
<div class="line">
- <div class="data" data-tag="name" data-xpath="/top/data/m1/contents/item/name" data-key="key">bolt </div>
- <div class="data" data-tag="count" data-xpath="/top/data/m1/contents/item[name = 'bolt']/count"> 4123</div>
+ <div class="data" data-tag="name" data-xpath="/top/data3/m1/contents/item/name" data-key="key">bolt </div>
+ <div class="data" data-tag="count" data-xpath="/top/data3/m1/contents/item[name = 'bolt']/count"> 4123</div>
</div>
<div class="line">
- <div class="data" data-tag="name" data-xpath="/top/data/m1/contents/item/name" data-key="key">water </div>
- <div class="data" data-tag="count" data-xpath="/top/data/m1/contents/item[name = 'water']/count"> 17</div>
+ <div class="data" data-tag="name" data-xpath="/top/data3/m1/contents/item/name" data-key="key">water </div>
+ <div class="data" data-tag="count" data-xpath="/top/data3/m1/contents/item[name = 'water']/count"> 17</div>
</div>
<div class="line">
- <div class="data" data-tag="test" data-xpath="/top/data/m1/contents/item[name = 'water']/test">one</div>
+ <div class="data" data-tag="test" data-xpath="/top/data3/m1/contents/item[name = 'water']/test">one</div>
</div>
<div class="line">
</div>
@@ -88,177 +88,177 @@
<div class="title"> Count</div>
</div>
<div class="line">
- <div class="data" data-tag="name" data-xpath="/top/data/m1/contents/item/name" data-key="key">gum </div>
- <div class="data" data-tag="count" data-xpath="/top/data/m1/contents/item[name = 'gum']/count"> 1412</div>
+ <div class="data" data-tag="name" data-xpath="/top/data4/m1/contents/item/name" data-key="key">gum </div>
+ <div class="data" data-tag="count" data-xpath="/top/data4/m1/contents/item[name = 'gum']/count"> 1412</div>
</div>
<div class="line">
<div class="label">Name</div>
<div class="decoration">:</div>
<div class="padding"> </div>
- <div class="data" data-tag="name" data-xpath="/top/data/m1/contents/item[name = 'gum']/m2/sub/name">0</div>
+ <div class="data" data-tag="name" data-xpath="/top/data4/m1/contents/item[name = 'gum']/m2/sub/name">0</div>
<div class="text"> + 1 = </div>
- <div class="data" data-tag="next" data-xpath="/top/data/m1/contents/item[name = 'gum']/m2/sub/next">1</div>
+ <div class="data" data-tag="next" data-xpath="/top/data4/m1/contents/item[name = 'gum']/m2/sub/next">1</div>
</div>
<div class="line">
<div class="label">Name</div>
<div class="decoration">:</div>
<div class="padding"> </div>
- <div class="data" data-tag="name" data-xpath="/top/data/m1/contents/item[name = 'gum']/m2/sub/name">1</div>
+ <div class="data" data-tag="name" data-xpath="/top/data4/m1/contents/item[name = 'gum']/m2/sub/name">1</div>
<div class="text"> + 1 = </div>
- <div class="data" data-tag="next" data-xpath="/top/data/m1/contents/item[name = 'gum']/m2/sub/next">2</div>
+ <div class="data" data-tag="next" data-xpath="/top/data4/m1/contents/item[name = 'gum']/m2/sub/next">2</div>
</div>
<div class="line">
<div class="label">Name</div>
<div class="decoration">:</div>
<div class="padding"> </div>
- <div class="data" data-tag="name" data-xpath="/top/data/m1/contents/item[name = 'gum']/m2/sub/name">2</div>
+ <div class="data" data-tag="name" data-xpath="/top/data4/m1/contents/item[name = 'gum']/m2/sub/name">2</div>
<div class="text"> + 1 = </div>
- <div class="data" data-tag="next" data-xpath="/top/data/m1/contents/item[name = 'gum']/m2/sub/next">3</div>
+ <div class="data" data-tag="next" data-xpath="/top/data4/m1/contents/item[name = 'gum']/m2/sub/next">3</div>
</div>
<div class="line">
<div class="label">Last</div>
<div class="decoration">:</div>
<div class="padding"> </div>
- <div class="data" data-tag="last" data-xpath="/top/data/m1/contents/item[name = 'gum']/last">3</div>
+ <div class="data" data-tag="last" data-xpath="/top/data4/m1/contents/item[name = 'gum']/last">3</div>
</div>
<div class="line">
- <div class="data" data-tag="name" data-xpath="/top/data/m1/contents/item/name" data-key="key">rope </div>
- <div class="data" data-tag="count" data-xpath="/top/data/m1/contents/item[name = 'rope']/count"> 85</div>
+ <div class="data" data-tag="name" data-xpath="/top/data4/m1/contents/item/name" data-key="key">rope </div>
+ <div class="data" data-tag="count" data-xpath="/top/data4/m1/contents/item[name = 'rope']/count"> 85</div>
</div>
<div class="line">
<div class="label">Name</div>
<div class="decoration">:</div>
<div class="padding"> </div>
- <div class="data" data-tag="name" data-xpath="/top/data/m1/contents/item[name = 'rope']/m2/sub/name">0</div>
+ <div class="data" data-tag="name" data-xpath="/top/data4/m1/contents/item[name = 'rope']/m2/sub/name">0</div>
<div class="text"> + 1 = </div>
- <div class="data" data-tag="next" data-xpath="/top/data/m1/contents/item[name = 'rope']/m2/sub/next">1</div>
+ <div class="data" data-tag="next" data-xpath="/top/data4/m1/contents/item[name = 'rope']/m2/sub/next">1</div>
</div>
<div class="line">
<div class="label">Name</div>
<div class="decoration">:</div>
<div class="padding"> </div>
- <div class="data" data-tag="name" data-xpath="/top/data/m1/contents/item[name = 'rope']/m2/sub/name">1</div>
+ <div class="data" data-tag="name" data-xpath="/top/data4/m1/contents/item[name = 'rope']/m2/sub/name">1</div>
<div class="text"> + 1 = </div>
- <div class="data" data-tag="next" data-xpath="/top/data/m1/contents/item[name = 'rope']/m2/sub/next">2</div>
+ <div class="data" data-tag="next" data-xpath="/top/data4/m1/contents/item[name = 'rope']/m2/sub/next">2</div>
</div>
<div class="line">
<div class="label">Name</div>
<div class="decoration">:</div>
<div class="padding"> </div>
- <div class="data" data-tag="name" data-xpath="/top/data/m1/contents/item[name = 'rope']/m2/sub/name">2</div>
+ <div class="data" data-tag="name" data-xpath="/top/data4/m1/contents/item[name = 'rope']/m2/sub/name">2</div>
<div class="text"> + 1 = </div>
- <div class="data" data-tag="next" data-xpath="/top/data/m1/contents/item[name = 'rope']/m2/sub/next">3</div>
+ <div class="data" data-tag="next" data-xpath="/top/data4/m1/contents/item[name = 'rope']/m2/sub/next">3</div>
</div>
<div class="line">
<div class="label">Last</div>
<div class="decoration">:</div>
<div class="padding"> </div>
- <div class="data" data-tag="last" data-xpath="/top/data/m1/contents/item[name = 'rope']/last">3</div>
+ <div class="data" data-tag="last" data-xpath="/top/data4/m1/contents/item[name = 'rope']/last">3</div>
</div>
<div class="line">
- <div class="data" data-tag="name" data-xpath="/top/data/m1/contents/item/name" data-key="key">ladder </div>
- <div class="data" data-tag="count" data-xpath="/top/data/m1/contents/item[name = 'ladder']/count"> 0</div>
+ <div class="data" data-tag="name" data-xpath="/top/data4/m1/contents/item/name" data-key="key">ladder </div>
+ <div class="data" data-tag="count" data-xpath="/top/data4/m1/contents/item[name = 'ladder']/count"> 0</div>
</div>
<div class="line">
<div class="label">Name</div>
<div class="decoration">:</div>
<div class="padding"> </div>
- <div class="data" data-tag="name" data-xpath="/top/data/m1/contents/item[name = 'ladder']/m2/sub/name">0</div>
+ <div class="data" data-tag="name" data-xpath="/top/data4/m1/contents/item[name = 'ladder']/m2/sub/name">0</div>
<div class="text"> + 1 = </div>
- <div class="data" data-tag="next" data-xpath="/top/data/m1/contents/item[name = 'ladder']/m2/sub/next">1</div>
+ <div class="data" data-tag="next" data-xpath="/top/data4/m1/contents/item[name = 'ladder']/m2/sub/next">1</div>
</div>
<div class="line">
<div class="label">Name</div>
<div class="decoration">:</div>
<div class="padding"> </div>
- <div class="data" data-tag="name" data-xpath="/top/data/m1/contents/item[name = 'ladder']/m2/sub/name">1</div>
+ <div class="data" data-tag="name" data-xpath="/top/data4/m1/contents/item[name = 'ladder']/m2/sub/name">1</div>
<div class="text"> + 1 = </div>
- <div class="data" data-tag="next" data-xpath="/top/data/m1/contents/item[name = 'ladder']/m2/sub/next">2</div>
+ <div class="data" data-tag="next" data-xpath="/top/data4/m1/contents/item[name = 'ladder']/m2/sub/next">2</div>
</div>
<div class="line">
<div class="label">Name</div>
<div class="decoration">:</div>
<div class="padding"> </div>
- <div class="data" data-tag="name" data-xpath="/top/data/m1/contents/item[name = 'ladder']/m2/sub/name">2</div>
+ <div class="data" data-tag="name" data-xpath="/top/data4/m1/contents/item[name = 'ladder']/m2/sub/name">2</div>
<div class="text"> + 1 = </div>
- <div class="data" data-tag="next" data-xpath="/top/data/m1/contents/item[name = 'ladder']/m2/sub/next">3</div>
+ <div class="data" data-tag="next" data-xpath="/top/data4/m1/contents/item[name = 'ladder']/m2/sub/next">3</div>
</div>
<div class="line">
<div class="label">Last</div>
<div class="decoration">:</div>
<div class="padding"> </div>
- <div class="data" data-tag="last" data-xpath="/top/data/m1/contents/item[name = 'ladder']/last">3</div>
+ <div class="data" data-tag="last" data-xpath="/top/data4/m1/contents/item[name = 'ladder']/last">3</div>
</div>
<div class="line">
- <div class="data" data-tag="name" data-xpath="/top/data/m1/contents/item/name" data-key="key">bolt </div>
- <div class="data" data-tag="count" data-xpath="/top/data/m1/contents/item[name = 'bolt']/count"> 4123</div>
+ <div class="data" data-tag="name" data-xpath="/top/data4/m1/contents/item/name" data-key="key">bolt </div>
+ <div class="data" data-tag="count" data-xpath="/top/data4/m1/contents/item[name = 'bolt']/count"> 4123</div>
</div>
<div class="line">
<div class="label">Name</div>
<div class="decoration">:</div>
<div class="padding"> </div>
- <div class="data" data-tag="name" data-xpath="/top/data/m1/contents/item[name = 'bolt']/m2/sub/name">0</div>
+ <div class="data" data-tag="name" data-xpath="/top/data4/m1/contents/item[name = 'bolt']/m2/sub/name">0</div>
<div class="text"> + 1 = </div>
- <div class="data" data-tag="next" data-xpath="/top/data/m1/contents/item[name = 'bolt']/m2/sub/next">1</div>
+ <div class="data" data-tag="next" data-xpath="/top/data4/m1/contents/item[name = 'bolt']/m2/sub/next">1</div>
</div>
<div class="line">
<div class="label">Name</div>
<div class="decoration">:</div>
<div class="padding"> </div>
- <div class="data" data-tag="name" data-xpath="/top/data/m1/contents/item[name = 'bolt']/m2/sub/name">1</div>
+ <div class="data" data-tag="name" data-xpath="/top/data4/m1/contents/item[name = 'bolt']/m2/sub/name">1</div>
<div class="text"> + 1 = </div>
- <div class="data" data-tag="next" data-xpath="/top/data/m1/contents/item[name = 'bolt']/m2/sub/next">2</div>
+ <div class="data" data-tag="next" data-xpath="/top/data4/m1/contents/item[name = 'bolt']/m2/sub/next">2</div>
</div>
<div class="line">
<div class="label">Name</div>
<div class="decoration">:</div>
<div class="padding"> </div>
- <div class="data" data-tag="name" data-xpath="/top/data/m1/contents/item[name = 'bolt']/m2/sub/name">2</div>
+ <div class="data" data-tag="name" data-xpath="/top/data4/m1/contents/item[name = 'bolt']/m2/sub/name">2</div>
<div class="text"> + 1 = </div>
- <div class="data" data-tag="next" data-xpath="/top/data/m1/contents/item[name = 'bolt']/m2/sub/next">3</div>
+ <div class="data" data-tag="next" data-xpath="/top/data4/m1/contents/item[name = 'bolt']/m2/sub/next">3</div>
</div>
<div class="line">
<div class="label">Last</div>
<div class="decoration">:</div>
<div class="padding"> </div>
- <div class="data" data-tag="last" data-xpath="/top/data/m1/contents/item[name = 'bolt']/last">3</div>
+ <div class="data" data-tag="last" data-xpath="/top/data4/m1/contents/item[name = 'bolt']/last">3</div>
</div>
<div class="line">
- <div class="data" data-tag="name" data-xpath="/top/data/m1/contents/item/name" data-key="key">water </div>
- <div class="data" data-tag="count" data-xpath="/top/data/m1/contents/item[name = 'water']/count"> 17</div>
+ <div class="data" data-tag="name" data-xpath="/top/data4/m1/contents/item/name" data-key="key">water </div>
+ <div class="data" data-tag="count" data-xpath="/top/data4/m1/contents/item[name = 'water']/count"> 17</div>
</div>
<div class="line">
<div class="label">Name</div>
<div class="decoration">:</div>
<div class="padding"> </div>
- <div class="data" data-tag="name" data-xpath="/top/data/m1/contents/item[name = 'water']/m2/sub/name">0</div>
+ <div class="data" data-tag="name" data-xpath="/top/data4/m1/contents/item[name = 'water']/m2/sub/name">0</div>
<div class="text"> + 1 = </div>
- <div class="data" data-tag="next" data-xpath="/top/data/m1/contents/item[name = 'water']/m2/sub/next">1</div>
+ <div class="data" data-tag="next" data-xpath="/top/data4/m1/contents/item[name = 'water']/m2/sub/next">1</div>
</div>
<div class="line">
<div class="label">Name</div>
<div class="decoration">:</div>
<div class="padding"> </div>
- <div class="data" data-tag="name" data-xpath="/top/data/m1/contents/item[name = 'water']/m2/sub/name">1</div>
+ <div class="data" data-tag="name" data-xpath="/top/data4/m1/contents/item[name = 'water']/m2/sub/name">1</div>
<div class="text"> + 1 = </div>
- <div class="data" data-tag="next" data-xpath="/top/data/m1/contents/item[name = 'water']/m2/sub/next">2</div>
+ <div class="data" data-tag="next" data-xpath="/top/data4/m1/contents/item[name = 'water']/m2/sub/next">2</div>
</div>
<div class="line">
<div class="label">Name</div>
<div class="decoration">:</div>
<div class="padding"> </div>
- <div class="data" data-tag="name" data-xpath="/top/data/m1/contents/item[name = 'water']/m2/sub/name">2</div>
+ <div class="data" data-tag="name" data-xpath="/top/data4/m1/contents/item[name = 'water']/m2/sub/name">2</div>
<div class="text"> + 1 = </div>
- <div class="data" data-tag="next" data-xpath="/top/data/m1/contents/item[name = 'water']/m2/sub/next">3</div>
+ <div class="data" data-tag="next" data-xpath="/top/data4/m1/contents/item[name = 'water']/m2/sub/next">3</div>
</div>
<div class="line">
<div class="label">Last</div>
<div class="decoration">:</div>
<div class="padding"> </div>
- <div class="data" data-tag="last" data-xpath="/top/data/m1/contents/item[name = 'water']/last">3</div>
+ <div class="data" data-tag="last" data-xpath="/top/data4/m1/contents/item[name = 'water']/last">3</div>
</div>
<div class="line">
- <div class="data" data-tag="test" data-xpath="/top/data/m1/contents/item[name = 'water']/test">one</div>
+ <div class="data" data-tag="test" data-xpath="/top/data4/m1/contents/item[name = 'water']/test">one</div>
</div>
<div class="line">
</div>
diff --git a/contrib/libxo/tests/core/saved/test_08.HP.err b/contrib/libxo/tests/core/saved/test_08.HP.err
index 445bfb7..011858c 100644
--- a/contrib/libxo/tests/core/saved/test_08.HP.err
+++ b/contrib/libxo/tests/core/saved/test_08.HP.err
@@ -1,18 +1,18 @@
-test: close (xo_close_container) fails at marker 'm1'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm1'; not found 'data'
+test: close (xo_close_container) fails at marker 'm1'; not found 'data3'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm1'; not found 'data4'
test: close (xo_close_container) fails at marker 'm1'; not found 'top'
diff --git a/contrib/libxo/tests/core/saved/test_08.J.err b/contrib/libxo/tests/core/saved/test_08.J.err
index 445bfb7..011858c 100644
--- a/contrib/libxo/tests/core/saved/test_08.J.err
+++ b/contrib/libxo/tests/core/saved/test_08.J.err
@@ -1,18 +1,18 @@
-test: close (xo_close_container) fails at marker 'm1'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm1'; not found 'data'
+test: close (xo_close_container) fails at marker 'm1'; not found 'data3'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm1'; not found 'data4'
test: close (xo_close_container) fails at marker 'm1'; not found 'top'
diff --git a/contrib/libxo/tests/core/saved/test_08.J.out b/contrib/libxo/tests/core/saved/test_08.J.out
index cbce091..9d89755 100644
--- a/contrib/libxo/tests/core/saved/test_08.J.out
+++ b/contrib/libxo/tests/core/saved/test_08.J.out
@@ -1,2 +1,2 @@
-{"top": {"data": {"contents": {"item": [{"name":"gum","count":1412}, {"name":"rope","count":85}, {"name":"ladder","count":0}, {"name":"bolt","count":4123}, {"name":"water","count":17}]}}, "data": {"contents": {"item": [{"name":"gum","count":1412}, {"name":"rope","count":85}, {"name":"ladder","count":0}, {"name":"bolt","count":4123}, {"name":"water","count":17}]}}, "data": {"contents": {"item": [{"name":"gum","count":1412}, {"name":"rope","count":85}, {"name":"ladder","count":0}, {"name":"bolt","count":4123}, {"name":"water","count":17,"test":"one"}]}}, "data": {"contents": {"item": [{"name":"gum","count":1412, "sub": [{"name":0,"next":1}, {"name":1,"next":2}, {"name":2,"next":3}],"last":3}, {"name":"rope","count":85, "sub": [{"name":0,"next":1}, {"name":1,"next":2}, {"name":2,"next":3}],"last":3}, {"name":"ladder","count":0, "sub": [{"name":0,"next":1}, {"name":1,"next":2}, {"name":2,"next":3}],"last":3}, {"name":"bolt","count":4123, "sub": [{"name":0,"next":1}, {"name":1,"next":2}, {"name":2,"next":3}],"last":3}, {"name":"water","count":17, "sub": [{"name":0,"next":1}, {"name":1,"next":2}, {"name":2,"next":3}],"last":3,"test":"one"}]}}}
+{"top": {"data": {"contents": {"item": [{"name":"gum","count":1412}, {"name":"rope","count":85}, {"name":"ladder","count":0}, {"name":"bolt","count":4123}, {"name":"water","count":17}]}}, "data2": {"contents": {"item": [{"name":"gum","count":1412}, {"name":"rope","count":85}, {"name":"ladder","count":0}, {"name":"bolt","count":4123}, {"name":"water","count":17}]}}, "data3": {"contents": {"item": [{"name":"gum","count":1412}, {"name":"rope","count":85}, {"name":"ladder","count":0}, {"name":"bolt","count":4123}, {"name":"water","count":17,"test":"one"}]}}, "data4": {"contents": {"item": [{"name":"gum","count":1412, "sub": [{"name":0,"next":1}, {"name":1,"next":2}, {"name":2,"next":3}],"last":3}, {"name":"rope","count":85, "sub": [{"name":0,"next":1}, {"name":1,"next":2}, {"name":2,"next":3}],"last":3}, {"name":"ladder","count":0, "sub": [{"name":0,"next":1}, {"name":1,"next":2}, {"name":2,"next":3}],"last":3}, {"name":"bolt","count":4123, "sub": [{"name":0,"next":1}, {"name":1,"next":2}, {"name":2,"next":3}],"last":3}, {"name":"water","count":17, "sub": [{"name":0,"next":1}, {"name":1,"next":2}, {"name":2,"next":3}],"last":3,"test":"one"}]}}}
}
diff --git a/contrib/libxo/tests/core/saved/test_08.JP.err b/contrib/libxo/tests/core/saved/test_08.JP.err
index 445bfb7..011858c 100644
--- a/contrib/libxo/tests/core/saved/test_08.JP.err
+++ b/contrib/libxo/tests/core/saved/test_08.JP.err
@@ -1,18 +1,18 @@
-test: close (xo_close_container) fails at marker 'm1'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm1'; not found 'data'
+test: close (xo_close_container) fails at marker 'm1'; not found 'data3'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm1'; not found 'data4'
test: close (xo_close_container) fails at marker 'm1'; not found 'top'
diff --git a/contrib/libxo/tests/core/saved/test_08.JP.out b/contrib/libxo/tests/core/saved/test_08.JP.out
index 932d6a1..46f3de5 100644
--- a/contrib/libxo/tests/core/saved/test_08.JP.out
+++ b/contrib/libxo/tests/core/saved/test_08.JP.out
@@ -26,7 +26,7 @@
]
}
},
- "data": {
+ "data2": {
"contents": {
"item": [
{
@@ -52,7 +52,7 @@
]
}
},
- "data": {
+ "data3": {
"contents": {
"item": [
{
@@ -79,7 +79,7 @@
]
}
},
- "data": {
+ "data4": {
"contents": {
"item": [
{
diff --git a/contrib/libxo/tests/core/saved/test_08.T.err b/contrib/libxo/tests/core/saved/test_08.T.err
index 445bfb7..011858c 100644
--- a/contrib/libxo/tests/core/saved/test_08.T.err
+++ b/contrib/libxo/tests/core/saved/test_08.T.err
@@ -1,18 +1,18 @@
-test: close (xo_close_container) fails at marker 'm1'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm1'; not found 'data'
+test: close (xo_close_container) fails at marker 'm1'; not found 'data3'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm1'; not found 'data4'
test: close (xo_close_container) fails at marker 'm1'; not found 'top'
diff --git a/contrib/libxo/tests/core/saved/test_08.X.err b/contrib/libxo/tests/core/saved/test_08.X.err
index 445bfb7..011858c 100644
--- a/contrib/libxo/tests/core/saved/test_08.X.err
+++ b/contrib/libxo/tests/core/saved/test_08.X.err
@@ -1,18 +1,18 @@
-test: close (xo_close_container) fails at marker 'm1'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm1'; not found 'data'
+test: close (xo_close_container) fails at marker 'm1'; not found 'data3'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm1'; not found 'data4'
test: close (xo_close_container) fails at marker 'm1'; not found 'top'
diff --git a/contrib/libxo/tests/core/saved/test_08.X.out b/contrib/libxo/tests/core/saved/test_08.X.out
index 5eb72b2..b8ee392 100644
--- a/contrib/libxo/tests/core/saved/test_08.X.out
+++ b/contrib/libxo/tests/core/saved/test_08.X.out
@@ -1 +1 @@
-<top><data><contents><item><name key="key">gum</name><count>1412</count></item><item><name key="key">rope</name><count>85</count></item><item><name key="key">ladder</name><count>0</count></item><item><name key="key">bolt</name><count>4123</count></item><item><name key="key">water</name><count>17</count></item></contents></data><data><contents><item><name key="key">gum</name><count>1412</count></item><item><name key="key">rope</name><count>85</count></item><item><name key="key">ladder</name><count>0</count></item><item><name key="key">bolt</name><count>4123</count></item><item><name key="key">water</name><count>17</count></item></contents></data><data><contents><item><name key="key">gum</name><count>1412</count></item><item><name key="key">rope</name><count>85</count></item><item><name key="key">ladder</name><count>0</count></item><item><name key="key">bolt</name><count>4123</count></item><item><name key="key">water</name><count>17</count><test>one</test></item></contents></data><data><contents><item><name key="key">gum</name><count>1412</count><sub><name>0</name><next>1</next></sub><sub><name>1</name><next>2</next></sub><sub><name>2</name><next>3</next></sub><last>3</last></item><item><name key="key">rope</name><count>85</count><sub><name>0</name><next>1</next></sub><sub><name>1</name><next>2</next></sub><sub><name>2</name><next>3</next></sub><last>3</last></item><item><name key="key">ladder</name><count>0</count><sub><name>0</name><next>1</next></sub><sub><name>1</name><next>2</next></sub><sub><name>2</name><next>3</next></sub><last>3</last></item><item><name key="key">bolt</name><count>4123</count><sub><name>0</name><next>1</next></sub><sub><name>1</name><next>2</next></sub><sub><name>2</name><next>3</next></sub><last>3</last></item><item><name key="key">water</name><count>17</count><sub><name>0</name><next>1</next></sub><sub><name>1</name><next>2</next></sub><sub><name>2</name><next>3</next></sub><last>3</last><test>one</test></item></contents></data></top> \ No newline at end of file
+<top><data><contents><item><name key="key">gum</name><count>1412</count></item><item><name key="key">rope</name><count>85</count></item><item><name key="key">ladder</name><count>0</count></item><item><name key="key">bolt</name><count>4123</count></item><item><name key="key">water</name><count>17</count></item></contents></data><data2><contents><item><name key="key">gum</name><count>1412</count></item><item><name key="key">rope</name><count>85</count></item><item><name key="key">ladder</name><count>0</count></item><item><name key="key">bolt</name><count>4123</count></item><item><name key="key">water</name><count>17</count></item></contents></data2><data3><contents><item><name key="key">gum</name><count>1412</count></item><item><name key="key">rope</name><count>85</count></item><item><name key="key">ladder</name><count>0</count></item><item><name key="key">bolt</name><count>4123</count></item><item><name key="key">water</name><count>17</count><test>one</test></item></contents></data3><data4><contents><item><name key="key">gum</name><count>1412</count><sub><name>0</name><next>1</next></sub><sub><name>1</name><next>2</next></sub><sub><name>2</name><next>3</next></sub><last>3</last></item><item><name key="key">rope</name><count>85</count><sub><name>0</name><next>1</next></sub><sub><name>1</name><next>2</next></sub><sub><name>2</name><next>3</next></sub><last>3</last></item><item><name key="key">ladder</name><count>0</count><sub><name>0</name><next>1</next></sub><sub><name>1</name><next>2</next></sub><sub><name>2</name><next>3</next></sub><last>3</last></item><item><name key="key">bolt</name><count>4123</count><sub><name>0</name><next>1</next></sub><sub><name>1</name><next>2</next></sub><sub><name>2</name><next>3</next></sub><last>3</last></item><item><name key="key">water</name><count>17</count><sub><name>0</name><next>1</next></sub><sub><name>1</name><next>2</next></sub><sub><name>2</name><next>3</next></sub><last>3</last><test>one</test></item></contents></data4></top> \ No newline at end of file
diff --git a/contrib/libxo/tests/core/saved/test_08.XP.err b/contrib/libxo/tests/core/saved/test_08.XP.err
index 445bfb7..011858c 100644
--- a/contrib/libxo/tests/core/saved/test_08.XP.err
+++ b/contrib/libxo/tests/core/saved/test_08.XP.err
@@ -1,18 +1,18 @@
-test: close (xo_close_container) fails at marker 'm1'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm2'; not found 'data'
-test: close (xo_close_container) fails at marker 'm1'; not found 'data'
+test: close (xo_close_container) fails at marker 'm1'; not found 'data3'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm2'; not found 'data4'
+test: close (xo_close_container) fails at marker 'm1'; not found 'data4'
test: close (xo_close_container) fails at marker 'm1'; not found 'top'
diff --git a/contrib/libxo/tests/core/saved/test_08.XP.out b/contrib/libxo/tests/core/saved/test_08.XP.out
index 99520c0..1d9b70f 100644
--- a/contrib/libxo/tests/core/saved/test_08.XP.out
+++ b/contrib/libxo/tests/core/saved/test_08.XP.out
@@ -23,7 +23,7 @@
</item>
</contents>
</data>
- <data>
+ <data2>
<contents>
<item>
<name key="key">gum</name>
@@ -46,8 +46,8 @@
<count>17</count>
</item>
</contents>
- </data>
- <data>
+ </data2>
+ <data3>
<contents>
<item>
<name key="key">gum</name>
@@ -71,8 +71,8 @@
<test>one</test>
</item>
</contents>
- </data>
- <data>
+ </data3>
+ <data4>
<contents>
<item>
<name key="key">gum</name>
@@ -161,5 +161,5 @@
<test>one</test>
</item>
</contents>
- </data>
+ </data4>
</top>
diff --git a/contrib/libxo/tests/core/saved/test_09.E.err b/contrib/libxo/tests/core/saved/test_09.E.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/contrib/libxo/tests/core/saved/test_09.E.err
diff --git a/contrib/libxo/tests/core/saved/test_09.E.out b/contrib/libxo/tests/core/saved/test_09.E.out
new file mode 100644
index 0000000..bb808d5
--- /dev/null
+++ b/contrib/libxo/tests/core/saved/test_09.E.out
@@ -0,0 +1,40 @@
+op create: [] []
+op open_container: [top] []
+op open_container: [data] []
+op open_container: [contents] []
+op open_leaf_list: [name] []
+op string: [name] [gum]
+op string: [name] [rope]
+op string: [name] [ladder]
+op string: [name] [bolt]
+op string: [name] [water]
+op close_leaf_list: [name] []
+op close_container: [contents] []
+op open_container: [contents] []
+op open_leaf_list: [item] []
+op string: [item] [gum]
+op string: [item] [rope]
+op string: [item] [ladder]
+op string: [item] [bolt]
+op string: [item] [water]
+op close_leaf_list: [item] []
+op close_container: [contents] []
+op open_container: [contents] []
+op open_list: [item] []
+op string: [item] [gum]
+op string: [item] [rope]
+op string: [item] [ladder]
+op string: [item] [bolt]
+op string: [item] [water]
+op close_list: [item] []
+op string: [total] [six]
+op string: [one] [one]
+op open_leaf_list: [two] []
+op string: [two] [two]
+op close_leaf_list: [two] []
+op string: [three] [three]
+op close_container: [contents] []
+op close_container: [data] []
+op close_container: [top] []
+op finish: [] []
+op flush: [] []
diff --git a/contrib/libxo/tests/core/saved/test_10.E.err b/contrib/libxo/tests/core/saved/test_10.E.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/contrib/libxo/tests/core/saved/test_10.E.err
diff --git a/contrib/libxo/tests/core/saved/test_10.E.out b/contrib/libxo/tests/core/saved/test_10.E.out
new file mode 100644
index 0000000..4f21cda
--- /dev/null
+++ b/contrib/libxo/tests/core/saved/test_10.E.out
@@ -0,0 +1,126 @@
+op create: [] []
+op version: [] [3.1.4]
+op open_container: [top] []
+op attr: [test] [value]
+op open_container: [data] []
+op open_list: [item] []
+op attr: [test2] [value2]
+op close_list: [item] []
+op string: [data] [bold]
+op string: [data] [bold-ul]
+op string: [data] [triple]
+op string: [data] [inv-ul]
+op string: [data] [underline]
+op string: [data] [plain]
+op open_list: [item] []
+op open_instance: [item] []
+op attr: [test3] [value3]
+op string: [sku] [GRO-000-415]
+op string: [name] [gum]
+op content: [sold] [1412]
+op content: [in-stock] [54]
+op content: [on-order] [10]
+op close_instance: [item] []
+op open_instance: [item] []
+op attr: [test3] [value3]
+op string: [sku] [HRD-000-212]
+op string: [name] [rope]
+op content: [sold] [85]
+op content: [in-stock] [4]
+op content: [on-order] [2]
+op close_instance: [item] []
+op open_instance: [item] []
+op attr: [test3] [value3]
+op string: [sku] [HRD-000-517]
+op string: [name] [ladder]
+op content: [sold] [0]
+op content: [in-stock] [2]
+op content: [on-order] [1]
+op close_instance: [item] []
+op open_instance: [item] []
+op attr: [test3] [value3]
+op string: [sku] [HRD-000-632]
+op string: [name] [bolt]
+op content: [sold] [4123]
+op content: [in-stock] [144]
+op content: [on-order] [42]
+op close_instance: [item] []
+op open_instance: [item] []
+op attr: [test3] [value3]
+op string: [sku] [GRO-000-2331]
+op string: [name] [water]
+op content: [sold] [17]
+op content: [in-stock] [14]
+op content: [on-order] [2]
+op close_instance: [item] []
+op close_list: [item] []
+op close_container: [data] []
+op open_container: [data] []
+op open_list: [item] []
+op open_instance: [item] []
+op string: [sku] [GRO-000-415]
+op string: [name] [gum]
+op content: [sold] [1412.0]
+op content: [in-stock] [54]
+op content: [on-order] [10]
+op close_instance: [item] []
+op open_instance: [item] []
+op string: [sku] [HRD-000-212]
+op string: [name] [rope]
+op content: [sold] [85.0]
+op content: [in-stock] [4]
+op content: [on-order] [2]
+op close_instance: [item] []
+op open_instance: [item] []
+op string: [sku] [HRD-000-517]
+op string: [name] [ladder]
+op content: [sold] [0]
+op content: [in-stock] [2]
+op content: [on-order] [1]
+op close_instance: [item] []
+op open_instance: [item] []
+op string: [sku] [HRD-000-632]
+op string: [name] [bolt]
+op content: [sold] [4123.0]
+op content: [in-stock] [144]
+op content: [on-order] [42]
+op close_instance: [item] []
+op open_instance: [item] []
+op string: [sku] [GRO-000-2331]
+op string: [name] [water]
+op content: [sold] [17.0]
+op content: [in-stock] [14]
+op content: [on-order] [2]
+op close_instance: [item] []
+op close_list: [item] []
+op close_container: [data] []
+op open_container: [data] []
+op open_list: [item] []
+op open_instance: [item] []
+op string: [sku] [GRO-000-533]
+op string: [name] [fish]
+op content: [sold] [1321.0]
+op content: [in-stock] [45]
+op content: [on-order] [1]
+op close_instance: [item] []
+op close_list: [item] []
+op close_container: [data] []
+op open_container: [data] []
+op open_list: [item] []
+op attr: [test4] [value4]
+op string: [item] [gum]
+op attr: [test4] [value4]
+op string: [item] [rope]
+op attr: [test4] [value4]
+op string: [item] [ladder]
+op attr: [test4] [value4]
+op string: [item] [bolt]
+op attr: [test4] [value4]
+op string: [item] [water]
+op close_list: [item] []
+op close_container: [data] []
+op content: [cost] [425]
+op content: [cost] [455]
+op close_container: [top] []
+op finish: [] []
+op flush: [] []
diff --git a/contrib/libxo/tests/core/saved/test_11.E.err b/contrib/libxo/tests/core/saved/test_11.E.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/contrib/libxo/tests/core/saved/test_11.E.err
diff --git a/contrib/libxo/tests/core/saved/test_11.E.out b/contrib/libxo/tests/core/saved/test_11.E.out
new file mode 100644
index 0000000..9fd70fa
--- /dev/null
+++ b/contrib/libxo/tests/core/saved/test_11.E.out
@@ -0,0 +1,26 @@
+op create: [] []
+op version: [] [3.1.4]
+op open_container: [top] []
+op create: [] []
+{{<14>1 2015-06-23T13:47:09.123-0500 worker-host test-program 222 animal-status [animal-status@42 animal="snake" state="loose"] The snake is loose}}
+{{test-program: }}
+{{The snake is loose}}
+
+op create: [] []
+{{<22>1 2015-06-23T13:47:09.123-0500 worker-host test-program 222 animal-consumed [animal-consumed@42 animal="snake" pet="hamster"] My snake ate your hamster}}
+{{test-program: }}
+{{My snake ate your hamster}}
+
+op create: [] []
+{{<29>1 2015-06-23T13:47:09.123-0500 worker-host test-program 222 animal-talk [animal-talk@42 count="1" animal="owl" quote="\"e=m\\c[2\]\""] 1 owl said "e=m\c[2]"}}
+{{test-program: }}
+{{1 owl said "e=m\c[2]"}}
+
+op create: [] []
+{{<165>1 2015-06-23T13:47:09.123-0500 worker-host test-program 222 ID47 [ID47@32473 iut="3" event-source="application" event-id="1011"] An application 1011 log entry}}
+{{test-program: }}
+{{An application 1011 log entry}}
+
+op close_container: [top] []
+op finish: [] []
+op flush: [] []
diff --git a/contrib/libxo/tests/core/saved/test_11.H.err b/contrib/libxo/tests/core/saved/test_11.H.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/contrib/libxo/tests/core/saved/test_11.H.err
diff --git a/contrib/libxo/tests/core/saved/test_11.H.out b/contrib/libxo/tests/core/saved/test_11.H.out
new file mode 100644
index 0000000..0786c34
--- /dev/null
+++ b/contrib/libxo/tests/core/saved/test_11.H.out
@@ -0,0 +1,16 @@
+{{<14>1 2015-06-23T13:47:09.123-0500 worker-host test-program 222 animal-status [animal-status@42 animal="snake" state="loose"] The snake is loose}}
+{{test-program: }}
+{{The snake is loose}}
+
+{{<22>1 2015-06-23T13:47:09.123-0500 worker-host test-program 222 animal-consumed [animal-consumed@42 animal="snake" pet="hamster"] My snake ate your hamster}}
+{{test-program: }}
+{{My snake ate your hamster}}
+
+{{<29>1 2015-06-23T13:47:09.123-0500 worker-host test-program 222 animal-talk [animal-talk@42 count="1" animal="owl" quote="\"e=m\\c[2\]\""] 1 owl said "e=m\c[2]"}}
+{{test-program: }}
+{{1 owl said "e=m\c[2]"}}
+
+{{<165>1 2015-06-23T13:47:09.123-0500 worker-host test-program 222 ID47 [ID47@32473 iut="3" event-source="application" event-id="1011"] An application 1011 log entry}}
+{{test-program: }}
+{{An application 1011 log entry}}
+
diff --git a/contrib/libxo/tests/core/saved/test_11.HIPx.err b/contrib/libxo/tests/core/saved/test_11.HIPx.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/contrib/libxo/tests/core/saved/test_11.HIPx.err
diff --git a/contrib/libxo/tests/core/saved/test_11.HIPx.out b/contrib/libxo/tests/core/saved/test_11.HIPx.out
new file mode 100644
index 0000000..8b726f4
--- /dev/null
+++ b/contrib/libxo/tests/core/saved/test_11.HIPx.out
@@ -0,0 +1,16 @@
+{{<14>1 2015-06-23T13:47:09.123-0500 worker-host test-program 222 animal-status [animal-status@42 animal="" state=""] The snake is loose}}
+{{test-program: }}
+{{The snake is loose}}
+
+{{<22>1 2015-06-23T13:47:09.123-0500 worker-host test-program 222 animal-consumed [animal-consumed@42 animal="" pet=""] My snake ate your hamster}}
+{{test-program: }}
+{{My snake ate your hamster}}
+
+{{<29>1 2015-06-23T13:47:09.123-0500 worker-host test-program 222 animal-talk [animal-talk@42 count="" animal="" quote=""] 1 owl said "e=m\c[2]"}}
+{{test-program: }}
+{{1 owl said "e=m\c[2]"}}
+
+{{<165>1 2015-06-23T13:47:09.123-0500 worker-host test-program 222 ID47 [ID47@32473 iut="" event-source="" event-id=""] An application 1011 log entry}}
+{{test-program: }}
+{{An application 1011 log entry}}
+
diff --git a/contrib/libxo/tests/core/saved/test_11.HP.err b/contrib/libxo/tests/core/saved/test_11.HP.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/contrib/libxo/tests/core/saved/test_11.HP.err
diff --git a/contrib/libxo/tests/core/saved/test_11.HP.out b/contrib/libxo/tests/core/saved/test_11.HP.out
new file mode 100644
index 0000000..0786c34
--- /dev/null
+++ b/contrib/libxo/tests/core/saved/test_11.HP.out
@@ -0,0 +1,16 @@
+{{<14>1 2015-06-23T13:47:09.123-0500 worker-host test-program 222 animal-status [animal-status@42 animal="snake" state="loose"] The snake is loose}}
+{{test-program: }}
+{{The snake is loose}}
+
+{{<22>1 2015-06-23T13:47:09.123-0500 worker-host test-program 222 animal-consumed [animal-consumed@42 animal="snake" pet="hamster"] My snake ate your hamster}}
+{{test-program: }}
+{{My snake ate your hamster}}
+
+{{<29>1 2015-06-23T13:47:09.123-0500 worker-host test-program 222 animal-talk [animal-talk@42 count="1" animal="owl" quote="\"e=m\\c[2\]\""] 1 owl said "e=m\c[2]"}}
+{{test-program: }}
+{{1 owl said "e=m\c[2]"}}
+
+{{<165>1 2015-06-23T13:47:09.123-0500 worker-host test-program 222 ID47 [ID47@32473 iut="3" event-source="application" event-id="1011"] An application 1011 log entry}}
+{{test-program: }}
+{{An application 1011 log entry}}
+
diff --git a/contrib/libxo/tests/core/saved/test_11.J.err b/contrib/libxo/tests/core/saved/test_11.J.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/contrib/libxo/tests/core/saved/test_11.J.err
diff --git a/contrib/libxo/tests/core/saved/test_11.J.out b/contrib/libxo/tests/core/saved/test_11.J.out
new file mode 100644
index 0000000..4eb7105
--- /dev/null
+++ b/contrib/libxo/tests/core/saved/test_11.J.out
@@ -0,0 +1,18 @@
+{{<14>1 2015-06-23T13:47:09.123-0500 worker-host test-program 222 animal-status [animal-status@42 animal="snake" state="loose"] The snake is loose}}
+{{test-program: }}
+{{The snake is loose}}
+
+{{<22>1 2015-06-23T13:47:09.123-0500 worker-host test-program 222 animal-consumed [animal-consumed@42 animal="snake" pet="hamster"] My snake ate your hamster}}
+{{test-program: }}
+{{My snake ate your hamster}}
+
+{{<29>1 2015-06-23T13:47:09.123-0500 worker-host test-program 222 animal-talk [animal-talk@42 count="1" animal="owl" quote="\"e=m\\c[2\]\""] 1 owl said "e=m\c[2]"}}
+{{test-program: }}
+{{1 owl said "e=m\c[2]"}}
+
+{{<165>1 2015-06-23T13:47:09.123-0500 worker-host test-program 222 ID47 [ID47@32473 iut="3" event-source="application" event-id="1011"] An application 1011 log entry}}
+{{test-program: }}
+{{An application 1011 log entry}}
+
+{"__version": "3.1.4", "top": {}
+}
diff --git a/contrib/libxo/tests/core/saved/test_11.JP.err b/contrib/libxo/tests/core/saved/test_11.JP.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/contrib/libxo/tests/core/saved/test_11.JP.err
diff --git a/contrib/libxo/tests/core/saved/test_11.JP.out b/contrib/libxo/tests/core/saved/test_11.JP.out
new file mode 100644
index 0000000..f82139b
--- /dev/null
+++ b/contrib/libxo/tests/core/saved/test_11.JP.out
@@ -0,0 +1,22 @@
+{{<14>1 2015-06-23T13:47:09.123-0500 worker-host test-program 222 animal-status [animal-status@42 animal="snake" state="loose"] The snake is loose}}
+{{test-program: }}
+{{The snake is loose}}
+
+{{<22>1 2015-06-23T13:47:09.123-0500 worker-host test-program 222 animal-consumed [animal-consumed@42 animal="snake" pet="hamster"] My snake ate your hamster}}
+{{test-program: }}
+{{My snake ate your hamster}}
+
+{{<29>1 2015-06-23T13:47:09.123-0500 worker-host test-program 222 animal-talk [animal-talk@42 count="1" animal="owl" quote="\"e=m\\c[2\]\""] 1 owl said "e=m\c[2]"}}
+{{test-program: }}
+{{1 owl said "e=m\c[2]"}}
+
+{{<165>1 2015-06-23T13:47:09.123-0500 worker-host test-program 222 ID47 [ID47@32473 iut="3" event-source="application" event-id="1011"] An application 1011 log entry}}
+{{test-program: }}
+{{An application 1011 log entry}}
+
+{
+ "__version": "3.1.4",
+ "top": {
+
+ }
+}
diff --git a/contrib/libxo/tests/core/saved/test_11.T.err b/contrib/libxo/tests/core/saved/test_11.T.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/contrib/libxo/tests/core/saved/test_11.T.err
diff --git a/contrib/libxo/tests/core/saved/test_11.T.out b/contrib/libxo/tests/core/saved/test_11.T.out
new file mode 100644
index 0000000..0786c34
--- /dev/null
+++ b/contrib/libxo/tests/core/saved/test_11.T.out
@@ -0,0 +1,16 @@
+{{<14>1 2015-06-23T13:47:09.123-0500 worker-host test-program 222 animal-status [animal-status@42 animal="snake" state="loose"] The snake is loose}}
+{{test-program: }}
+{{The snake is loose}}
+
+{{<22>1 2015-06-23T13:47:09.123-0500 worker-host test-program 222 animal-consumed [animal-consumed@42 animal="snake" pet="hamster"] My snake ate your hamster}}
+{{test-program: }}
+{{My snake ate your hamster}}
+
+{{<29>1 2015-06-23T13:47:09.123-0500 worker-host test-program 222 animal-talk [animal-talk@42 count="1" animal="owl" quote="\"e=m\\c[2\]\""] 1 owl said "e=m\c[2]"}}
+{{test-program: }}
+{{1 owl said "e=m\c[2]"}}
+
+{{<165>1 2015-06-23T13:47:09.123-0500 worker-host test-program 222 ID47 [ID47@32473 iut="3" event-source="application" event-id="1011"] An application 1011 log entry}}
+{{test-program: }}
+{{An application 1011 log entry}}
+
diff --git a/contrib/libxo/tests/core/saved/test_11.X.err b/contrib/libxo/tests/core/saved/test_11.X.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/contrib/libxo/tests/core/saved/test_11.X.err
diff --git a/contrib/libxo/tests/core/saved/test_11.X.out b/contrib/libxo/tests/core/saved/test_11.X.out
new file mode 100644
index 0000000..bb73a42
--- /dev/null
+++ b/contrib/libxo/tests/core/saved/test_11.X.out
@@ -0,0 +1,17 @@
+{{<14>1 2015-06-23T13:47:09.123-0500 worker-host test-program 222 animal-status [animal-status@42 animal="snake" state="loose"] The snake is loose}}
+{{test-program: }}
+{{The snake is loose}}
+
+{{<22>1 2015-06-23T13:47:09.123-0500 worker-host test-program 222 animal-consumed [animal-consumed@42 animal="snake" pet="hamster"] My snake ate your hamster}}
+{{test-program: }}
+{{My snake ate your hamster}}
+
+{{<29>1 2015-06-23T13:47:09.123-0500 worker-host test-program 222 animal-talk [animal-talk@42 count="1" animal="owl" quote="\"e=m\\c[2\]\""] 1 owl said "e=m\c[2]"}}
+{{test-program: }}
+{{1 owl said "e=m\c[2]"}}
+
+{{<165>1 2015-06-23T13:47:09.123-0500 worker-host test-program 222 ID47 [ID47@32473 iut="3" event-source="application" event-id="1011"] An application 1011 log entry}}
+{{test-program: }}
+{{An application 1011 log entry}}
+
+<top __version="3.1.4"></top> \ No newline at end of file
diff --git a/contrib/libxo/tests/core/saved/test_11.XP.err b/contrib/libxo/tests/core/saved/test_11.XP.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/contrib/libxo/tests/core/saved/test_11.XP.err
diff --git a/contrib/libxo/tests/core/saved/test_11.XP.out b/contrib/libxo/tests/core/saved/test_11.XP.out
new file mode 100644
index 0000000..46b5dd0
--- /dev/null
+++ b/contrib/libxo/tests/core/saved/test_11.XP.out
@@ -0,0 +1,18 @@
+{{<14>1 2015-06-23T13:47:09.123-0500 worker-host test-program 222 animal-status [animal-status@42 animal="snake" state="loose"] The snake is loose}}
+{{test-program: }}
+{{The snake is loose}}
+
+{{<22>1 2015-06-23T13:47:09.123-0500 worker-host test-program 222 animal-consumed [animal-consumed@42 animal="snake" pet="hamster"] My snake ate your hamster}}
+{{test-program: }}
+{{My snake ate your hamster}}
+
+{{<29>1 2015-06-23T13:47:09.123-0500 worker-host test-program 222 animal-talk [animal-talk@42 count="1" animal="owl" quote="\"e=m\\c[2\]\""] 1 owl said "e=m\c[2]"}}
+{{test-program: }}
+{{1 owl said "e=m\c[2]"}}
+
+{{<165>1 2015-06-23T13:47:09.123-0500 worker-host test-program 222 ID47 [ID47@32473 iut="3" event-source="application" event-id="1011"] An application 1011 log entry}}
+{{test-program: }}
+{{An application 1011 log entry}}
+
+<top __version="3.1.4">
+</top>
OpenPOWER on IntegriCloud