You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@vxquery.apache.org by pr...@apache.org on 2014/03/05 02:57:27 UTC

[01/14] Adding the xqts test results to the vxquery-xtest project. The goal is to now have a test result version we can compare against with each release.

Repository: incubator-vxquery
Updated Branches:
  refs/heads/prestonc/parser 5ef767b1d -> 1d422eb3e (forced update)


http://git-wip-us.apache.org/repos/asf/incubator-vxquery/blob/ef04365e/vxquery-xtest/results/xqts.txt
----------------------------------------------------------------------
diff --git a/vxquery-xtest/results/xqts.txt b/vxquery-xtest/results/xqts.txt
new file mode 100644
index 0000000..ea1a37c
--- /dev/null
+++ b/vxquery-xtest/results/xqts.txt
@@ -0,0 +1,19221 @@
+Appendices/Annex-E//annex-1, EXPECTED_RESULT_GOT_ERROR
+Appendices/Annex-E//annex-2, EXPECTED_RESULT_GOT_ERROR
+Appendices/Annex-E//annex-3, EXPECTED_RESULT_GOT_ERROR
+Appendices/Annex-E//annex-4, EXPECTED_ERROR_GOT_DIFFERENT_ERROR
+Appendices/Annex-E//annex-5, EXPECTED_ERROR_GOT_DIFFERENT_ERROR
+Appendices/Annex-E//annex-6, EXPECTED_RESULT_GOT_FAILURE
+Appendices/Annex-E//annex-7, EXPECTED_RESULT_GOT_ERROR
+Appendices/Annex-E//annex-8, EXPECTED_RESULT_GOT_ERROR
+Appendices/Appendix-A4//appendix-A4-1, EXPECTED_RESULT_GOT_SAME_RESULT
+Appendices/Appendix-A4//appendix-A4-2, EXPECTED_RESULT_GOT_SAME_RESULT
+Appendices/Appendix-A4//appendix-A4-3, EXPECTED_RESULT_GOT_SAME_RESULT
+Appendices/Appendix-A4//appendix-A4-4, EXPECTED_RESULT_GOT_SAME_RESULT
+Appendices/Appendix-A4//appendix-A4-5, EXPECTED_RESULT_GOT_SAME_RESULT
+Appendices/Appendix-A4//appendix-A4-6, EXPECTED_RESULT_GOT_SAME_RESULT
+Appendices/Appendix-A4//appendix-A4-7, EXPECTED_RESULT_GOT_SAME_RESULT
+Appendices/Appendix-A4//appendix-A4-8, EXPECTED_RESULT_GOT_SAME_RESULT
+Appendices/Appendix-A4//appendix-A4-9, EXPECTED_RESULT_GOT_SAME_RESULT
+Basics/StaticContext//static-context-1, EXPECTED_ERROR_GOT_DIFFERENT_ERROR
+Basics/Types/SequenceTypeSyntax//sequence-type-1, EXPECTED_RESULT_GOT_SAME_RESULT
+Basics/Types/SequenceTypeSyntax//sequence-type-10, EXPECTED_RESULT_GOT_SAME_RESULT
+Basics/Types/SequenceTypeSyntax//sequence-type-11, EXPECTED_RESULT_GOT_SAME_RESULT
+Basics/Types/SequenceTypeSyntax//sequence-type-12, EXPECTED_RESULT_GOT_SAME_RESULT
+Basics/Types/SequenceTypeSyntax//sequence-type-13, EXPECTED_RESULT_GOT_SAME_RESULT
+Basics/Types/SequenceTypeSyntax//sequence-type-14, EXPECTED_RESULT_GOT_SAME_RESULT
+Basics/Types/SequenceTypeSyntax//sequence-type-15, EXPECTED_RESULT_GOT_SAME_RESULT
+Basics/Types/SequenceTypeSyntax//sequence-type-16, EXPECTED_RESULT_GOT_SAME_RESULT
+Basics/Types/SequenceTypeSyntax//sequence-type-17, EXPECTED_RESULT_GOT_SAME_RESULT
+Basics/Types/SequenceTypeSyntax//sequence-type-18, EXPECTED_RESULT_GOT_SAME_RESULT
+Basics/Types/SequenceTypeSyntax//sequence-type-19, EXPECTED_RESULT_GOT_SAME_RESULT
+Basics/Types/SequenceTypeSyntax//sequence-type-2, EXPECTED_RESULT_GOT_SAME_RESULT
+Basics/Types/SequenceTypeSyntax//sequence-type-20, EXPECTED_RESULT_GOT_SAME_RESULT
+Basics/Types/SequenceTypeSyntax//sequence-type-21, EXPECTED_RESULT_GOT_SAME_RESULT
+Basics/Types/SequenceTypeSyntax//sequence-type-3, EXPECTED_RESULT_GOT_SAME_RESULT
+Basics/Types/SequenceTypeSyntax//sequence-type-4, EXPECTED_RESULT_GOT_SAME_RESULT
+Basics/Types/SequenceTypeSyntax//sequence-type-5, EXPECTED_RESULT_GOT_SAME_RESULT
+Basics/Types/SequenceTypeSyntax//sequence-type-6, EXPECTED_RESULT_GOT_SAME_RESULT
+Basics/Types/SequenceTypeSyntax//sequence-type-7, EXPECTED_RESULT_GOT_SAME_RESULT
+Basics/Types/SequenceTypeSyntax//sequence-type-8, EXPECTED_RESULT_GOT_SAME_RESULT
+Basics/Types/SequenceTypeSyntax//sequence-type-9, EXPECTED_RESULT_GOT_SAME_RESULT
+CondExpr//K2-CondExpr-1, EXPECTED_ERROR_GOT_FAILURE
+CondExpr//K2-CondExpr-2, EXPECTED_RESULT_GOT_FAILURE
+CondExpr//K2-CondExpr-3, EXPECTED_RESULT_GOT_ERROR
+CondExpr//K2-CondExpr-4, EXPECTED_RESULT_GOT_FAILURE
+CondExpr//K2-CondExpr-5, EXPECTED_ERROR_GOT_SAME_ERROR
+CondExpr//K2-CondExpr-6, EXPECTED_ERROR_GOT_SAME_ERROR
+CondExpr//K2-CondExpr-7, EXPECTED_RESULT_GOT_SAME_RESULT
+Construct/ComputeCon/ComputeConAttr//K2-ComputeConAttr-1, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/ComputeCon/ComputeConAttr//K2-ComputeConAttr-10, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Construct/ComputeCon/ComputeConAttr//K2-ComputeConAttr-11, EXPECTED_RESULT_GOT_FAILURE
+Construct/ComputeCon/ComputeConAttr//K2-ComputeConAttr-12, EXPECTED_ERROR_GOT_FAILURE
+Construct/ComputeCon/ComputeConAttr//K2-ComputeConAttr-13, EXPECTED_ERROR_GOT_FAILURE
+Construct/ComputeCon/ComputeConAttr//K2-ComputeConAttr-14, EXPECTED_ERROR_GOT_DIFFERENT_ERROR
+Construct/ComputeCon/ComputeConAttr//K2-ComputeConAttr-15, EXPECTED_ERROR_GOT_DIFFERENT_ERROR
+Construct/ComputeCon/ComputeConAttr//K2-ComputeConAttr-16, EXPECTED_ERROR_GOT_DIFFERENT_ERROR
+Construct/ComputeCon/ComputeConAttr//K2-ComputeConAttr-17, EXPECTED_ERROR_GOT_DIFFERENT_ERROR
+Construct/ComputeCon/ComputeConAttr//K2-ComputeConAttr-18, EXPECTED_ERROR_GOT_DIFFERENT_ERROR
+Construct/ComputeCon/ComputeConAttr//K2-ComputeConAttr-19, EXPECTED_ERROR_GOT_DIFFERENT_ERROR
+Construct/ComputeCon/ComputeConAttr//K2-ComputeConAttr-2, EXPECTED_ERROR_GOT_FAILURE
+Construct/ComputeCon/ComputeConAttr//K2-ComputeConAttr-20, EXPECTED_ERROR_GOT_DIFFERENT_ERROR
+Construct/ComputeCon/ComputeConAttr//K2-ComputeConAttr-21, EXPECTED_ERROR_GOT_DIFFERENT_ERROR
+Construct/ComputeCon/ComputeConAttr//K2-ComputeConAttr-22, EXPECTED_ERROR_GOT_FAILURE
+Construct/ComputeCon/ComputeConAttr//K2-ComputeConAttr-23, EXPECTED_RESULT_GOT_FAILURE
+Construct/ComputeCon/ComputeConAttr//K2-ComputeConAttr-24, EXPECTED_RESULT_GOT_FAILURE
+Construct/ComputeCon/ComputeConAttr//K2-ComputeConAttr-25, EXPECTED_RESULT_GOT_ERROR
+Construct/ComputeCon/ComputeConAttr//K2-ComputeConAttr-26, EXPECTED_RESULT_GOT_ERROR
+Construct/ComputeCon/ComputeConAttr//K2-ComputeConAttr-27, EXPECTED_RESULT_GOT_ERROR
+Construct/ComputeCon/ComputeConAttr//K2-ComputeConAttr-28, EXPECTED_ERROR_GOT_FAILURE
+Construct/ComputeCon/ComputeConAttr//K2-ComputeConAttr-29, EXPECTED_ERROR_GOT_FAILURE
+Construct/ComputeCon/ComputeConAttr//K2-ComputeConAttr-3, EXPECTED_ERROR_GOT_FAILURE
+Construct/ComputeCon/ComputeConAttr//K2-ComputeConAttr-30, EXPECTED_RESULT_GOT_FAILURE
+Construct/ComputeCon/ComputeConAttr//K2-ComputeConAttr-31, EXPECTED_RESULT_GOT_ERROR
+Construct/ComputeCon/ComputeConAttr//K2-ComputeConAttr-32, EXPECTED_RESULT_GOT_FAILURE
+Construct/ComputeCon/ComputeConAttr//K2-ComputeConAttr-33, EXPECTED_RESULT_GOT_FAILURE
+Construct/ComputeCon/ComputeConAttr//K2-ComputeConAttr-34, EXPECTED_RESULT_GOT_FAILURE
+Construct/ComputeCon/ComputeConAttr//K2-ComputeConAttr-35, EXPECTED_RESULT_GOT_FAILURE
+Construct/ComputeCon/ComputeConAttr//K2-ComputeConAttr-36, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Construct/ComputeCon/ComputeConAttr//K2-ComputeConAttr-37, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/ComputeCon/ComputeConAttr//K2-ComputeConAttr-38, EXPECTED_ERROR_GOT_RESULT
+Construct/ComputeCon/ComputeConAttr//K2-ComputeConAttr-39, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/ComputeCon/ComputeConAttr//K2-ComputeConAttr-4, EXPECTED_ERROR_GOT_FAILURE
+Construct/ComputeCon/ComputeConAttr//K2-ComputeConAttr-40, EXPECTED_ERROR_GOT_RESULT
+Construct/ComputeCon/ComputeConAttr//K2-ComputeConAttr-41, EXPECTED_ERROR_GOT_FAILURE
+Construct/ComputeCon/ComputeConAttr//K2-ComputeConAttr-42, EXPECTED_ERROR_GOT_RESULT
+Construct/ComputeCon/ComputeConAttr//K2-ComputeConAttr-43, EXPECTED_ERROR_GOT_RESULT
+Construct/ComputeCon/ComputeConAttr//K2-ComputeConAttr-44, EXPECTED_ERROR_GOT_RESULT
+Construct/ComputeCon/ComputeConAttr//K2-ComputeConAttr-45, EXPECTED_ERROR_GOT_RESULT
+Construct/ComputeCon/ComputeConAttr//K2-ComputeConAttr-46, EXPECTED_ERROR_GOT_RESULT
+Construct/ComputeCon/ComputeConAttr//K2-ComputeConAttr-47, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Construct/ComputeCon/ComputeConAttr//K2-ComputeConAttr-48, EXPECTED_ERROR_GOT_FAILURE
+Construct/ComputeCon/ComputeConAttr//K2-ComputeConAttr-49, EXPECTED_ERROR_GOT_FAILURE
+Construct/ComputeCon/ComputeConAttr//K2-ComputeConAttr-5, EXPECTED_ERROR_GOT_FAILURE
+Construct/ComputeCon/ComputeConAttr//K2-ComputeConAttr-50, EXPECTED_ERROR_GOT_FAILURE
+Construct/ComputeCon/ComputeConAttr//K2-ComputeConAttr-51, EXPECTED_RESULT_GOT_FAILURE
+Construct/ComputeCon/ComputeConAttr//K2-ComputeConAttr-52, EXPECTED_ERROR_GOT_FAILURE
+Construct/ComputeCon/ComputeConAttr//K2-ComputeConAttr-53, EXPECTED_RESULT_GOT_FAILURE
+Construct/ComputeCon/ComputeConAttr//K2-ComputeConAttr-54, EXPECTED_RESULT_GOT_ERROR
+Construct/ComputeCon/ComputeConAttr//K2-ComputeConAttr-55, EXPECTED_RESULT_GOT_ERROR
+Construct/ComputeCon/ComputeConAttr//K2-ComputeConAttr-56, EXPECTED_RESULT_GOT_FAILURE
+Construct/ComputeCon/ComputeConAttr//K2-ComputeConAttr-57, EXPECTED_ERROR_GOT_FAILURE
+Construct/ComputeCon/ComputeConAttr//K2-ComputeConAttr-58, EXPECTED_RESULT_GOT_FAILURE
+Construct/ComputeCon/ComputeConAttr//K2-ComputeConAttr-59, EXPECTED_ERROR_GOT_FAILURE
+Construct/ComputeCon/ComputeConAttr//K2-ComputeConAttr-6, EXPECTED_ERROR_GOT_FAILURE
+Construct/ComputeCon/ComputeConAttr//K2-ComputeConAttr-60, EXPECTED_ERROR_GOT_FAILURE
+Construct/ComputeCon/ComputeConAttr//K2-ComputeConAttr-61, EXPECTED_ERROR_GOT_FAILURE
+Construct/ComputeCon/ComputeConAttr//K2-ComputeConAttr-7, EXPECTED_ERROR_GOT_FAILURE
+Construct/ComputeCon/ComputeConAttr//K2-ComputeConAttr-8, EXPECTED_ERROR_GOT_FAILURE
+Construct/ComputeCon/ComputeConAttr//K2-ComputeConAttr-9, EXPECTED_ERROR_GOT_FAILURE
+Construct/ComputeCon/ComputeConAttr//comp-attr-bad-name-1, EXPECTED_ERROR_GOT_RESULT
+Construct/ComputeCon/ComputeConAttr//comp-attr-bad-name-2, EXPECTED_ERROR_GOT_RESULT
+Construct/ComputeCon/ComputeConAttr//comp-attr-bad-name-3, EXPECTED_ERROR_GOT_RESULT
+Construct/ComputeCon/ComputeConAttr//comp-attr-bad-name-4, EXPECTED_ERROR_GOT_RESULT
+Construct/ComputeCon/ComputeConAttr//comp-attr-bad-name-5, EXPECTED_ERROR_GOT_RESULT
+Construct/ComputeCon/ComputeConAttr//comp-attr-bad-name-6, EXPECTED_ERROR_GOT_RESULT
+Construct/ComputeCon/ComputeConAttr//comp-attr-bad-name-7, EXPECTED_ERROR_GOT_RESULT
+Construct/ComputeCon/ComputeConComment//K2-ComputeConComment-1, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/ComputeCon/ComputeConComment//K2-ComputeConComment-2, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/ComputeCon/ComputeConComment//K2-ComputeConComment-3, EXPECTED_RESULT_GOT_FAILURE
+Construct/ComputeCon/ComputeConComment//K2-ComputeConComment-4, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/ComputeCon/ComputeConComment//K2-ComputeConComment-5, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Construct/ComputeCon/ComputeConElem//K2-ComputeConElem-1, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/ComputeCon/ComputeConElem//K2-ComputeConElem-10, EXPECTED_RESULT_GOT_ERROR
+Construct/ComputeCon/ComputeConElem//K2-ComputeConElem-11, EXPECTED_RESULT_GOT_ERROR
+Construct/ComputeCon/ComputeConElem//K2-ComputeConElem-12, EXPECTED_RESULT_GOT_ERROR
+Construct/ComputeCon/ComputeConElem//K2-ComputeConElem-13, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Construct/ComputeCon/ComputeConElem//K2-ComputeConElem-14, EXPECTED_RESULT_GOT_ERROR
+Construct/ComputeCon/ComputeConElem//K2-ComputeConElem-15, EXPECTED_RESULT_GOT_FAILURE
+Construct/ComputeCon/ComputeConElem//K2-ComputeConElem-2, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Construct/ComputeCon/ComputeConElem//K2-ComputeConElem-3, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Construct/ComputeCon/ComputeConElem//K2-ComputeConElem-4, EXPECTED_ERROR_GOT_RESULT
+Construct/ComputeCon/ComputeConElem//K2-ComputeConElem-5, EXPECTED_ERROR_GOT_FAILURE
+Construct/ComputeCon/ComputeConElem//K2-ComputeConElem-6, EXPECTED_RESULT_GOT_SAME_RESULT
+Construct/ComputeCon/ComputeConElem//K2-ComputeConElem-7, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Construct/ComputeCon/ComputeConElem//K2-ComputeConElem-8, EXPECTED_RESULT_GOT_ERROR
+Construct/ComputeCon/ComputeConElem//K2-ComputeConElem-9, EXPECTED_RESULT_GOT_ERROR
+Construct/ComputeCon/ComputeConElem//comp-elem-bad-name-1, EXPECTED_ERROR_GOT_RESULT
+Construct/ComputeCon/ComputeConElem//comp-elem-bad-name-2, EXPECTED_ERROR_GOT_RESULT
+Construct/ComputeCon/ComputeConElem//comp-elem-bad-name-3, EXPECTED_ERROR_GOT_RESULT
+Construct/ComputeCon/ComputeConElem//comp-elem-bad-name-4, EXPECTED_ERROR_GOT_RESULT
+Construct/ComputeCon/ComputeConElem//comp-elem-bad-name-5, EXPECTED_ERROR_GOT_RESULT
+Construct/ComputeCon/ComputeConElem//comp-elem-bad-name-6, EXPECTED_ERROR_GOT_RESULT
+Construct/ComputeCon/ComputeConPI//K2-ComputeConPI-1, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/ComputeCon/ComputeConPI//K2-ComputeConPI-10, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Construct/ComputeCon/ComputeConPI//K2-ComputeConPI-11, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Construct/ComputeCon/ComputeConPI//K2-ComputeConPI-2, EXPECTED_ERROR_GOT_RESULT
+Construct/ComputeCon/ComputeConPI//K2-ComputeConPI-3, EXPECTED_ERROR_GOT_RESULT
+Construct/ComputeCon/ComputeConPI//K2-ComputeConPI-4, EXPECTED_RESULT_GOT_ERROR
+Construct/ComputeCon/ComputeConPI//K2-ComputeConPI-5, EXPECTED_RESULT_GOT_ERROR
+Construct/ComputeCon/ComputeConPI//K2-ComputeConPI-6, EXPECTED_ERROR_GOT_RESULT
+Construct/ComputeCon/ComputeConPI//K2-ComputeConPI-7, EXPECTED_ERROR_GOT_RESULT
+Construct/ComputeCon/ComputeConPI//K2-ComputeConPI-8, EXPECTED_RESULT_GOT_FAILURE
+Construct/ComputeCon/ComputeConPI//K2-ComputeConPI-9, EXPECTED_RESULT_GOT_FAILURE
+Construct/ComputeCon/ConDocNode//K2-ConDocNode-1, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/ComputeCon/ConDocNode//K2-ConDocNode-10, EXPECTED_RESULT_GOT_ERROR
+Construct/ComputeCon/ConDocNode//K2-ConDocNode-11, EXPECTED_RESULT_GOT_ERROR
+Construct/ComputeCon/ConDocNode//K2-ConDocNode-12, EXPECTED_RESULT_GOT_ERROR
+Construct/ComputeCon/ConDocNode//K2-ConDocNode-13, EXPECTED_RESULT_GOT_ERROR
+Construct/ComputeCon/ConDocNode//K2-ConDocNode-14, EXPECTED_RESULT_GOT_ERROR
+Construct/ComputeCon/ConDocNode//K2-ConDocNode-15, EXPECTED_RESULT_GOT_ERROR
+Construct/ComputeCon/ConDocNode//K2-ConDocNode-16, EXPECTED_RESULT_GOT_ERROR
+Construct/ComputeCon/ConDocNode//K2-ConDocNode-17, EXPECTED_RESULT_GOT_ERROR
+Construct/ComputeCon/ConDocNode//K2-ConDocNode-18, EXPECTED_RESULT_GOT_ERROR
+Construct/ComputeCon/ConDocNode//K2-ConDocNode-19, EXPECTED_RESULT_GOT_ERROR
+Construct/ComputeCon/ConDocNode//K2-ConDocNode-2, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/ComputeCon/ConDocNode//K2-ConDocNode-20, EXPECTED_RESULT_GOT_ERROR
+Construct/ComputeCon/ConDocNode//K2-ConDocNode-21, EXPECTED_RESULT_GOT_ERROR
+Construct/ComputeCon/ConDocNode//K2-ConDocNode-22, EXPECTED_RESULT_GOT_ERROR
+Construct/ComputeCon/ConDocNode//K2-ConDocNode-23, EXPECTED_RESULT_GOT_ERROR
+Construct/ComputeCon/ConDocNode//K2-ConDocNode-24, EXPECTED_RESULT_GOT_ERROR
+Construct/ComputeCon/ConDocNode//K2-ConDocNode-25, EXPECTED_RESULT_GOT_ERROR
+Construct/ComputeCon/ConDocNode//K2-ConDocNode-26, EXPECTED_ERROR_GOT_DIFFERENT_ERROR
+Construct/ComputeCon/ConDocNode//K2-ConDocNode-27, EXPECTED_ERROR_GOT_DIFFERENT_ERROR
+Construct/ComputeCon/ConDocNode//K2-ConDocNode-28, EXPECTED_ERROR_GOT_DIFFERENT_ERROR
+Construct/ComputeCon/ConDocNode//K2-ConDocNode-29, EXPECTED_ERROR_GOT_DIFFERENT_ERROR
+Construct/ComputeCon/ConDocNode//K2-ConDocNode-3, EXPECTED_ERROR_GOT_DIFFERENT_ERROR
+Construct/ComputeCon/ConDocNode//K2-ConDocNode-30, EXPECTED_RESULT_GOT_ERROR
+Construct/ComputeCon/ConDocNode//K2-ConDocNode-31, EXPECTED_RESULT_GOT_ERROR
+Construct/ComputeCon/ConDocNode//K2-ConDocNode-32, EXPECTED_RESULT_GOT_ERROR
+Construct/ComputeCon/ConDocNode//K2-ConDocNode-4, EXPECTED_ERROR_GOT_DIFFERENT_ERROR
+Construct/ComputeCon/ConDocNode//K2-ConDocNode-5, EXPECTED_ERROR_GOT_DIFFERENT_ERROR
+Construct/ComputeCon/ConDocNode//K2-ConDocNode-6, EXPECTED_ERROR_GOT_DIFFERENT_ERROR
+Construct/ComputeCon/ConDocNode//K2-ConDocNode-7, EXPECTED_ERROR_GOT_DIFFERENT_ERROR
+Construct/ComputeCon/ConDocNode//K2-ConDocNode-8, EXPECTED_ERROR_GOT_DIFFERENT_ERROR
+Construct/ComputeCon/ConDocNode//K2-ConDocNode-9, EXPECTED_RESULT_GOT_ERROR
+Construct/ComputeCon/ConText//K2-ConText-1, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/ComputeCon/ConText//K2-ConText-10, EXPECTED_RESULT_GOT_SAME_RESULT
+Construct/ComputeCon/ConText//K2-ConText-11, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/ComputeCon/ConText//K2-ConText-12, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/ComputeCon/ConText//K2-ConText-13, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/ComputeCon/ConText//K2-ConText-14, EXPECTED_RESULT_GOT_SAME_RESULT
+Construct/ComputeCon/ConText//K2-ConText-15, EXPECTED_RESULT_GOT_FAILURE
+Construct/ComputeCon/ConText//K2-ConText-2, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/ComputeCon/ConText//K2-ConText-3, EXPECTED_RESULT_GOT_FAILURE
+Construct/ComputeCon/ConText//K2-ConText-4, EXPECTED_RESULT_GOT_FAILURE
+Construct/ComputeCon/ConText//K2-ConText-5, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/ComputeCon/ConText//K2-ConText-6, EXPECTED_RESULT_GOT_SAME_RESULT
+Construct/ComputeCon/ConText//K2-ConText-7, EXPECTED_RESULT_GOT_SAME_RESULT
+Construct/ComputeCon/ConText//K2-ConText-8, EXPECTED_RESULT_GOT_SAME_RESULT
+Construct/ComputeCon/ConText//K2-ConText-9, EXPECTED_RESULT_GOT_SAME_RESULT
+Construct/ConInScopeNamespace//K2-ConInScopeNamespace-1, EXPECTED_RESULT_GOT_ERROR
+Construct/DirectConElem//K2-DirectConElem-1, EXPECTED_RESULT_GOT_FAILURE
+Construct/DirectConElem//K2-DirectConElem-10, EXPECTED_ERROR_GOT_DIFFERENT_ERROR
+Construct/DirectConElem//K2-DirectConElem-11, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem//K2-DirectConElem-12, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem//K2-DirectConElem-13, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem//K2-DirectConElem-14, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem//K2-DirectConElem-15, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem//K2-DirectConElem-16, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem//K2-DirectConElem-17, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem//K2-DirectConElem-18, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem//K2-DirectConElem-19, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem//K2-DirectConElem-2, EXPECTED_RESULT_GOT_FAILURE
+Construct/DirectConElem//K2-DirectConElem-20, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem//K2-DirectConElem-21, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem//K2-DirectConElem-22, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem//K2-DirectConElem-23, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem//K2-DirectConElem-24, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem//K2-DirectConElem-25, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem//K2-DirectConElem-26, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem//K2-DirectConElem-27, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem//K2-DirectConElem-28, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Construct/DirectConElem//K2-DirectConElem-29, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Construct/DirectConElem//K2-DirectConElem-3, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem//K2-DirectConElem-30, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Construct/DirectConElem//K2-DirectConElem-31, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Construct/DirectConElem//K2-DirectConElem-32, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Construct/DirectConElem//K2-DirectConElem-33, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Construct/DirectConElem//K2-DirectConElem-34, EXPECTED_RESULT_GOT_FAILURE
+Construct/DirectConElem//K2-DirectConElem-35, EXPECTED_ERROR_GOT_RESULT
+Construct/DirectConElem//K2-DirectConElem-36, EXPECTED_ERROR_GOT_RESULT
+Construct/DirectConElem//K2-DirectConElem-37, EXPECTED_ERROR_GOT_RESULT
+Construct/DirectConElem//K2-DirectConElem-38, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Construct/DirectConElem//K2-DirectConElem-39, EXPECTED_ERROR_GOT_RESULT
+Construct/DirectConElem//K2-DirectConElem-4, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem//K2-DirectConElem-40, EXPECTED_ERROR_GOT_RESULT
+Construct/DirectConElem//K2-DirectConElem-41, EXPECTED_ERROR_GOT_RESULT
+Construct/DirectConElem//K2-DirectConElem-42, EXPECTED_RESULT_GOT_ERROR
+Construct/DirectConElem//K2-DirectConElem-43, EXPECTED_RESULT_GOT_ERROR
+Construct/DirectConElem//K2-DirectConElem-44, EXPECTED_RESULT_GOT_FAILURE
+Construct/DirectConElem//K2-DirectConElem-45, EXPECTED_RESULT_GOT_SAME_RESULT
+Construct/DirectConElem//K2-DirectConElem-46, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Construct/DirectConElem//K2-DirectConElem-47, EXPECTED_ERROR_GOT_DIFFERENT_ERROR
+Construct/DirectConElem//K2-DirectConElem-48, EXPECTED_RESULT_GOT_SAME_RESULT
+Construct/DirectConElem//K2-DirectConElem-49, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Construct/DirectConElem//K2-DirectConElem-5, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem//K2-DirectConElem-50, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem//K2-DirectConElem-51, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Construct/DirectConElem//K2-DirectConElem-52, EXPECTED_RESULT_GOT_SAME_RESULT
+Construct/DirectConElem//K2-DirectConElem-53, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem//K2-DirectConElem-54, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem//K2-DirectConElem-6, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem//K2-DirectConElem-7, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem//K2-DirectConElem-8, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem//K2-DirectConElem-9, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemAttr//DirectConElemAttr-1, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Construct/DirectConElem/DirectConElemAttr//DirectConElemAttr-2, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-1, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-10, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-11, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-12, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-13, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-14, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-15, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-16, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-17, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-18, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-19, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-2, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-20, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-21, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-22, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-23, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-24, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-25, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-26, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-27, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-28, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-29, EXPECTED_RESULT_GOT_FAILURE
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-3, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-30, EXPECTED_RESULT_GOT_FAILURE
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-31, EXPECTED_RESULT_GOT_FAILURE
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-32, EXPECTED_RESULT_GOT_FAILURE
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-33, EXPECTED_RESULT_GOT_FAILURE
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-34, EXPECTED_RESULT_GOT_FAILURE
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-35, EXPECTED_RESULT_GOT_ERROR
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-36, EXPECTED_RESULT_GOT_FAILURE
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-37, EXPECTED_RESULT_GOT_ERROR
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-38, EXPECTED_RESULT_GOT_ERROR
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-39, EXPECTED_RESULT_GOT_FAILURE
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-4, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-40, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-41, EXPECTED_RESULT_GOT_FAILURE
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-42, EXPECTED_RESULT_GOT_FAILURE
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-43, EXPECTED_RESULT_GOT_FAILURE
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-44, EXPECTED_RESULT_GOT_ERROR
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-45, EXPECTED_RESULT_GOT_ERROR
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-46, EXPECTED_RESULT_GOT_FAILURE
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-47, EXPECTED_RESULT_GOT_FAILURE
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-48, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-49, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-5, EXPECTED_RESULT_GOT_SAME_RESULT
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-50, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-51, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-52, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-53, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-54, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-55, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-56, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-57, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-58, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-59, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-6, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-60, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-61, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-62, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-63, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-64, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-65, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-66, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-67, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-68, EXPECTED_ERROR_GOT_RESULT
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-69, EXPECTED_ERROR_GOT_RESULT
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-7, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-70, EXPECTED_RESULT_GOT_ERROR
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-71, EXPECTED_RESULT_GOT_ERROR
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-72, EXPECTED_RESULT_GOT_ERROR
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-73, EXPECTED_RESULT_GOT_ERROR
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-74, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-75, EXPECTED_RESULT_GOT_FAILURE
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-76, EXPECTED_RESULT_GOT_ERROR
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-8, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemAttr//K2-DirectConElemAttr-9, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemContent//K2-DirectConElemContent-1, EXPECTED_ERROR_GOT_FAILURE
+Construct/DirectConElem/DirectConElemContent//K2-DirectConElemContent-10, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Construct/DirectConElem/DirectConElemContent//K2-DirectConElemContent-11, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Construct/DirectConElem/DirectConElemContent//K2-DirectConElemContent-12, EXPECTED_RESULT_GOT_SAME_RESULT
+Construct/DirectConElem/DirectConElemContent//K2-DirectConElemContent-13, EXPECTED_RESULT_GOT_SAME_RESULT
+Construct/DirectConElem/DirectConElemContent//K2-DirectConElemContent-14, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Construct/DirectConElem/DirectConElemContent//K2-DirectConElemContent-15, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Construct/DirectConElem/DirectConElemContent//K2-DirectConElemContent-16, EXPECTED_RESULT_GOT_SAME_RESULT
+Construct/DirectConElem/DirectConElemContent//K2-DirectConElemContent-17, EXPECTED_RESULT_GOT_SAME_RESULT
+Construct/DirectConElem/DirectConElemContent//K2-DirectConElemContent-18, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemContent//K2-DirectConElemContent-19, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemContent//K2-DirectConElemContent-2, EXPECTED_ERROR_GOT_FAILURE
+Construct/DirectConElem/DirectConElemContent//K2-DirectConElemContent-20, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemContent//K2-DirectConElemContent-21, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemContent//K2-DirectConElemContent-22, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemContent//K2-DirectConElemContent-23, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemContent//K2-DirectConElemContent-24, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemContent//K2-DirectConElemContent-25, EXPECTED_RESULT_GOT_FAILURE
+Construct/DirectConElem/DirectConElemContent//K2-DirectConElemContent-26, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemContent//K2-DirectConElemContent-27, EXPECTED_RESULT_GOT_FAILURE
+Construct/DirectConElem/DirectConElemContent//K2-DirectConElemContent-28, EXPECTED_RESULT_GOT_FAILURE
+Construct/DirectConElem/DirectConElemContent//K2-DirectConElemContent-29, EXPECTED_RESULT_GOT_SAME_RESULT
+Construct/DirectConElem/DirectConElemContent//K2-DirectConElemContent-3, EXPECTED_ERROR_GOT_FAILURE
+Construct/DirectConElem/DirectConElemContent//K2-DirectConElemContent-30, EXPECTED_RESULT_GOT_SAME_RESULT
+Construct/DirectConElem/DirectConElemContent//K2-DirectConElemContent-31, EXPECTED_RESULT_GOT_FAILURE
+Construct/DirectConElem/DirectConElemContent//K2-DirectConElemContent-32, EXPECTED_RESULT_GOT_SAME_RESULT
+Construct/DirectConElem/DirectConElemContent//K2-DirectConElemContent-33, EXPECTED_RESULT_GOT_SAME_RESULT
+Construct/DirectConElem/DirectConElemContent//K2-DirectConElemContent-34, EXPECTED_RESULT_GOT_ERROR
+Construct/DirectConElem/DirectConElemContent//K2-DirectConElemContent-35, EXPECTED_RESULT_GOT_ERROR
+Construct/DirectConElem/DirectConElemContent//K2-DirectConElemContent-36, EXPECTED_RESULT_GOT_ERROR
+Construct/DirectConElem/DirectConElemContent//K2-DirectConElemContent-37, EXPECTED_RESULT_GOT_ERROR
+Construct/DirectConElem/DirectConElemContent//K2-DirectConElemContent-38, EXPECTED_RESULT_GOT_ERROR
+Construct/DirectConElem/DirectConElemContent//K2-DirectConElemContent-39, EXPECTED_RESULT_GOT_SAME_RESULT
+Construct/DirectConElem/DirectConElemContent//K2-DirectConElemContent-4, EXPECTED_ERROR_GOT_FAILURE
+Construct/DirectConElem/DirectConElemContent//K2-DirectConElemContent-40, EXPECTED_RESULT_GOT_SAME_RESULT
+Construct/DirectConElem/DirectConElemContent//K2-DirectConElemContent-41, EXPECTED_RESULT_GOT_SAME_RESULT
+Construct/DirectConElem/DirectConElemContent//K2-DirectConElemContent-42, EXPECTED_RESULT_GOT_SAME_RESULT
+Construct/DirectConElem/DirectConElemContent//K2-DirectConElemContent-43, EXPECTED_RESULT_GOT_SAME_RESULT
+Construct/DirectConElem/DirectConElemContent//K2-DirectConElemContent-44, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemContent//K2-DirectConElemContent-45, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemContent//K2-DirectConElemContent-46, EXPECTED_RESULT_GOT_FAILURE
+Construct/DirectConElem/DirectConElemContent//K2-DirectConElemContent-47, EXPECTED_RESULT_GOT_SAME_RESULT
+Construct/DirectConElem/DirectConElemContent//K2-DirectConElemContent-48, EXPECTED_RESULT_GOT_FAILURE
+Construct/DirectConElem/DirectConElemContent//K2-DirectConElemContent-5, EXPECTED_RESULT_GOT_SAME_RESULT
+Construct/DirectConElem/DirectConElemContent//K2-DirectConElemContent-6, EXPECTED_RESULT_GOT_SAME_RESULT
+Construct/DirectConElem/DirectConElemContent//K2-DirectConElemContent-7, EXPECTED_RESULT_GOT_SAME_RESULT
+Construct/DirectConElem/DirectConElemContent//K2-DirectConElemContent-8, EXPECTED_RESULT_GOT_SAME_RESULT
+Construct/DirectConElem/DirectConElemContent//K2-DirectConElemContent-9, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Construct/DirectConElem/DirectConElemNamespace//DirectConElemNamespace-3, EXPECTED_ERROR_GOT_DIFFERENT_ERROR
+Construct/DirectConElem/DirectConElemNamespace//DirectConElemNamespace-4, EXPECTED_ERROR_GOT_DIFFERENT_ERROR
+Construct/DirectConElem/DirectConElemNamespace//DirectConElemNamespace-5, EXPECTED_RESULT_GOT_ERROR
+Construct/DirectConElem/DirectConElemNamespace//DirectConElemNamespace-6, EXPECTED_RESULT_GOT_ERROR
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-1, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-10, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-11, EXPECTED_ERROR_GOT_FAILURE
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-12, EXPECTED_ERROR_GOT_FAILURE
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-13, EXPECTED_ERROR_GOT_FAILURE
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-14, EXPECTED_ERROR_GOT_FAILURE
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-15, EXPECTED_ERROR_GOT_RESULT
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-16, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-17, EXPECTED_ERROR_GOT_RESULT
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-18, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-19, EXPECTED_RESULT_GOT_ERROR
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-2, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-20, EXPECTED_RESULT_GOT_ERROR
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-21, EXPECTED_RESULT_GOT_ERROR
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-22, EXPECTED_RESULT_GOT_ERROR
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-23, EXPECTED_RESULT_GOT_FAILURE
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-24, EXPECTED_RESULT_GOT_FAILURE
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-25, EXPECTED_ERROR_GOT_RESULT
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-26, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-27, EXPECTED_RESULT_GOT_ERROR
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-28, EXPECTED_RESULT_GOT_FAILURE
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-29, EXPECTED_RESULT_GOT_ERROR
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-3, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-30, EXPECTED_RESULT_GOT_ERROR
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-31, EXPECTED_RESULT_GOT_ERROR
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-32, EXPECTED_RESULT_GOT_ERROR
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-33, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-34, EXPECTED_ERROR_GOT_FAILURE
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-35, EXPECTED_ERROR_GOT_RESULT
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-36, EXPECTED_ERROR_GOT_RESULT
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-37, EXPECTED_ERROR_GOT_RESULT
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-38, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-39, EXPECTED_RESULT_GOT_FAILURE
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-4, EXPECTED_ERROR_GOT_FAILURE
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-40, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-41, EXPECTED_RESULT_GOT_ERROR
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-42, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-43, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-44, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-45, EXPECTED_RESULT_GOT_FAILURE
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-46, EXPECTED_RESULT_GOT_FAILURE
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-47, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-48, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-49, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-5, EXPECTED_RESULT_GOT_FAILURE
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-50, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-51, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-52, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-53, EXPECTED_RESULT_GOT_FAILURE
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-54, EXPECTED_RESULT_GOT_ERROR
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-55, EXPECTED_RESULT_GOT_FAILURE
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-56, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-57, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-58, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-59, EXPECTED_ERROR_GOT_DIFFERENT_ERROR
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-6, EXPECTED_RESULT_GOT_FAILURE
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-61, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-62, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-63, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-64, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-65, EXPECTED_ERROR_GOT_DIFFERENT_ERROR
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-67, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-68, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-69, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-7, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-70, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-71, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-72, EXPECTED_ERROR_GOT_RESULT
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-73, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-74, EXPECTED_ERROR_GOT_RESULT
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-75, EXPECTED_ERROR_GOT_DIFFERENT_ERROR
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-76, EXPECTED_ERROR_GOT_RESULT
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-77, EXPECTED_RESULT_GOT_FAILURE
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-78, EXPECTED_RESULT_GOT_FAILURE
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-79, EXPECTED_ERROR_GOT_FAILURE
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-8, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemNamespace//K2-DirectConElemNamespace-9, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConElem/DirectConElemWhitespace//K2-DirectConElemWhitespace-1, EXPECTED_RESULT_GOT_FAILURE
+Construct/DirectConElem/DirectConElemWhitespace//K2-DirectConElemWhitespace-10, EXPECTED_RESULT_GOT_FAILURE
+Construct/DirectConElem/DirectConElemWhitespace//K2-DirectConElemWhitespace-11, EXPECTED_RESULT_GOT_FAILURE
+Construct/DirectConElem/DirectConElemWhitespace//K2-DirectConElemWhitespace-12, EXPECTED_RESULT_GOT_FAILURE
+Construct/DirectConElem/DirectConElemWhitespace//K2-DirectConElemWhitespace-13, EXPECTED_RESULT_GOT_FAILURE
+Construct/DirectConElem/DirectConElemWhitespace//K2-DirectConElemWhitespace-14, EXPECTED_RESULT_GOT_FAILURE
+Construct/DirectConElem/DirectConElemWhitespace//K2-DirectConElemWhitespace-15, EXPECTED_RESULT_GOT_SAME_RESULT
+Construct/DirectConElem/DirectConElemWhitespace//K2-DirectConElemWhitespace-16, EXPECTED_RESULT_GOT_FAILURE
+Construct/DirectConElem/DirectConElemWhitespace//K2-DirectConElemWhitespace-17, EXPECTED_RESULT_GOT_FAILURE
+Construct/DirectConElem/DirectConElemWhitespace//K2-DirectConElemWhitespace-18, EXPECTED_RESULT_GOT_FAILURE
+Construct/DirectConElem/DirectConElemWhitespace//K2-DirectConElemWhitespace-19, EXPECTED_RESULT_GOT_FAILURE
+Construct/DirectConElem/DirectConElemWhitespace//K2-DirectConElemWhitespace-2, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Construct/DirectConElem/DirectConElemWhitespace//K2-DirectConElemWhitespace-20, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Construct/DirectConElem/DirectConElemWhitespace//K2-DirectConElemWhitespace-21, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Construct/DirectConElem/DirectConElemWhitespace//K2-DirectConElemWhitespace-22, EXPECTED_RESULT_GOT_FAILURE
+Construct/DirectConElem/DirectConElemWhitespace//K2-DirectConElemWhitespace-23, EXPECTED_RESULT_GOT_FAILURE
+Construct/DirectConElem/DirectConElemWhitespace//K2-DirectConElemWhitespace-24, EXPECTED_RESULT_GOT_FAILURE
+Construct/DirectConElem/DirectConElemWhitespace//K2-DirectConElemWhitespace-25, EXPECTED_RESULT_GOT_FAILURE
+Construct/DirectConElem/DirectConElemWhitespace//K2-DirectConElemWhitespace-26, EXPECTED_RESULT_GOT_FAILURE
+Construct/DirectConElem/DirectConElemWhitespace//K2-DirectConElemWhitespace-3, EXPECTED_RESULT_GOT_FAILURE
+Construct/DirectConElem/DirectConElemWhitespace//K2-DirectConElemWhitespace-4, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Construct/DirectConElem/DirectConElemWhitespace//K2-DirectConElemWhitespace-5, EXPECTED_RESULT_GOT_FAILURE
+Construct/DirectConElem/DirectConElemWhitespace//K2-DirectConElemWhitespace-6, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Construct/DirectConElem/DirectConElemWhitespace//K2-DirectConElemWhitespace-7, EXPECTED_RESULT_GOT_FAILURE
+Construct/DirectConElem/DirectConElemWhitespace//K2-DirectConElemWhitespace-8, EXPECTED_RESULT_GOT_SAME_RESULT
+Construct/DirectConElem/DirectConElemWhitespace//K2-DirectConElemWhitespace-9, EXPECTED_RESULT_GOT_FAILURE
+Construct/DirectConOther//K2-DirectConOther-1, EXPECTED_RESULT_GOT_FAILURE
+Construct/DirectConOther//K2-DirectConOther-10, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConOther//K2-DirectConOther-11, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConOther//K2-DirectConOther-12, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConOther//K2-DirectConOther-13, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConOther//K2-DirectConOther-14, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConOther//K2-DirectConOther-15, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConOther//K2-DirectConOther-16, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConOther//K2-DirectConOther-17, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConOther//K2-DirectConOther-18, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConOther//K2-DirectConOther-19, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConOther//K2-DirectConOther-2, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConOther//K2-DirectConOther-20, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConOther//K2-DirectConOther-21, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConOther//K2-DirectConOther-22, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConOther//K2-DirectConOther-23, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConOther//K2-DirectConOther-24, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConOther//K2-DirectConOther-25, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConOther//K2-DirectConOther-26, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConOther//K2-DirectConOther-27, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConOther//K2-DirectConOther-28, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConOther//K2-DirectConOther-29, EXPECTED_RESULT_GOT_ERROR
+Construct/DirectConOther//K2-DirectConOther-3, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConOther//K2-DirectConOther-30, EXPECTED_RESULT_GOT_ERROR
+Construct/DirectConOther//K2-DirectConOther-31, EXPECTED_RESULT_GOT_ERROR
+Construct/DirectConOther//K2-DirectConOther-32, EXPECTED_RESULT_GOT_SAME_RESULT
+Construct/DirectConOther//K2-DirectConOther-33, EXPECTED_RESULT_GOT_SAME_RESULT
+Construct/DirectConOther//K2-DirectConOther-34, EXPECTED_RESULT_GOT_SAME_RESULT
+Construct/DirectConOther//K2-DirectConOther-35, EXPECTED_RESULT_GOT_SAME_RESULT
+Construct/DirectConOther//K2-DirectConOther-36, EXPECTED_RESULT_GOT_SAME_RESULT
+Construct/DirectConOther//K2-DirectConOther-37, EXPECTED_RESULT_GOT_SAME_RESULT
+Construct/DirectConOther//K2-DirectConOther-38, EXPECTED_RESULT_GOT_FAILURE
+Construct/DirectConOther//K2-DirectConOther-39, EXPECTED_RESULT_GOT_SAME_RESULT
+Construct/DirectConOther//K2-DirectConOther-4, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConOther//K2-DirectConOther-40, EXPECTED_RESULT_GOT_FAILURE
+Construct/DirectConOther//K2-DirectConOther-41, EXPECTED_RESULT_GOT_FAILURE
+Construct/DirectConOther//K2-DirectConOther-42, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConOther//K2-DirectConOther-43, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConOther//K2-DirectConOther-44, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Construct/DirectConOther//K2-DirectConOther-45, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Construct/DirectConOther//K2-DirectConOther-46, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Construct/DirectConOther//K2-DirectConOther-47, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Construct/DirectConOther//K2-DirectConOther-48, EXPECTED_ERROR_GOT_FAILURE
+Construct/DirectConOther//K2-DirectConOther-49, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Construct/DirectConOther//K2-DirectConOther-5, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConOther//K2-DirectConOther-50, EXPECTED_RESULT_GOT_FAILURE
+Construct/DirectConOther//K2-DirectConOther-51, EXPECTED_RESULT_GOT_FAILURE
+Construct/DirectConOther//K2-DirectConOther-52, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Construct/DirectConOther//K2-DirectConOther-53, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Construct/DirectConOther//K2-DirectConOther-54, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Construct/DirectConOther//K2-DirectConOther-55, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConOther//K2-DirectConOther-56, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConOther//K2-DirectConOther-57, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConOther//K2-DirectConOther-58, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Construct/DirectConOther//K2-DirectConOther-59, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Construct/DirectConOther//K2-DirectConOther-6, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConOther//K2-DirectConOther-60, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Construct/DirectConOther//K2-DirectConOther-61, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConOther//K2-DirectConOther-62, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConOther//K2-DirectConOther-63, EXPECTED_ERROR_GOT_RESULT
+Construct/DirectConOther//K2-DirectConOther-64, EXPECTED_ERROR_GOT_RESULT
+Construct/DirectConOther//K2-DirectConOther-65, EXPECTED_ERROR_GOT_RESULT
+Construct/DirectConOther//K2-DirectConOther-66, EXPECTED_RESULT_GOT_ERROR
+Construct/DirectConOther//K2-DirectConOther-67, EXPECTED_RESULT_GOT_ERROR
+Construct/DirectConOther//K2-DirectConOther-68, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Construct/DirectConOther//K2-DirectConOther-69, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Construct/DirectConOther//K2-DirectConOther-7, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConOther//K2-DirectConOther-70, EXPECTED_RESULT_GOT_FAILURE
+Construct/DirectConOther//K2-DirectConOther-71, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Construct/DirectConOther//K2-DirectConOther-8, EXPECTED_ERROR_GOT_SAME_ERROR
+Construct/DirectConOther//K2-DirectConOther-9, EXPECTED_ERROR_GOT_SAME_ERROR
+ErrorsAndOptimization//errors-and-optimization-1, EXPECTED_RESULT_GOT_FAILURE
+ErrorsAndOptimization//errors-and-optimization-2, EXPECTED_ERROR_GOT_FAILURE
+ErrorsAndOptimization//errors-and-optimization-3, EXPECTED_RESULT_GOT_FAILURE
+ErrorsAndOptimization//errors-and-optimization-4, EXPECTED_ERROR_GOT_FAILURE
+ErrorsAndOptimization//errors-and-optimization-5, EXPECTED_ERROR_GOT_FAILURE
+ErrorsAndOptimization//errors-and-optimization-6, EXPECTED_ERROR_GOT_SAME_ERROR
+ErrorsAndOptimization//errors-and-optimization-7, EXPECTED_ERROR_GOT_SAME_ERROR
+Expressions/CondExpr//CondExpr002, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/CondExpr//CondExpr003, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/CondExpr//CondExpr004, EXPECTED_RESULT_GOT_FAILURE
+Expressions/CondExpr//CondExpr005, EXPECTED_RESULT_GOT_FAILURE
+Expressions/CondExpr//CondExpr006, EXPECTED_RESULT_GOT_SAME_RESULT
+Expressions/CondExpr//CondExpr007, EXPECTED_RESULT_GOT_FAILURE
+Expressions/CondExpr//CondExpr008, EXPECTED_RESULT_GOT_FAILURE
+Expressions/CondExpr//CondExpr009, EXPECTED_RESULT_GOT_FAILURE
+Expressions/CondExpr//CondExpr010, EXPECTED_RESULT_GOT_SAME_RESULT
+Expressions/CondExpr//CondExpr011, EXPECTED_RESULT_GOT_SAME_RESULT
+Expressions/CondExpr//CondExpr012, EXPECTED_RESULT_GOT_FAILURE
+Expressions/CondExpr//CondExpr013, EXPECTED_RESULT_GOT_FAILURE
+Expressions/CondExpr//CondExpr014, EXPECTED_RESULT_GOT_SAME_RESULT
+Expressions/CondExpr//CondExpr015, EXPECTED_RESULT_GOT_SAME_RESULT
+Expressions/CondExpr//CondExpr016, EXPECTED_RESULT_GOT_FAILURE
+Expressions/CondExpr//CondExpr017, EXPECTED_RESULT_GOT_FAILURE
+Expressions/CondExpr//CondExpr018, EXPECTED_RESULT_GOT_FAILURE
+Expressions/CondExpr//CondExpr019, EXPECTED_ERROR_GOT_SAME_ERROR
+Expressions/CondExpr//CondExpr020, EXPECTED_RESULT_GOT_FAILURE
+Expressions/CondExpr//CondExpr021, EXPECTED_RESULT_GOT_FAILURE
+Expressions/CondExpr//CondExpr022, EXPECTED_RESULT_GOT_FAILURE
+Expressions/CondExpr//K-CondExpr-1, EXPECTED_RESULT_GOT_SAME_RESULT
+Expressions/CondExpr//K-CondExpr-10, EXPECTED_RESULT_GOT_FAILURE
+Expressions/CondExpr//K-CondExpr-11, EXPECTED_RESULT_GOT_FAILURE
+Expressions/CondExpr//K-CondExpr-12, EXPECTED_RESULT_GOT_FAILURE
+Expressions/CondExpr//K-CondExpr-2, EXPECTED_RESULT_GOT_SAME_RESULT
+Expressions/CondExpr//K-CondExpr-3, EXPECTED_RESULT_GOT_FAILURE
+Expressions/CondExpr//K-CondExpr-4, EXPECTED_RESULT_GOT_FAILURE
+Expressions/CondExpr//K-CondExpr-5, EXPECTED_RESULT_GOT_FAILURE
+Expressions/CondExpr//K-CondExpr-6, EXPECTED_RESULT_GOT_FAILURE
+Expressions/CondExpr//K-CondExpr-7, EXPECTED_ERROR_GOT_FAILURE
+Expressions/CondExpr//K-CondExpr-8, EXPECTED_RESULT_GOT_SAME_RESULT
+Expressions/CondExpr//K-CondExpr-9, EXPECTED_RESULT_GOT_SAME_RESULT
+Expressions/Construct/ComputeCon/ComputeConAttr//Constr-compattr-compname-1, EXPECTED_ERROR_GOT_FAILURE
+Expressions/Construct/ComputeCon/ComputeConAttr//Constr-compattr-compname-10, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/ComputeCon/ComputeConAttr//Constr-compattr-compname-11, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/ComputeCon/ComputeConAttr//Constr-compattr-compname-12, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/ComputeCon/ComputeConAttr//Constr-compattr-compname-13, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/ComputeCon/ComputeConAttr//Constr-compattr-compname-14, EXPECTED_ERROR_GOT_RESULT
+Expressions/Construct/ComputeCon/ComputeConAttr//Constr-compattr-compname-15, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/ComputeCon/ComputeConAttr//Constr-compattr-compname-16, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/ComputeCon/ComputeConAttr//Constr-compattr-compname-17, EXPECTED_ERROR_GOT_FAILURE
+Expressions/Construct/ComputeCon/ComputeConAttr//Constr-compattr-compname-18, EXPECTED_ERROR_GOT_RESULT
+Expressions/Construct/ComputeCon/ComputeConAttr//Constr-compattr-compname-19, EXPECTED_ERROR_GOT_FAILURE
+Expressions/Construct/ComputeCon/ComputeConAttr//Constr-compattr-compname-2, EXPECTED_ERROR_GOT_FAILURE
+Expressions/Construct/ComputeCon/ComputeConAttr//Constr-compattr-compname-3, EXPECTED_ERROR_GOT_FAILURE
+Expressions/Construct/ComputeCon/ComputeConAttr//Constr-compattr-compname-4, EXPECTED_ERROR_GOT_FAILURE
+Expressions/Construct/ComputeCon/ComputeConAttr//Constr-compattr-compname-5, EXPECTED_ERROR_GOT_FAILURE
+Expressions/Construct/ComputeCon/ComputeConAttr//Constr-compattr-compname-6, EXPECTED_ERROR_GOT_FAILURE
+Expressions/Construct/ComputeCon/ComputeConAttr//Constr-compattr-compname-7, EXPECTED_ERROR_GOT_FAILURE
+Expressions/Construct/ComputeCon/ComputeConAttr//Constr-compattr-compname-8, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/ComputeCon/ComputeConAttr//Constr-compattr-compname-9, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/ComputeCon/ComputeConAttr//Constr-compattr-data-1, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/ComputeCon/ComputeConAttr//Constr-compattr-doc-1, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/ComputeCon/ComputeConAttr//Constr-compattr-enclexpr-1, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/ComputeCon/ComputeConAttr//Constr-compattr-enclexpr-2, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/ComputeCon/ComputeConAttr//Constr-compattr-enclexpr-3, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/ComputeCon/ComputeConAttr//Constr-compattr-enclexpr-4, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/ComputeCon/ComputeConAttr//Constr-compattr-id-1, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/ComputeCon/ComputeConAttr//Constr-compattr-id-2, EXPECTED_ERROR_GOT_RESULT
+Expressions/Construct/ComputeCon/ComputeConAttr//Constr-compattr-name-1, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/ComputeCon/ComputeConAttr//Constr-compattr-name-2, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/ComputeCon/ComputeConAttr//Constr-compattr-name-3, EXPECTED_ERROR_GOT_SAME_ERROR
+Expressions/Construct/ComputeCon/ComputeConAttr//Constr-compattr-parent-1, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/ComputeCon/ComputeConAttr//Constr-compattr-string-1, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/ComputeCon/ComputeConAttr//constattrerr-1, EXPECTED_ERROR_GOT_RESULT
+Expressions/Construct/ComputeCon/ComputeConComment//Constr-compcomment-dash-1, EXPECTED_ERROR_GOT_RESULT
+Expressions/Construct/ComputeCon/ComputeConComment//Constr-compcomment-dash-2, EXPECTED_ERROR_GOT_RESULT
+Expressions/Construct/ComputeCon/ComputeConComment//Constr-compcomment-dash-3, EXPECTED_ERROR_GOT_RESULT
+Expressions/Construct/ComputeCon/ComputeConComment//Constr-compcomment-dash-4, EXPECTED_ERROR_GOT_FAILURE
+Expressions/Construct/ComputeCon/ComputeConComment//Constr-compcomment-data-1, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/ComputeCon/ComputeConComment//Constr-compcomment-doc-1, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/ComputeCon/ComputeConComment//Constr-compcomment-doubledash-1, EXPECTED_ERROR_GOT_RESULT
+Expressions/Construct/ComputeCon/ComputeConComment//Constr-compcomment-doubledash-2, EXPECTED_ERROR_GOT_RESULT
+Expressions/Construct/ComputeCon/ComputeConComment//Constr-compcomment-doubledash-3, EXPECTED_ERROR_GOT_RESULT
+Expressions/Construct/ComputeCon/ComputeConComment//Constr-compcomment-doubledash-4, EXPECTED_ERROR_GOT_FAILURE
+Expressions/Construct/ComputeCon/ComputeConComment//Constr-compcomment-doubledash-5, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/ComputeCon/ComputeConComment//Constr-compcomment-enclexpr-1, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/ComputeCon/ComputeConComment//Constr-compcomment-enclexpr-2, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/ComputeCon/ComputeConComment//Constr-compcomment-enclexpr-3, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/ComputeCon/ComputeConComment//Constr-compcomment-enclexpr-4, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/ComputeCon/ComputeConComment//Constr-compcomment-enclexpr-5, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/ComputeCon/ComputeConComment//Constr-compcomment-nested-1, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/ComputeCon/ComputeConComment//Constr-compcomment-nested-2, EXPECTED_RESULT_GOT_SAME_RESULT
+Expressions/Construct/ComputeCon/ComputeConComment//Constr-compcomment-nested-3, EXPECTED_RESULT_GOT_ERROR
+Expressions/Construct/ComputeCon/ComputeConComment//Constr-compcomment-parent-1, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/ComputeCon/ComputeConComment//Constr-compcomment-string-1, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/ComputeCon/ComputeConElem//Constr-compelem-adjtext-1, EXPECTED_RESULT_GOT_SAME_RESULT
+Expressions/Construct/ComputeCon/ComputeConElem//Constr-compelem-adjtext-2, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/ComputeCon/ComputeConElem//Constr-compelem-adjtext-3, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/ComputeCon/ComputeConElem//Constr-compelem-attr-1, EXPECTED_ERROR_GOT_FAILURE
+Expressions/Construct/ComputeCon/ComputeConElem//Constr-compelem-attr-2, EXPECTED_ERROR_GOT_FAILURE
+Expressions/Construct/ComputeCon/ComputeConElem//Constr-compelem-attr-3, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/ComputeCon/ComputeConElem//Constr-compelem-attr-4, EXPECTED_ERROR_GOT_FAILURE
+Expressions/Construct/ComputeCon/ComputeConElem//Constr-compelem-baseuri-1, EXPECTED_RESULT_GOT_ERROR
+Expressions/Construct/ComputeCon/ComputeConElem//Constr-compelem-baseuri-2, EXPECTED_RESULT_GOT_ERROR
+Expressions/Construct/ComputeCon/ComputeConElem//Constr-compelem-baseuri-3, EXPECTED_RESULT_GOT_ERROR
+Expressions/Construct/ComputeCon/ComputeConElem//Constr-compelem-compname-1, EXPECTED_ERROR_GOT_FAILURE
+Expressions/Construct/ComputeCon/ComputeConElem//Constr-compelem-compname-10, EXPECTED_RESULT_GOT_SAME_RESULT
+Expressions/Construct/ComputeCon/ComputeConElem//Constr-compelem-compname-11, EXPECTED_RESULT_GOT_SAME_RESULT
+Expressions/Construct/ComputeCon/ComputeConElem//Constr-compelem-compname-12, EXPECTED_RESULT_GOT_SAME_RESULT
+Expressions/Construct/ComputeCon/ComputeConElem//Constr-compelem-compname-13, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/ComputeCon/ComputeConElem//Constr-compelem-compname-14, EXPECTED_ERROR_GOT_RESULT
+Expressions/Construct/ComputeCon/ComputeConElem//Constr-compelem-compname-15, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/ComputeCon/ComputeConElem//Constr-compelem-compname-16, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/ComputeCon/ComputeConElem//Constr-compelem-compname-17, EXPECTED_ERROR_GOT_FAILURE
+Expressions/Construct/ComputeCon/ComputeConElem//Constr-compelem-compname-18, EXPECTED_ERROR_GOT_RESULT
+Expressions/Construct/ComputeCon/ComputeConElem//Constr-compelem-compname-19, EXPECTED_ERROR_GOT_FAILURE
+Expressions/Construct/ComputeCon/ComputeConElem//Constr-compelem-compname-2, EXPECTED_ERROR_GOT_FAILURE
+Expressions/Construct/ComputeCon/ComputeConElem//Constr-compelem-compname-3, EXPECTED_ERROR_GOT_FAILURE
+Expressions/Construct/ComputeCon/ComputeConElem//Constr-compelem-compname-4, EXPECTED_ERROR_GOT_FAILURE
+Expressions/Construct/ComputeCon/ComputeConElem//Constr-compelem-compname-5, EXPECTED_ERROR_GOT_FAILURE
+Expressions/Construct/ComputeCon/ComputeConElem//Constr-compelem-compname-6, EXPECTED_ERROR_GOT_FAILURE
+Expressions/Construct/ComputeCon/ComputeConElem//Constr-compelem-compname-7, EXPECTED_ERROR_GOT_FAILURE
+Expressions/Construct/ComputeCon/ComputeConElem//Constr-compelem-compname-8, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/ComputeCon/ComputeConElem//Constr-compelem-compname-9, EXPECTED_RESULT_GOT_SAME_RESULT
+Expressions/Construct/ComputeCon/ComputeConElem//Constr-compelem-constrmod-3, EXPECTED_ERROR_GOT_FAILURE
+Expressions/Construct/ComputeCon/ComputeConElem//Constr-compelem-constrmod-4, EXPECTED_ERROR_GOT_FAILURE
+Expressions/Construct/ComputeCon/ComputeConElem//Constr-compelem-constrmod-7, EXPECTED_ERROR_GOT_FAILURE
+Expressions/Construct/ComputeCon/ComputeConElem//Constr-compelem-constrmod-8, EXPECTED_ERROR_GOT_FAILURE
+Expressions/Construct/ComputeCon/ComputeConElem//Constr-compelem-data-1, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/ComputeCon/ComputeConElem//Constr-compelem-doc-1, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/ComputeCon/ComputeConElem//Constr-compelem-enclexpr-1, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/ComputeCon/ComputeConElem//Constr-compelem-enclexpr-2, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/ComputeCon/ComputeConElem//Constr-compelem-enclexpr-3, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/ComputeCon/ComputeConElem//Constr-compelem-enclexpr-4, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/ComputeCon/ComputeConElem//Constr-compelem-name-1, EXPECTED_RESULT_GOT_SAME_RESULT
+Expressions/Construct/ComputeCon/ComputeConElem//Constr-compelem-name-2, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/ComputeCon/ComputeConElem//Constr-compelem-name-3, EXPECTED_ERROR_GOT_SAME_ERROR
+Expressions/Construct/ComputeCon/ComputeConElem//Constr-compelem-nested-1, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/ComputeCon/ComputeConElem//Constr-compelem-nested-2, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/ComputeCon/ComputeConElem//Constr-compelem-nodeid-1, EXPECTED_RESULT_GOT_ERROR
+Expressions/Construct/ComputeCon/ComputeConElem//Constr-compelem-nodeid-2, EXPECTED_RESULT_GOT_ERROR
+Expressions/Construct/ComputeCon/ComputeConElem//Constr-compelem-nodeid-3, EXPECTED_RESULT_GOT_ERROR
+Expressions/Construct/ComputeCon/ComputeConElem//Constr-compelem-nodeid-4, EXPECTED_RESULT_GOT_ERROR
+Expressions/Construct/ComputeCon/ComputeConElem//Constr-compelem-nodeid-5, EXPECTED_RESULT_GOT_ERROR
+Expressions/Construct/ComputeCon/ComputeConElem//Constr-compelem-parent-1, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/ComputeCon/ComputeConElem//Constr-compelem-string-1, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/ComputeCon/ComputeConPI//Constr-comppi-compname-1, EXPECTED_ERROR_GOT_RESULT
+Expressions/Construct/ComputeCon/ComputeConPI//Constr-comppi-compname-10, EXPECTED_RESULT_GOT_SAME_RESULT
+Expressions/Construct/ComputeCon/ComputeConPI//Constr-comppi-compname-11, EXPECTED_RESULT_GOT_SAME_RESULT
+Expressions/Construct/ComputeCon/ComputeConPI//Constr-comppi-compname-12, EXPECTED_RESULT_GOT_SAME_RESULT
+Expressions/Construct/ComputeCon/ComputeConPI//Constr-comppi-compname-13, EXPECTED_ERROR_GOT_RESULT
+Expressions/Construct/ComputeCon/ComputeConPI//Constr-comppi-compname-15, EXPECTED_RESULT_GOT_SAME_RESULT
+Expressions/Construct/ComputeCon/ComputeConPI//Constr-comppi-compname-16, EXPECTED_ERROR_GOT_RESULT
+Expressions/Construct/ComputeCon/ComputeConPI//Constr-comppi-compname-18, EXPECTED_ERROR_GOT_RESULT
+Expressions/Construct/ComputeCon/ComputeConPI//Constr-comppi-compname-19, EXPECTED_ERROR_GOT_RESULT
+Expressions/Construct/ComputeCon/ComputeConPI//Constr-comppi-compname-2, EXPECTED_ERROR_GOT_RESULT
+Expressions/Construct/ComputeCon/ComputeConPI//Constr-comppi-compname-3, EXPECTED_ERROR_GOT_RESULT
+Expressions/Construct/ComputeCon/ComputeConPI//Constr-comppi-compname-4, EXPECTED_ERROR_GOT_FAILURE
+Expressions/Construct/ComputeCon/ComputeConPI//Constr-comppi-compname-5, EXPECTED_ERROR_GOT_RESULT
+Expressions/Construct/ComputeCon/ComputeConPI//Constr-comppi-compname-6, EXPECTED_ERROR_GOT_RESULT
+Expressions/Construct/ComputeCon/ComputeConPI//Constr-comppi-compname-7, EXPECTED_ERROR_GOT_RESULT
+Expressions/Construct/ComputeCon/ComputeConPI//Constr-comppi-compname-8, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/ComputeCon/ComputeConPI//Constr-comppi-compname-9, EXPECTED_ERROR_GOT_FAILURE
+Expressions/Construct/ComputeCon/ComputeConPI//Constr-comppi-data-1, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/ComputeCon/ComputeConPI//Constr-comppi-doc-1, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/ComputeCon/ComputeConPI//Constr-comppi-empty-1, EXPECTED_RESULT_GOT_SAME_RESULT
+Expressions/Construct/ComputeCon/ComputeConPI//Constr-comppi-empty-2, EXPECTED_RESULT_GOT_SAME_RESULT
+Expressions/Construct/ComputeCon/ComputeConPI//Constr-comppi-enclexpr-1, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/ComputeCon/ComputeConPI//Constr-comppi-enclexpr-2, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/ComputeCon/ComputeConPI//Constr-comppi-enclexpr-3, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/ComputeCon/ComputeConPI//Constr-comppi-enclexpr-4, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/ComputeCon/ComputeConPI//Constr-comppi-enclexpr-5, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/ComputeCon/ComputeConPI//Constr-comppi-invalid-1, EXPECTED_ERROR_GOT_RESULT
+Expressions/Construct/ComputeCon/ComputeConPI//Constr-comppi-invalid-2, EXPECTED_ERROR_GOT_RESULT
+Expressions/Construct/ComputeCon/ComputeConPI//Constr-comppi-invalid-3, EXPECTED_ERROR_GOT_RESULT
+Expressions/Construct/ComputeCon/ComputeConPI//Constr-comppi-name-1, EXPECTED_RESULT_GOT_SAME_RESULT
+Expressions/Construct/ComputeCon/ComputeConPI//Constr-comppi-name-2, EXPECTED_ERROR_GOT_SAME_ERROR
+Expressions/Construct/ComputeCon/ComputeConPI//Constr-comppi-namexml-1, EXPECTED_ERROR_GOT_RESULT
+Expressions/Construct/ComputeCon/ComputeConPI//Constr-comppi-namexml-2, EXPECTED_ERROR_GOT_RESULT
+Expressions/Construct/ComputeCon/ComputeConPI//Constr-comppi-namexml-3, EXPECTED_ERROR_GOT_RESULT
+Expressions/Construct/ComputeCon/ComputeConPI//Constr-comppi-namexml-4, EXPECTED_ERROR_GOT_RESULT
+Expressions/Construct/ComputeCon/ComputeConPI//Constr-comppi-parent-1, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/ComputeCon/ComputeConPI//Constr-comppi-space-1, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/ComputeCon/ComputeConPI//Constr-comppi-space-2, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/ComputeCon/ComputeConPI//Constr-comppi-space-3, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/ComputeCon/ComputeConPI//Constr-comppi-space-4, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/ComputeCon/ComputeConPI//Constr-comppi-string-1, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/ComputeCon/ConDocNode//Constr-docnode-adjtext-1, EXPECTED_RESULT_GOT_ERROR
+Expressions/Construct/ComputeCon/ConDocNode//Constr-docnode-adjtext-2, EXPECTED_RESULT_GOT_ERROR
+Expressions/Construct/ComputeCon/ConDocNode//Constr-docnode-adjtext-3, EXPECTED_RESULT_GOT_ERROR
+Expressions/Construct/ComputeCon/ConDocNode//Constr-docnode-attr-1, EXPECTED_ERROR_GOT_DIFFERENT_ERROR
+Expressions/Construct/ComputeCon/ConDocNode//Constr-docnode-attr-2, EXPECTED_ERROR_GOT_DIFFERENT_ERROR
+Expressions/Construct/ComputeCon/ConDocNode//Constr-docnode-attr-3, EXPECTED_ERROR_GOT_DIFFERENT_ERROR
+Expressions/Construct/ComputeCon/ConDocNode//Constr-docnode-constrmod-1, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/ComputeCon/ConDocNode//Constr-docnode-constrmod-2, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/ComputeCon/ConDocNode//Constr-docnode-constrmod-3, EXPECTED_ERROR_GOT_DIFFERENT_ERROR
+Expressions/Construct/ComputeCon/ConDocNode//Constr-docnode-constrmod-4, EXPECTED_ERROR_GOT_DIFFERENT_ERROR
+Expressions/Construct/ComputeCon/ConDocNode//Constr-docnode-data-1, EXPECTED_RESULT_GOT_ERROR
+Expressions/Construct/ComputeCon/ConDocNode//Constr-docnode-doc-1, EXPECTED_ERROR_GOT_DIFFERENT_ERROR
+Expressions/Construct/ComputeCon/ConDocNode//Constr-docnode-enclexpr-1, EXPECTED_RESULT_GOT_ERROR
+Expressions/Construct/ComputeCon/ConDocNode//Constr-docnode-enclexpr-2, EXPECTED_RESULT_GOT_ERROR
+Expressions/Construct/ComputeCon/ConDocNode//Constr-docnode-enclexpr-3, EXPECTED_RESULT_GOT_ERROR
+Expressions/Construct/ComputeCon/ConDocNode//Constr-docnode-enclexpr-4, EXPECTED_RESULT_GOT_ERROR
+Expressions/Construct/ComputeCon/ConDocNode//Constr-docnode-nested-1, EXPECTED_RESULT_GOT_ERROR
+Expressions/Construct/ComputeCon/ConDocNode//Constr-docnode-nested-2, EXPECTED_RESULT_GOT_ERROR
+Expressions/Construct/ComputeCon/ConDocNode//Constr-docnode-nested-3, EXPECTED_RESULT_GOT_ERROR
+Expressions/Construct/ComputeCon/ConDocNode//Constr-docnode-nested-4, EXPECTED_RESULT_GOT_ERROR
+Expressions/Construct/ComputeCon/ConDocNode//Constr-docnode-nodeid-1, EXPECTED_RESULT_GOT_ERROR
+Expressions/Construct/ComputeCon/ConDocNode//Constr-docnode-nodeid-3, EXPECTED_RESULT_GOT_ERROR
+Expressions/Construct/ComputeCon/ConDocNode//Constr-docnode-nodeid-4, EXPECTED_RESULT_GOT_ERROR
+Expressions/Construct/ComputeCon/ConDocNode//Constr-docnode-nodeid-5, EXPECTED_RESULT_GOT_ERROR
+Expressions/Construct/ComputeCon/ConDocNode//Constr-docnode-parent-1, EXPECTED_ERROR_GOT_FAILURE
+Expressions/Construct/ComputeCon/ConDocNode//Constr-docnode-string-1, EXPECTED_RESULT_GOT_ERROR
+Expressions/Construct/ComputeCon/ConText//Constr-text-adjtext-1, EXPECTED_RESULT_GOT_SAME_RESULT
+Expressions/Construct/ComputeCon/ConText//Constr-text-adjtext-2, EXPECTED_RESULT_GOT_ERROR
+Expressions/Construct/ComputeCon/ConText//Constr-text-count-1, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/ComputeCon/ConText//Constr-text-count-2, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/ComputeCon/ConText//Constr-text-count-3, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/ComputeCon/ConText//Constr-text-count-4, EXPECTED_ERROR_GOT_DIFFERENT_ERROR
+Expressions/Construct/ComputeCon/ConText//Constr-text-count-5, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/ComputeCon/ConText//Constr-text-count-6, EXPECTED_ERROR_GOT_DIFFERENT_ERROR
+Expressions/Construct/ComputeCon/ConText//Constr-text-data-1, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/ComputeCon/ConText//Constr-text-doc-1, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/ComputeCon/ConText//Constr-text-enclexpr-1, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/ComputeCon/ConText//Constr-text-enclexpr-2, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/ComputeCon/ConText//Constr-text-enclexpr-3, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/ComputeCon/ConText//Constr-text-enclexpr-4, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/ComputeCon/ConText//Constr-text-enclexpr-5, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/ComputeCon/ConText//Constr-text-nested-1, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/ComputeCon/ConText//Constr-text-nested-2, EXPECTED_RESULT_GOT_SAME_RESULT
+Expressions/Construct/ComputeCon/ConText//Constr-text-nested-3, EXPECTED_RESULT_GOT_ERROR
+Expressions/Construct/ComputeCon/ConText//Constr-text-parent-1, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/ComputeCon/ConText//Constr-text-string-1, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/ConInScopeNamespace//Constr-inscope-1, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/ConInScopeNamespace//Constr-inscope-10, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/ConInScopeNamespace//Constr-inscope-11, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/ConInScopeNamespace//Constr-inscope-12, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/ConInScopeNamespace//Constr-inscope-13, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/ConInScopeNamespace//Constr-inscope-14, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/ConInScopeNamespace//Constr-inscope-15, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/ConInScopeNamespace//Constr-inscope-16, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/ConInScopeNamespace//Constr-inscope-17, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/ConInScopeNamespace//Constr-inscope-18, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/ConInScopeNamespace//Constr-inscope-19, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/ConInScopeNamespace//Constr-inscope-2, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/ConInScopeNamespace//Constr-inscope-20, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/ConInScopeNamespace//Constr-inscope-3, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/ConInScopeNamespace//Constr-inscope-4, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/ConInScopeNamespace//Constr-inscope-5, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/ConInScopeNamespace//Constr-inscope-6, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/ConInScopeNamespace//Constr-inscope-7, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/ConInScopeNamespace//Constr-inscope-8, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/ConInScopeNamespace//Constr-inscope-9, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/DirectConElem//Constr-elem-curlybr-1, EXPECTED_RESULT_GOT_SAME_RESULT
+Expressions/Construct/DirectConElem//Constr-elem-curlybr-2, EXPECTED_RESULT_GOT_SAME_RESULT
+Expressions/Construct/DirectConElem//Constr-elem-curlybr-3, EXPECTED_RESULT_GOT_SAME_RESULT
+Expressions/Construct/DirectConElem//Constr-elem-curlybr-4, EXPECTED_RESULT_GOT_SAME_RESULT
+Expressions/Construct/DirectConElem//Constr-elem-curlybr-5, EXPECTED_ERROR_GOT_SAME_ERROR
+Expressions/Construct/DirectConElem//Constr-elem-curlybr-6, EXPECTED_ERROR_GOT_SAME_ERROR
+Expressions/Construct/DirectConElem//Constr-elem-empty-1, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/DirectConElem//Constr-elem-empty-2, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/DirectConElem//Constr-elem-empty-3, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/DirectConElem//Constr-elem-empty-4, EXPECTED_ERROR_GOT_FAILURE
+Expressions/Construct/DirectConElem//Constr-elem-empty-5, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/DirectConElem//Constr-elem-matchtag-1, EXPECTED_ERROR_GOT_SAME_ERROR
+Expressions/Construct/DirectConElem//Constr-elem-matchtag-2, EXPECTED_ERROR_GOT_SAME_ERROR
+Expressions/Construct/DirectConElem/DirectConElemAttr//Constr-attr-charref-1, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/DirectConElem/DirectConElemAttr//Constr-attr-content-1, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/DirectConElem/DirectConElemAttr//Constr-attr-content-2, EXPECTED_ERROR_GOT_SAME_ERROR
+Expressions/Construct/DirectConElem/DirectConElemAttr//Constr-attr-content-3, EXPECTED_ERROR_GOT_SAME_ERROR
+Expressions/Construct/DirectConElem/DirectConElemAttr//Constr-attr-content-4, EXPECTED_ERROR_GOT_SAME_ERROR
+Expressions/Construct/DirectConElem/DirectConElemAttr//Constr-attr-content-5, EXPECTED_ERROR_GOT_SAME_ERROR
+Expressions/Construct/DirectConElem/DirectConElemAttr//Constr-attr-distnames-1, EXPECTED_ERROR_GOT_RESULT
+Expressions/Construct/DirectConElem/DirectConElemAttr//Constr-attr-distnames-2, EXPECTED_ERROR_GOT_RESULT
+Expressions/Construct/DirectConElem/DirectConElemAttr//Constr-attr-distnames-3, EXPECTED_ERROR_GOT_RESULT
+Expressions/Construct/DirectConElem/DirectConElemAttr//Constr-attr-distnames-4, EXPECTED_ERROR_GOT_RESULT
+Expressions/Construct/DirectConElem/DirectConElemAttr//Constr-attr-enclexpr-1, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/DirectConElem/DirectConElemAttr//Constr-attr-enclexpr-2, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/DirectConElem/DirectConElemAttr//Constr-attr-enclexpr-3, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/DirectConElem/DirectConElemAttr//Constr-attr-enclexpr-4, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/DirectConElem/DirectConElemAttr//Constr-attr-enclexpr-5, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/DirectConElem/DirectConElemAttr//Constr-attr-enclexpr-6, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/DirectConElem/DirectConElemAttr//Constr-attr-enclexpr-7, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/DirectConElem/DirectConElemAttr//Constr-attr-enclexpr-8, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/DirectConElem/DirectConElemAttr//Constr-attr-entref-1, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/DirectConElem/DirectConElemAttr//Constr-attr-entref-2, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/DirectConElem/DirectConElemAttr//Constr-attr-id-1, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/DirectConElem/DirectConElemAttr//Constr-attr-id-2, EXPECTED_ERROR_GOT_RESULT
+Expressions/Construct/DirectConElem/DirectConElemAttr//Constr-attr-nsdecl-1, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/DirectConElem/DirectConElemAttr//Constr-attr-nsdecl-2, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/DirectConElem/DirectConElemAttr//Constr-attr-nspre-1, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/DirectConElem/DirectConElemAttr//Constr-attr-nspre-2, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/DirectConElem/DirectConElemAttr//Constr-attr-nsprein-1, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/DirectConElem/DirectConElemAttr//Constr-attr-nsprein-2, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/DirectConElem/DirectConElemAttr//Constr-attr-parent-1, EXPECTED_RESULT_GOT_ERROR
+Expressions/Construct/DirectConElem/DirectConElemAttr//Constr-attr-syntax-1, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/DirectConElem/DirectConElemAttr//Constr-attr-syntax-10, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/DirectConElem/DirectConElemAttr//Constr-attr-syntax-2, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/DirectConElem/DirectConElemAttr//Constr-attr-syntax-3, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/DirectConElem/DirectConElemAttr//Constr-attr-syntax-4, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/DirectConElem/DirectConElemAttr//Constr-attr-syntax-5, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/DirectConElem/DirectConElemAttr//Constr-attr-syntax-6, EXPECTED_ERROR_GOT_SAME_ERROR
+Expressions/Construct/DirectConElem/DirectConElemAttr//Constr-attr-syntax-7, EXPECTED_ERROR_GOT_SAME_ERROR
+Expressions/Construct/DirectConElem/DirectConElemAttr//Constr-attr-syntax-8, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/DirectConElem/DirectConElemAttr//Constr-attr-syntax-9, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/DirectConElem/DirectConElemAttr//Constr-attr-ws-1, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/DirectConElem/DirectConElemAttr//Constr-attr-ws-2, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/DirectConElem/DirectConElemAttr//Constr-attr-ws-3, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/DirectConElem/DirectConElemAttr//Constr-attr-ws-4, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/DirectConElem/DirectConElemAttr//Constr-attr-ws-5, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-adjtext-1, EXPECTED_RESULT_GOT_SAME_RESULT
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-adjtext-2, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-adjtext-3, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-adjtext-4, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-attr-1, EXPECTED_ERROR_GOT_FAILURE
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-attr-2, EXPECTED_ERROR_GOT_FAILURE
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-attr-3, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-attr-4, EXPECTED_ERROR_GOT_FAILURE
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-attr-5, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-attr-6, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-attr-7, EXPECTED_ERROR_GOT_FAILURE
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-attr-8, EXPECTED_ERROR_GOT_FAILURE
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-attr-9, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-baseuri-1, EXPECTED_RESULT_GOT_ERROR
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-baseuri-2, EXPECTED_RESULT_GOT_ERROR
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-baseuri-3, EXPECTED_RESULT_GOT_ERROR
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-cdata-1, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-charref-1, EXPECTED_RESULT_GOT_SAME_RESULT
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-charref-2, EXPECTED_ERROR_GOT_FAILURE
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-constrmod-1, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-constrmod-2, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-constrmod-3, EXPECTED_ERROR_GOT_FAILURE
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-constrmod-4, EXPECTED_ERROR_GOT_FAILURE
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-constrmod-5, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-constrmod-6, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-constrmod-7, EXPECTED_ERROR_GOT_FAILURE
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-constrmod-8, EXPECTED_ERROR_GOT_FAILURE
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-data-1, EXPECTED_RESULT_GOT_SAME_RESULT
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-doc-1, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-document-1, EXPECTED_RESULT_GOT_ERROR
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-document-2, EXPECTED_RESULT_GOT_ERROR
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-document-3, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-document-4, EXPECTED_RESULT_GOT_ERROR
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-document-5, EXPECTED_RESULT_GOT_ERROR
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-enclexpr-1, EXPECTED_RESULT_GOT_SAME_RESULT
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-enclexpr-2, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-enclexpr-3, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-enclexpr-4, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-enclexpr-5, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-entref-1, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-entref-2, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-entref-3, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-entref-4, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-entref-5, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-eol-1, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-eol-2, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-eol-3, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-eol-4, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-invalid-1, EXPECTED_ERROR_GOT_SAME_ERROR
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-invalid-2, EXPECTED_ERROR_GOT_SAME_ERROR
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-invalid-3, EXPECTED_ERROR_GOT_SAME_ERROR
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-invalid-4, EXPECTED_ERROR_GOT_SAME_ERROR
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-nested-1, EXPECTED_RESULT_GOT_DIFFERENT_RESULT
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-nested-2, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-nested-3, EXPECTED_RESULT_GOT_SAME_RESULT
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-nested-4, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-nested-5, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-nodeid-1, EXPECTED_RESULT_GOT_ERROR
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-nodeid-2, EXPECTED_RESULT_GOT_ERROR
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-nodeid-3, EXPECTED_RESULT_GOT_ERROR
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-nodeid-4, EXPECTED_RESULT_GOT_ERROR
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-nodeid-5, EXPECTED_RESULT_GOT_ERROR
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-nsmode-1, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-nsmode-10, EXPECTED_ERROR_GOT_FAILURE
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-nsmode-11, EXPECTED_RESULT_GOT_ERROR
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-nsmode-2, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-nsmode-3, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-nsmode-4, EXPECTED_RESULT_GOT_FAILURE
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-nsmode-5, EXPECTED_ERROR_GOT_FAILURE
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-nsmode-6, EXPECTED_ERROR_GOT_FAILURE
+Expressions/Construct/DirectConElem/DirectConElemContent//Constr-cont-nsmode-7, EXPECT

<TRUNCATED>

[02/14] git commit: Adding the xqts test results to the vxquery-xtest project. The goal is to now have a test result version we can compare against with each release.

Posted by pr...@apache.org.
Adding the xqts test results to the vxquery-xtest project. The goal is to now have a test result version we can compare against with each release.


Project: http://git-wip-us.apache.org/repos/asf/incubator-vxquery/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-vxquery/commit/ef04365e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-vxquery/tree/ef04365e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-vxquery/diff/ef04365e

Branch: refs/heads/prestonc/parser
Commit: ef04365e03af17e9c38b65cf0136b440ae7bffd7
Parents: 5673d9e
Author: Preston Carman <pr...@apache.org>
Authored: Wed Feb 19 11:18:10 2014 -0800
Committer: Preston Carman <pr...@apache.org>
Committed: Wed Feb 19 11:18:10 2014 -0800

----------------------------------------------------------------------
 vxquery-xtest/results/README.md |     4 +
 vxquery-xtest/results/xqts.txt  | 19221 +++++++++++++++++++++++++++++++++
 2 files changed, 19225 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-vxquery/blob/ef04365e/vxquery-xtest/results/README.md
----------------------------------------------------------------------
diff --git a/vxquery-xtest/results/README.md b/vxquery-xtest/results/README.md
new file mode 100644
index 0000000..c620dc1
--- /dev/null
+++ b/vxquery-xtest/results/README.md
@@ -0,0 +1,4 @@
+= XQTS Text Results =
+
+The xqts.txt file holds the results from running the XQTS tests. The results
+have been sorted through the linux sort command.
\ No newline at end of file


[04/14] git commit: Added default values for start and end date. Now they are only updated when timing is enabled.

Posted by pr...@apache.org.
Added default values for start and end date. Now they are only updated when timing is enabled.


Project: http://git-wip-us.apache.org/repos/asf/incubator-vxquery/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-vxquery/commit/dcce8f7d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-vxquery/tree/dcce8f7d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-vxquery/diff/dcce8f7d

Branch: refs/heads/prestonc/parser
Commit: dcce8f7de63aaa807e6a8d46d82c75b4aa062b7d
Parents: b594f02
Author: Preston Carman <pr...@apache.org>
Authored: Wed Feb 19 11:21:56 2014 -0800
Committer: Preston Carman <pr...@apache.org>
Committed: Wed Feb 19 11:21:56 2014 -0800

----------------------------------------------------------------------
 .../src/main/java/org/apache/vxquery/cli/VXQuery.java        | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-vxquery/blob/dcce8f7d/vxquery-cli/src/main/java/org/apache/vxquery/cli/VXQuery.java
----------------------------------------------------------------------
diff --git a/vxquery-cli/src/main/java/org/apache/vxquery/cli/VXQuery.java b/vxquery-cli/src/main/java/org/apache/vxquery/cli/VXQuery.java
index da6f40b..7e3abfc 100644
--- a/vxquery-cli/src/main/java/org/apache/vxquery/cli/VXQuery.java
+++ b/vxquery-cli/src/main/java/org/apache/vxquery/cli/VXQuery.java
@@ -169,8 +169,8 @@ public class VXQuery {
      * @throws Exception
      */
     private void runQueries() throws IOException, SystemException, Exception {
-        Date start;
-        Date end;
+        Date start = null;
+        Date end = null;
         for (String query : opts.arguments) {
             String qStr = slurp(query);
             if (opts.showQuery) {
@@ -248,7 +248,7 @@ public class VXQuery {
                 }
             };
 
-            start = new Date();
+            start = opts.timing ? new Date() : null;
             XMLQueryCompiler compiler = new XMLQueryCompiler(listener, getNodeList(), opts.frameSize);
             resultSetId = createResultSetId();
             CompilerControlBlock ccb = new CompilerControlBlock(new StaticContextImpl(RootStaticContextImpl.INSTANCE),
@@ -274,7 +274,7 @@ public class VXQuery {
             PrintWriter writer = new PrintWriter(System.out, true);
             // Repeat execution for number of times provided in -repeatexec argument
             for (int i = 0; i < opts.repeatExec; ++i) {
-                start = new Date();
+                start = opts.timing ? new Date() : null;
                 runJob(js, writer);
                 // if -timing argument passed, show the starting and ending times
                 if (opts.timing) {


[03/14] git commit: Changed the function name to be more consistent with other classes.

Posted by pr...@apache.org.
Changed the function name to be more consistent with other classes.


Project: http://git-wip-us.apache.org/repos/asf/incubator-vxquery/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-vxquery/commit/b594f027
Tree: http://git-wip-us.apache.org/repos/asf/incubator-vxquery/tree/b594f027
Diff: http://git-wip-us.apache.org/repos/asf/incubator-vxquery/diff/b594f027

Branch: refs/heads/prestonc/parser
Commit: b594f0273c55119fd15e64df8a2f15fcaaa8c44b
Parents: ef04365
Author: Preston Carman <pr...@apache.org>
Authored: Wed Feb 19 11:19:37 2014 -0800
Committer: Preston Carman <pr...@apache.org>
Committed: Wed Feb 19 11:19:37 2014 -0800

----------------------------------------------------------------------
 .../rewriter/rules/RemoveRedundantTreatExpressionsRule.java        | 2 +-
 .../apache/vxquery/runtime/functions/type/SequenceTypeMatcher.java | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-vxquery/blob/b594f027/vxquery-core/src/main/java/org/apache/vxquery/compiler/rewriter/rules/RemoveRedundantTreatExpressionsRule.java
----------------------------------------------------------------------
diff --git a/vxquery-core/src/main/java/org/apache/vxquery/compiler/rewriter/rules/RemoveRedundantTreatExpressionsRule.java b/vxquery-core/src/main/java/org/apache/vxquery/compiler/rewriter/rules/RemoveRedundantTreatExpressionsRule.java
index ef23f30..60058bc 100644
--- a/vxquery-core/src/main/java/org/apache/vxquery/compiler/rewriter/rules/RemoveRedundantTreatExpressionsRule.java
+++ b/vxquery-core/src/main/java/org/apache/vxquery/compiler/rewriter/rules/RemoveRedundantTreatExpressionsRule.java
@@ -57,7 +57,7 @@ public class RemoveRedundantTreatExpressionsRule extends AbstractRemoveRedundant
     public boolean matchesAllInstancesOf(SequenceType sTypeArg, SequenceType sTypeOutput) {
         if (sTypeArg != null) {
             stm.setSequenceType(sTypeArg);
-            if (sTypeOutput != null && stm.isSubType(sTypeOutput)) {
+            if (sTypeOutput != null && stm.matchesAllInstances(sTypeOutput)) {
                 return true;
             }
         }

http://git-wip-us.apache.org/repos/asf/incubator-vxquery/blob/b594f027/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/type/SequenceTypeMatcher.java
----------------------------------------------------------------------
diff --git a/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/type/SequenceTypeMatcher.java b/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/type/SequenceTypeMatcher.java
index 5142ac4..12d0d93 100644
--- a/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/type/SequenceTypeMatcher.java
+++ b/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/type/SequenceTypeMatcher.java
@@ -153,7 +153,7 @@ public class SequenceTypeMatcher {
         return false;
     }
 
-    public boolean isSubType(SequenceType testST) {
+    public boolean matchesAllInstances(SequenceType testST) {
         Quantifier stq = sequenceType.getQuantifier();
         ItemType it = sequenceType.getItemType();
         if (stq.isSubQuantifier(testST.getQuantifier())) {


[14/14] git commit: Tracking both old and new parsers.

Posted by pr...@apache.org.
Tracking both old and new parsers.


Project: http://git-wip-us.apache.org/repos/asf/incubator-vxquery/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-vxquery/commit/278c0db4
Tree: http://git-wip-us.apache.org/repos/asf/incubator-vxquery/tree/278c0db4
Diff: http://git-wip-us.apache.org/repos/asf/incubator-vxquery/diff/278c0db4

Branch: refs/heads/prestonc/parser
Commit: 278c0db437a41b2feb53fc133969457ee4dd0e17
Parents: b3aee30
Author: Preston Carman <pr...@apache.org>
Authored: Wed Feb 19 15:28:23 2014 -0800
Committer: Preston Carman <pr...@apache.org>
Committed: Thu Feb 27 14:24:55 2014 -0800

----------------------------------------------------------------------
 .../vxquery/xmlparser/SAXContentHandler.java    | 232 +++++++++++++++++--
 1 file changed, 214 insertions(+), 18 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-vxquery/blob/278c0db4/vxquery-core/src/main/java/org/apache/vxquery/xmlparser/SAXContentHandler.java
----------------------------------------------------------------------
diff --git a/vxquery-core/src/main/java/org/apache/vxquery/xmlparser/SAXContentHandler.java b/vxquery-core/src/main/java/org/apache/vxquery/xmlparser/SAXContentHandler.java
index 40a35b0..2b3d613 100644
--- a/vxquery-core/src/main/java/org/apache/vxquery/xmlparser/SAXContentHandler.java
+++ b/vxquery-core/src/main/java/org/apache/vxquery/xmlparser/SAXContentHandler.java
@@ -16,8 +16,11 @@ package org.apache.vxquery.xmlparser;
 
 import java.io.DataOutput;
 import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
 
 import org.apache.vxquery.datamodel.accessors.nodes.NodeTreePointable;
+import org.apache.vxquery.datamodel.builders.nodes.AbstractNodeBuilder;
 import org.apache.vxquery.datamodel.builders.nodes.AttributeNodeBuilder;
 import org.apache.vxquery.datamodel.builders.nodes.CommentNodeBuilder;
 import org.apache.vxquery.datamodel.builders.nodes.DictionaryBuilder;
@@ -39,6 +42,7 @@ import edu.uci.ics.hyracks.data.std.primitive.IntegerPointable;
 import edu.uci.ics.hyracks.data.std.util.ArrayBackedValueStorage;
 
 public class SAXContentHandler implements ContentHandler, LexicalHandler {
+    private final ArrayBackedValueStorage docABVS;
 
     private final boolean createNodeIds;
 
@@ -46,6 +50,8 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
 
     private final ITreeNodeIdProvider nodeIdProvider;
 
+    private final ArrayBackedValueStorage tempABVS;
+
     private final DocumentNodeBuilder docb;
 
     private final TextNodeBuilder tnb;
@@ -60,7 +66,13 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
 
     private final StringBuilder buffer;
 
+    private final List<ElementNodeBuilder> enbStack;
+
+    private final List<ElementNodeBuilder> freeENBList;
+
     private int nodeIdCounter;
+    private int copyOldCounter = 0;
+    private int copyNewCounter = 0;
 
     private boolean pendingText;
 
@@ -70,7 +82,7 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
 
     // Structure and data.
     private final GrowableIntArray leavesKind;
-//    private final GrowableIntArray leavesStart;
+    //    private final GrowableIntArray leavesStart;
     private final GrowableIntArray leavesEnd;
     //    private final GrowableIntArray leavesDepth;
     //    private final GrowableIntArray leavesParent;
@@ -96,17 +108,21 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
     private final int LEAF_POST_NODE = 7;
 
     public SAXContentHandler(boolean attachTypes, ITreeNodeIdProvider nodeIdProvider) {
+        docABVS = new ArrayBackedValueStorage();
         this.createNodeIds = nodeIdProvider != null;
         this.attachTypes = attachTypes;
         this.nodeIdProvider = nodeIdProvider;
-        enb = new ElementNodeBuilder();
+        this.tempABVS = new ArrayBackedValueStorage();
         docb = new DocumentNodeBuilder();
         tnb = new TextNodeBuilder();
         cnb = new CommentNodeBuilder();
         pinb = new PINodeBuilder();
+        enb = new ElementNodeBuilder();
         anb = new AttributeNodeBuilder();
         db = new DictionaryBuilder();
         buffer = new StringBuilder();
+        enbStack = new ArrayList<ElementNodeBuilder>();
+        freeENBList = new ArrayList<ElementNodeBuilder>();
         pendingText = false;
 
         leavesKind = new GrowableIntArray(600);
@@ -136,6 +152,10 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
     public void endDocument() throws SAXException {
         try {
             flushText();
+            docb.endChildrenChunk();
+            copyOldCounter++;
+            docb.finish();
+
             leafNodeStart(LEAF_POST_DOCUMENT);
             leafNodeEnd();
             textCurrentDepth--;
@@ -155,13 +175,18 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
         //            System.err.println(i + " " + k[i] + " - " + d[i] + ":" + s[i] + ":" + e[i] + " p=" + p[i] + " a=" + a[i]
         //                    + " c=" + c[i]);
         //        }
-
     }
 
     @Override
     public void endElement(String uri, String localName, String name) throws SAXException {
         try {
             flushText();
+            ElementNodeBuilder enb = enbStack.remove(enbStack.size() - 1);
+            enb.endChildrenChunk();
+            copyOldCounter++;
+            endChildInParent(enb);
+            freeENB(enb);
+
             leafNodeStart(LEAF_POST_NODE);
             leafNodeEnd();
             textCurrentDepth--;
@@ -183,6 +208,20 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
     public void processingInstruction(String target, String data) throws SAXException {
         try {
             flushText();
+            startChildInParent(pinb);
+            tempABVS.reset();
+            tempABVS.getDataOutput().writeUTF(target);
+            if (createNodeIds) {
+                pinb.setLocalNodeId(nodeIdCounter);
+            }
+            pinb.setTarget(tempABVS);
+            copyOldCounter++;
+            tempABVS.reset();
+            tempABVS.getDataOutput().writeUTF(data);
+            pinb.setContent(tempABVS);
+            copyOldCounter++;
+            endChildInParent(pinb);
+
             // Save to leavesABVS
             leafNodeStart(LEAF_PI);
             pinb.reset(leavesABVS);
@@ -208,6 +247,8 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
 
     @Override
     public void startDocument() throws SAXException {
+        copyOldCounter = 0;
+        copyNewCounter = 0;
         leavesKind.clear();
         //leavesStart.clear();
         leavesABVS.reset();
@@ -227,11 +268,18 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
         try {
             nodeIdCounter = 0;
             db.reset();
+            docABVS.reset();
+            docb.reset(docABVS);
+            if (createNodeIds) {
+                docb.setLocalNodeId(nodeIdCounter++);
+            }
+            docb.startChildrenChunk();
 
             leafNodeStart(LEAF_PRE_DOCUMENT);
-            docb.reset(leavesABVS);
+            DocumentNodeBuilder docb2 = new DocumentNodeBuilder();
+            docb2.reset(leavesABVS);
             if (createNodeIds) {
-                docb.setLocalNodeId(nodeIdCounter++);
+                docb2.setLocalNodeId(nodeIdCounter);
             }
             leafNodeEnd();
 
@@ -249,13 +297,11 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
             flushText();
             int idx = name.indexOf(':');
             String prefix = idx < 0 ? "" : name.substring(0, idx);
+            ElementNodeBuilder enb = createENB();
+            startChildInParent(enb);
             int uriCode = db.lookup(uri);
             int localNameCode = db.lookup(localName);
             int prefixCode = db.lookup(prefix);
-
-            // Save to leavesABVS
-            leafNodeStart(LEAF_PRE_NODE);
-            enb.setMvs(leavesABVS);
             enb.setName(uriCode, localNameCode, prefixCode);
             if (attachTypes) {
                 int typeUriCode = db.lookup(XQueryConstants.XS_NSURI);
@@ -266,9 +312,25 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
             if (createNodeIds) {
                 enb.setLocalNodeId(nodeIdCounter++);
             }
+
+            // Save to leavesABVS
+            leafNodeStart(LEAF_PRE_NODE);
+            ElementNodeBuilder enb2 = createENB();
+            enb2.setMvs(leavesABVS);
+            enb2.setName(uriCode, localNameCode, prefixCode);
+            if (attachTypes) {
+                int typeUriCode = db.lookup(XQueryConstants.XS_NSURI);
+                int typeLocalNameCode = db.lookup(BuiltinTypeQNames.UNTYPED_STR);
+                int typePrefixCode = db.lookup(XQueryConstants.XS_PREFIX);
+                enb2.setType(typeUriCode, typeLocalNameCode, typePrefixCode);
+            }
+            if (createNodeIds) {
+                enb2.setLocalNodeId(nodeIdCounter);
+            }
             leafNodeEnd();
             textCurrentDepth++;
 
+            enb.startAttributeChunk();
             final int nAttrs = atts.getLength();
             for (int i = 0; i < nAttrs; ++i) {
                 String aName = atts.getQName(i);
@@ -276,6 +338,25 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
                 int aPrefixCode = db.lookup(aIdx < 0 ? "" : aName.substring(0, aIdx));
                 int aLocalNameCode = db.lookup(atts.getLocalName(i));
                 int aUriCode = db.lookup(atts.getURI(i));
+                String aValue = atts.getValue(i);
+                tempABVS.reset();
+                DataOutput tempOut = tempABVS.getDataOutput();
+                tempOut.write(ValueTag.XS_UNTYPED_ATOMIC_TAG);
+                tempOut.writeUTF(aValue);
+                enb.startAttribute(anb);
+                anb.setName(aUriCode, aLocalNameCode, aPrefixCode);
+                if (attachTypes) {
+                    int typeUriCode = db.lookup(XQueryConstants.XS_NSURI);
+                    int typeLocalNameCode = db.lookup(BuiltinTypeQNames.UNTYPED_ATOMIC_STR);
+                    int typePrefixCode = db.lookup(XQueryConstants.XS_PREFIX);
+                    anb.setType(typeUriCode, typeLocalNameCode, typePrefixCode);
+                }
+                if (createNodeIds) {
+                    anb.setLocalNodeId(nodeIdCounter++);
+                }
+                anb.setValue(tempABVS);
+                copyOldCounter++;
+                enb.endAttribute(anb);
 
                 // Save to leavesABVS
                 leafNodeStart(LEAF_ATTRIBUTE);
@@ -292,7 +373,12 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
                 }
                 anb.setValue(atts.getValue(i));
                 leafNodeEnd();
+
             }
+            enb.endAttributeChunk();
+            copyOldCounter++;
+            enb.startChildrenChunk();
+            enbStack.add(enb);
         } catch (IOException e) {
             e.printStackTrace();
             throw new SAXException(e);
@@ -307,7 +393,16 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
     public void comment(char[] ch, int start, int length) throws SAXException {
         try {
             flushText();
+            startChildInParent(cnb);
             buffer.append(ch, start, length);
+            tempABVS.reset();
+            tempABVS.getDataOutput().writeUTF(buffer.toString());
+            if (createNodeIds) {
+                cnb.setLocalNodeId(nodeIdCounter);
+            }
+            cnb.setValue(tempABVS);
+            copyOldCounter++;
+            endChildInParent(cnb);
 
             // Save to leavesABVS
             leafNodeStart(LEAF_COMMENT);
@@ -327,6 +422,16 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
 
     private void flushText() throws IOException {
         if (pendingText) {
+            peekENBStackTop().startChild(tnb);
+            tempABVS.reset();
+            tempABVS.getDataOutput().writeUTF(buffer.toString());
+            if (createNodeIds) {
+                tnb.setLocalNodeId(nodeIdCounter);
+            }
+            tnb.setValue(tempABVS);
+            copyOldCounter++;
+            peekENBStackTop().endChild(tnb);
+
             // Save to leavesABVS
             leafNodeStart(LEAF_TEXT);
             tnb.reset(leavesABVS);
@@ -380,20 +485,51 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
             out.writeInt(nodeIdProvider.getId());
         }
         db.write(abvs);
+        out.write(docABVS.getByteArray(), docABVS.getStartOffset(), docABVS.getLength());
+        copyOldCounter++;
+        System.err.println("copyCounter: " + copyOldCounter);
+    }
+
+    int currentOffset = 0;
+
+    public void writeOnce(ArrayBackedValueStorage abvs) throws IOException {
+        DataOutput out = abvs.getDataOutput();
+        out.write(ValueTag.NODE_TREE_TAG);
+        byte header = NodeTreePointable.HEADER_DICTIONARY_EXISTS_MASK;
+        if (attachTypes) {
+            header |= NodeTreePointable.HEADER_TYPE_EXISTS_MASK;
+        }
+        if (createNodeIds) {
+            header |= NodeTreePointable.HEADER_NODEID_EXISTS_MASK;
+        }
+        out.write(header);
+        if (createNodeIds) {
+            out.writeInt(nodeIdProvider.getId());
+        }
+        db.write(abvs);
+
+        copyNewCounter++;
 
         // leavesStart.getArray()[i]
-        int currentOffset = 0;
         for (int i = 0; i < leavesKind.getSize(); ++i) {
             if (leavesKind.getArray()[i] == LEAF_PRE_DOCUMENT) {
-                out.write(leavesABVS.getByteArray(), currentOffset, leavesEnd.getArray()[i] - currentOffset);
+                flushLeaveNodesUpTo(out, i);
+
+                //                for (int x = currentOffset; x < leavesEnd.getArray()[i]; ++x) {
+                //                    System.err.println(i + "\t" + leavesKind.getArray()[i] + "\t" + leavesABVS.getByteArray()[x]);
+                //                }
 
                 int children = leavesChildrenCount.getArray()[i];
+                System.err.println("children " + children);
                 if (children > 0) {
                     sequenceSlotStub(abvs, children);
                 }
                 // Continue with nodes.
+                childrenLength = 0;
 
             } else if (leavesKind.getArray()[i] == LEAF_PRE_NODE) {
+                flushLeaveNodesUpTo(out, i - 1);
+
                 int nsCount = 0;
                 int attrCount = leavesAttributeCount.getArray()[i];
                 int childrenCount = leavesChildrenCount.getArray()[i];
@@ -401,37 +537,61 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
                 enb.setMvs(abvs);
                 enb.setTagHeader(nsCount, attrCount, childrenCount);
 
-                out.write(leavesABVS.getByteArray(), currentOffset, leavesEnd.getArray()[i] - currentOffset);
+                flushLeaveNodesUpTo(out, i);
 
                 if (attrCount > 0) {
                     sequenceSlotStub(abvs, attrCount);
+                    int attributeLength = 0;
                     for (int s = 0; s < attrCount; ++s) {
                         ++i;
-                        out.write(leavesABVS.getByteArray(), currentOffset, leavesEnd.getArray()[i] - currentOffset);
-                        updateSequenceSlot(abvs);
+                        attributeLength = leavesEnd.getArray()[i] - currentOffset;
+                        updateSequenceSlot(abvs, attributeLength);
                     }
+                    flushLeaveNodesUpTo(out, i);
                 }
 
                 if (childrenCount > 0) {
                     sequenceSlotStub(abvs, childrenCount);
                 }
                 // Continue with nodes.
+                startChildHunk(currentOffset);
 
             } else if (leavesKind.getArray()[i] == LEAF_POST_DOCUMENT) {
+                flushLeaveNodesUpTo(out, i - 1);
+
                 // no action
             } else if (leavesKind.getArray()[i] == LEAF_POST_NODE) {
+                flushLeaveNodesUpTo(out, i - 1);
+
                 updateSequenceSlot(abvs);
             } else {
-                out.write(leavesABVS.getByteArray(), currentOffset, leavesEnd.getArray()[i] - currentOffset);
-                updateSequenceSlot(abvs);
+                childrenLength = leavesEnd.getArray()[i] - currentOffset;
+                updateSequenceSlot(abvs, childrenLength);
             }
+        }
+        System.err.println("copyNewCounter: " + copyNewCounter);
+    }
+
+    private void flushLeaveNodesUpTo(DataOutput out, int i) throws IOException {
+        if (currentOffset != leavesEnd.getArray()[i]) {
+            out.write(leavesABVS.getByteArray(), currentOffset, leavesEnd.getArray()[i] - currentOffset);
             currentOffset = leavesEnd.getArray()[i];
+            copyNewCounter++;
         }
     }
 
+    int childrenLength = 0;
+    int childrenOffset = 0;
+
+    private void startChildHunk(int currentOffset) {
+        childrenLength = 0;
+        childrenOffset = currentOffset;
+    }
+
     private void sequenceSlotStub(ArrayBackedValueStorage abvs, int count) throws IOException {
         DataOutput out = abvs.getDataOutput();
         out.writeInt(count);
+        //        System.err.println("Slot count " + count);
         int offset = abvs.getLength();
         for (int s = 0; s < count; ++s) {
             out.writeInt(-1);
@@ -450,15 +610,51 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
         childSlotCounter++;
     }
 
-    private void updateSequenceSlot(ArrayBackedValueStorage abvs) {
+    private void updateSequenceSlot(ArrayBackedValueStorage abvs, int length) {
         //        for (int i = 0; i < childSlotCounter; ++i) {
         //            System.err.println("\t" + i + " " + childStartOffset.getArray()[i] + " - " + childSlotOffset.getArray()[i]);
         //        }
         childSlotCounter--;
-        int length = abvs.getLength() - childStartOffset.getArray()[childSlotCounter];
+        //        int length = abvs.getLength() - childStartOffset.getArray()[childSlotCounter];
         IntegerPointable.setInteger(abvs.getByteArray(), childSlotOffset.getArray()[childSlotCounter], length);
     }
 
+    private void updateSequenceSlot(ArrayBackedValueStorage abvs) {
+        int length = abvs.getLength() - childStartOffset.getArray()[childSlotCounter];
+        updateSequenceSlot(abvs, length);
+    }
+
+    private ElementNodeBuilder createENB() {
+        if (freeENBList.isEmpty()) {
+            return new ElementNodeBuilder();
+        }
+        return freeENBList.remove(freeENBList.size() - 1);
+    }
+
+    private void freeENB(ElementNodeBuilder enb) {
+        freeENBList.add(enb);
+    }
+
+    private ElementNodeBuilder peekENBStackTop() {
+        return enbStack.get(enbStack.size() - 1);
+    }
+
+    private void startChildInParent(AbstractNodeBuilder anb) throws IOException {
+        if (enbStack.isEmpty()) {
+            docb.startChild(anb);
+        } else {
+            peekENBStackTop().startChild(anb);
+        }
+    }
+
+    private void endChildInParent(AbstractNodeBuilder anb) throws IOException {
+        if (enbStack.isEmpty()) {
+            docb.endChild(anb);
+        } else {
+            peekENBStackTop().endChild(anb);
+        }
+    }
+
     private void leafNodeStart(int kind) {
         leavesKind.append(kind);
         //leavesStart.append(leavesABVS.getLength());


[12/14] git commit: Comments form Till.

Posted by pr...@apache.org.
Comments form Till.

The changes are to help improve the alternate SAX content handler:
 * Reduced the number of int arrays by combining them into a single array.
 * Now using a switch statement instead of if else.


Project: http://git-wip-us.apache.org/repos/asf/incubator-vxquery/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-vxquery/commit/1d422eb3
Tree: http://git-wip-us.apache.org/repos/asf/incubator-vxquery/tree/1d422eb3
Diff: http://git-wip-us.apache.org/repos/asf/incubator-vxquery/diff/1d422eb3

Branch: refs/heads/prestonc/parser
Commit: 1d422eb3e4ebe3d95d2e9d6419b1d452c7e33956
Parents: 11664ee
Author: Preston Carman <pr...@apache.org>
Authored: Thu Feb 27 11:04:00 2014 -0800
Committer: Preston Carman <pr...@apache.org>
Committed: Thu Feb 27 14:24:55 2014 -0800

----------------------------------------------------------------------
 .../vxquery/xmlparser/SAXContentHandler.java    | 182 +++++++++++--------
 1 file changed, 108 insertions(+), 74 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-vxquery/blob/1d422eb3/vxquery-core/src/main/java/org/apache/vxquery/xmlparser/SAXContentHandler.java
----------------------------------------------------------------------
diff --git a/vxquery-core/src/main/java/org/apache/vxquery/xmlparser/SAXContentHandler.java b/vxquery-core/src/main/java/org/apache/vxquery/xmlparser/SAXContentHandler.java
index e6ebee8..c5b9f64 100644
--- a/vxquery-core/src/main/java/org/apache/vxquery/xmlparser/SAXContentHandler.java
+++ b/vxquery-core/src/main/java/org/apache/vxquery/xmlparser/SAXContentHandler.java
@@ -39,8 +39,6 @@ import edu.uci.ics.hyracks.data.std.primitive.IntegerPointable;
 import edu.uci.ics.hyracks.data.std.util.ArrayBackedValueStorage;
 
 public class SAXContentHandler implements ContentHandler, LexicalHandler {
-    private static final int DEFAULT_INT_SIZE = 600;
-
     private final boolean createNodeIds;
 
     private final boolean attachTypes;
@@ -62,7 +60,7 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
     private final StringBuilder buffer;
 
     private int nodeIdCounter;
-    
+
     private int copyNewCounter;
 
     private boolean pendingText;
@@ -72,10 +70,12 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
     private final ElementNodeBuilder enb;
 
     // Structure and data.
-    private final GrowableIntArray leavesKind;
-    private final GrowableIntArray leavesEnd;
-    private final GrowableIntArray leavesAttributeCount;
-    private final GrowableIntArray leavesChildrenCount;
+    private final GrowableIntArray leavesData;
+    private final int LEAVES_DATA_FIELDS = 4;
+    private final int OFFSET_KIND = 0;
+    private final int OFFSET_ATTRIBUTE_COUNT = 1;
+    private final int OFFSET_CHILDREN_COUNT = 2;
+    private final int OFFSET_END = 3;
 
     // Data keys for current progress through XML document.
     private int textCount = 0;
@@ -83,8 +83,11 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
     private int childSlotCounter = 0;
     private int currentOffset = 0;
     private final GrowableIntArray previousLeaf;
-    private final GrowableIntArray childStartOffset;
-    private final GrowableIntArray childSlotOffset;
+
+    private final GrowableIntArray childData;
+    private final int CHILD_DATA_FIELDS = 2;
+    private final int OFFSET_SLOT = 0;
+    private final int OFFSET_START = 1;
     private final int SLOT_SIZE = 4;
 
     private final int LEAF_TEXT = 1;
@@ -110,14 +113,10 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
         buffer = new StringBuilder();
         pendingText = false;
 
-        leavesKind = new GrowableIntArray(DEFAULT_INT_SIZE);
+        leavesData = new GrowableIntArray();
         leavesABVS = new ArrayBackedValueStorage();
-        leavesEnd = new GrowableIntArray(DEFAULT_INT_SIZE);
-        leavesAttributeCount = new GrowableIntArray(DEFAULT_INT_SIZE);
-        leavesChildrenCount = new GrowableIntArray(DEFAULT_INT_SIZE);
-        previousLeaf = new GrowableIntArray(DEFAULT_INT_SIZE);
-        childStartOffset = new GrowableIntArray(DEFAULT_INT_SIZE);
-        childSlotOffset = new GrowableIntArray(DEFAULT_INT_SIZE);
+        previousLeaf = new GrowableIntArray();
+        childData = new GrowableIntArray();
         textCount = 0;
         textCurrentDepth = 0;
         childSlotCounter = 0;
@@ -192,14 +191,11 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
     @Override
     public void startDocument() throws SAXException {
         copyNewCounter = 0;
-        leavesKind.clear();
+
+        leavesData.clear();
         leavesABVS.reset();
-        leavesEnd.clear();
-        leavesAttributeCount.clear();
-        leavesChildrenCount.clear();
         previousLeaf.clear();
-        childStartOffset.clear();
-        childSlotOffset.clear();
+        childData.clear();
         textCount = 0;
         textCurrentDepth = 0;
         childSlotCounter = 0;
@@ -346,17 +342,17 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
     }
 
     private void leafNodeStart(int kind) {
-        leavesKind.append(kind);
-        leavesAttributeCount.append(0);
-        leavesChildrenCount.append(0);
+        leavesData.append(kind);
+        leavesData.append(0);
+        leavesData.append(0);
 
         int parent = previousLeaf.getArray()[textCurrentDepth - 1];
         if (kind == LEAF_POST_NODE || kind == LEAF_POST_DOCUMENT) {
             // Skip Count
         } else if (kind == LEAF_ATTRIBUTE) {
-            leavesAttributeCount.getArray()[parent] += 1;
+            incrementLeafAttributeCount(parent);
         } else if (textCount != parent) {
-            leavesChildrenCount.getArray()[parent] += 1;
+            incrementLeafChildrenCount(parent);
         }
         // If it can have children.
         if (kind == LEAF_PRE_NODE || kind == LEAF_PRE_DOCUMENT) {
@@ -365,7 +361,8 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
     }
 
     private void leafNodeEnd() {
-        leavesEnd.append(leavesABVS.getLength());
+        leavesData.append(leavesABVS.getLength());
+
         textCount++;
     }
 
@@ -386,60 +383,64 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
         db.write(abvs);
         copyNewCounter++;
 
-        for (int i = 0; i < leavesKind.getSize(); ++i) {
-            if (leavesKind.getArray()[i] == LEAF_PRE_DOCUMENT) {
-                flushLeaveNodesUpTo(out, i);
-
-                int children = leavesChildrenCount.getArray()[i];
-                if (children > 0) {
-                    sequenceSlotStub(abvs, children);
-                }
-                // Continue with nodes.
-
-            } else if (leavesKind.getArray()[i] == LEAF_PRE_NODE) {
-                flushLeaveNodesUpTo(out, i - 1);
+        for (int i = 0; i < leavesData.getSize() / LEAVES_DATA_FIELDS; ++i) {
+            switch (getLeafKind(i)) {
+                case LEAF_PRE_DOCUMENT:
+                    flushLeaveNodesUpTo(out, i);
 
-                int nsCount = 0;
-                int attrCount = leavesAttributeCount.getArray()[i];
-                int childrenCount = leavesChildrenCount.getArray()[i];
+                    int children = getLeafChildrenCount(i);
+                    if (children > 0) {
+                        sequenceSlotStub(abvs, children);
+                    }
+                    // Continue with nodes.
+                    break;
+                case LEAF_PRE_NODE:
+                    flushLeaveNodesUpTo(out, i - 1);
 
-                enb.setMvs(abvs);
-                enb.setTagHeader(nsCount, attrCount, childrenCount);
+                    int nsCount = 0;
+                    int attrCount = getLeafAttributeCount(i);
+                    int childrenCount = getLeafChildrenCount(i);
 
-                flushLeaveNodesUpTo(out, i);
+                    enb.setMvs(abvs);
+                    enb.setTagHeader(nsCount, attrCount, childrenCount);
 
-                if (attrCount > 0) {
-                    sequenceSlotStub(abvs, attrCount);
-                    for (int s = 0; s < attrCount; ++s) {
-                        ++i;
-                        updateSequenceSlot(abvs, leavesEnd.getArray()[i] - currentOffset);
-                    }
                     flushLeaveNodesUpTo(out, i);
-                }
 
-                if (childrenCount > 0) {
-                    sequenceSlotStub(abvs, childrenCount);
-                }
-                // Continue with nodes.
-
-            } else if (leavesKind.getArray()[i] == LEAF_POST_DOCUMENT) {
-                flushLeaveNodesUpTo(out, i - 1);
-                // no action
-            } else if (leavesKind.getArray()[i] == LEAF_POST_NODE) {
-                flushLeaveNodesUpTo(out, i - 1);
+                    if (attrCount > 0) {
+                        sequenceSlotStub(abvs, attrCount);
+                        for (int s = 0; s < attrCount; ++s) {
+                            ++i;
+                            updateSequenceSlot(abvs, getLeafEnd(i) - currentOffset);
+                        }
+                        flushLeaveNodesUpTo(out, i);
+                    }
 
-                updateSequenceSlot(abvs, 0);
-            } else {
-                updateSequenceSlot(abvs, leavesEnd.getArray()[i] - currentOffset);
+                    if (childrenCount > 0) {
+                        sequenceSlotStub(abvs, childrenCount);
+                    }
+                    // Continue with nodes.
+
+                    break;
+                case LEAF_POST_DOCUMENT:
+                    flushLeaveNodesUpTo(out, i - 1);
+                    // no action
+                    break;
+                case LEAF_POST_NODE:
+                    flushLeaveNodesUpTo(out, i - 1);
+
+                    updateSequenceSlot(abvs, 0);
+                    break;
+                default:
+                    updateSequenceSlot(abvs, getLeafEnd(i) - currentOffset);
             }
         }
-//        System.err.println("copyNewCounter: " + copyNewCounter);
+        //        System.err.println("copyNewCounter: " + copyNewCounter);
     }
 
     private void flushLeaveNodesUpTo(DataOutput out, int i) throws IOException {
-        if (currentOffset != leavesEnd.getArray()[i]) {
-            out.write(leavesABVS.getByteArray(), currentOffset, leavesEnd.getArray()[i] - currentOffset);
-            currentOffset = leavesEnd.getArray()[i];
+        if (currentOffset != getLeafEnd(i)) {
+            out.write(leavesABVS.getByteArray(), currentOffset, getLeafEnd(i) - currentOffset);
+            currentOffset = getLeafEnd(i);
             copyNewCounter++;
         }
     }
@@ -455,15 +456,48 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
     }
 
     private void addSequenceSlot(int offset, int count, int total) {
-        childStartOffset.insert(childSlotCounter, offset + total * SLOT_SIZE);
-        childSlotOffset.insert(childSlotCounter, offset + (total - count - 1) * SLOT_SIZE);
+        int start_offset = offset + total * SLOT_SIZE;
+        int slot_offset = offset + (total - count - 1) * SLOT_SIZE;
+        if (childData.getSize() == childSlotCounter * CHILD_DATA_FIELDS) {
+            childData.append(slot_offset);
+            childData.append(start_offset);
+        } else {
+            childData.getArray()[childSlotCounter * CHILD_DATA_FIELDS + OFFSET_SLOT] = slot_offset;
+            childData.getArray()[childSlotCounter * CHILD_DATA_FIELDS + OFFSET_START] = start_offset;
+        }
         childSlotCounter++;
     }
 
     private void updateSequenceSlot(ArrayBackedValueStorage abvs, int additional) {
         childSlotCounter--;
-        int length = abvs.getLength() - childStartOffset.getArray()[childSlotCounter] + additional;
-        IntegerPointable.setInteger(abvs.getByteArray(), childSlotOffset.getArray()[childSlotCounter], length);
+        int length = abvs.getLength() - childData.getArray()[childSlotCounter * CHILD_DATA_FIELDS + OFFSET_START]
+                + additional;
+        IntegerPointable.setInteger(abvs.getByteArray(), childData.getArray()[childSlotCounter * CHILD_DATA_FIELDS
+                + OFFSET_SLOT], length);
+    }
+
+    private int getLeafKind(int node) {
+        return leavesData.getArray()[node * LEAVES_DATA_FIELDS + OFFSET_KIND];
+    }
+
+    private int getLeafEnd(int node) {
+        return leavesData.getArray()[node * LEAVES_DATA_FIELDS + OFFSET_END];
+    }
+
+    private int getLeafChildrenCount(int node) {
+        return leavesData.getArray()[node * LEAVES_DATA_FIELDS + OFFSET_CHILDREN_COUNT];
+    }
+
+    private int getLeafAttributeCount(int node) {
+        return leavesData.getArray()[node * LEAVES_DATA_FIELDS + OFFSET_ATTRIBUTE_COUNT];
+    }
+
+    private void incrementLeafChildrenCount(int node) {
+        leavesData.getArray()[node * LEAVES_DATA_FIELDS + OFFSET_CHILDREN_COUNT]++;
+    }
+
+    private void incrementLeafAttributeCount(int node) {
+        leavesData.getArray()[node * LEAVES_DATA_FIELDS + OFFSET_ATTRIBUTE_COUNT]++;
     }
 
 }
\ No newline at end of file


[07/14] git commit: Working version with only the new code.

Posted by pr...@apache.org.
Working version with only the new code.


Project: http://git-wip-us.apache.org/repos/asf/incubator-vxquery/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-vxquery/commit/7336f47c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-vxquery/tree/7336f47c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-vxquery/diff/7336f47c

Branch: refs/heads/prestonc/parser
Commit: 7336f47ca5e7ef39e683fc4d56ca4c92e4b44091
Parents: df6772c
Author: Preston Carman <pr...@apache.org>
Authored: Sat Feb 15 01:31:25 2014 -0800
Committer: Preston Carman <pr...@apache.org>
Committed: Thu Feb 27 14:22:24 2014 -0800

----------------------------------------------------------------------
 .../vxquery/xmlparser/SAXContentHandler.java    | 307 ++++++-------------
 1 file changed, 90 insertions(+), 217 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-vxquery/blob/7336f47c/vxquery-core/src/main/java/org/apache/vxquery/xmlparser/SAXContentHandler.java
----------------------------------------------------------------------
diff --git a/vxquery-core/src/main/java/org/apache/vxquery/xmlparser/SAXContentHandler.java b/vxquery-core/src/main/java/org/apache/vxquery/xmlparser/SAXContentHandler.java
index 0ef2991..3ead13a 100644
--- a/vxquery-core/src/main/java/org/apache/vxquery/xmlparser/SAXContentHandler.java
+++ b/vxquery-core/src/main/java/org/apache/vxquery/xmlparser/SAXContentHandler.java
@@ -16,11 +16,8 @@ package org.apache.vxquery.xmlparser;
 
 import java.io.DataOutput;
 import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
 
 import org.apache.vxquery.datamodel.accessors.nodes.NodeTreePointable;
-import org.apache.vxquery.datamodel.builders.nodes.AbstractNodeBuilder;
 import org.apache.vxquery.datamodel.builders.nodes.AttributeNodeBuilder;
 import org.apache.vxquery.datamodel.builders.nodes.CommentNodeBuilder;
 import org.apache.vxquery.datamodel.builders.nodes.DictionaryBuilder;
@@ -38,12 +35,10 @@ import org.xml.sax.Locator;
 import org.xml.sax.SAXException;
 import org.xml.sax.ext.LexicalHandler;
 
-import edu.uci.ics.hyracks.data.std.primitive.BytePointable;
 import edu.uci.ics.hyracks.data.std.primitive.IntegerPointable;
 import edu.uci.ics.hyracks.data.std.util.ArrayBackedValueStorage;
 
 public class SAXContentHandler implements ContentHandler, LexicalHandler {
-    private final ArrayBackedValueStorage docABVS;
 
     private final boolean createNodeIds;
 
@@ -51,8 +46,6 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
 
     private final ITreeNodeIdProvider nodeIdProvider;
 
-    private final ArrayBackedValueStorage tempABVS;
-
     private final DocumentNodeBuilder docb;
 
     private final TextNodeBuilder tnb;
@@ -67,22 +60,20 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
 
     private final StringBuilder buffer;
 
-    private final List<ElementNodeBuilder> enbStack;
-
-    private final List<ElementNodeBuilder> freeENBList;
-
     private int nodeIdCounter;
 
     private boolean pendingText;
 
     private final ArrayBackedValueStorage leavesABVS;
 
+    private final ElementNodeBuilder enb;
+
     // Structure and data.
     private final GrowableIntArray leavesKind;
     private final GrowableIntArray leavesStart;
     private final GrowableIntArray leavesEnd;
-    private final GrowableIntArray leavesDepth;
-    private final GrowableIntArray leavesParent;
+//    private final GrowableIntArray leavesDepth;
+//    private final GrowableIntArray leavesParent;
     private final GrowableIntArray leavesAttributeCount;
     private final GrowableIntArray leavesChildrenCount;
 
@@ -105,11 +96,10 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
     private final int LEAF_POST_NODE = 7;
 
     public SAXContentHandler(boolean attachTypes, ITreeNodeIdProvider nodeIdProvider) {
-        docABVS = new ArrayBackedValueStorage();
         this.createNodeIds = nodeIdProvider != null;
         this.attachTypes = attachTypes;
         this.nodeIdProvider = nodeIdProvider;
-        this.tempABVS = new ArrayBackedValueStorage();
+        enb = new ElementNodeBuilder();
         docb = new DocumentNodeBuilder();
         tnb = new TextNodeBuilder();
         cnb = new CommentNodeBuilder();
@@ -117,23 +107,22 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
         anb = new AttributeNodeBuilder();
         db = new DictionaryBuilder();
         buffer = new StringBuilder();
-        enbStack = new ArrayList<ElementNodeBuilder>();
-        freeENBList = new ArrayList<ElementNodeBuilder>();
         pendingText = false;
 
-        leavesKind = new GrowableIntArray();
-        leavesStart = new GrowableIntArray();
+        leavesKind = new GrowableIntArray(600);
+        leavesStart = new GrowableIntArray(600);
         leavesABVS = new ArrayBackedValueStorage();
-        leavesEnd = new GrowableIntArray();
-        leavesDepth = new GrowableIntArray();
-        leavesParent = new GrowableIntArray();
-        leavesAttributeCount = new GrowableIntArray();
-        leavesChildrenCount = new GrowableIntArray();
-        previousLeaf = new GrowableIntArray();
-        childStartOffset = new GrowableIntArray();
-        childSlotOffset = new GrowableIntArray();
+        leavesEnd = new GrowableIntArray(600);
+//        leavesDepth = new GrowableIntArray(600);
+//        leavesParent = new GrowableIntArray(600);
+        leavesAttributeCount = new GrowableIntArray(600);
+        leavesChildrenCount = new GrowableIntArray(600);
+        previousLeaf = new GrowableIntArray(600);
+        childStartOffset = new GrowableIntArray(600);
+        childSlotOffset = new GrowableIntArray(600);
         textCount = 0;
         textCurrentDepth = 0;
+        childSlotCounter = 0;
 
     }
 
@@ -147,28 +136,25 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
     public void endDocument() throws SAXException {
         try {
             flushText();
-            docb.endChildrenChunk();
-            docb.finish();
+            leafNodeStart(LEAF_POST_DOCUMENT);
+            leafNodeEnd();
+            textCurrentDepth--;
         } catch (IOException e) {
             e.printStackTrace();
             throw new SAXException(e);
         }
 
-        leafNodeStart(LEAF_POST_DOCUMENT);
-        leafNodeEnd();
-
-        textCurrentDepth--;
-        int[] k = leavesKind.getArray();
-        int[] s = leavesStart.getArray();
-        int[] e = leavesEnd.getArray();
-        int[] d = leavesDepth.getArray();
-        int[] p = leavesParent.getArray();
-        int[] c = leavesChildrenCount.getArray();
-        int[] a = leavesAttributeCount.getArray();
-        for (int i = 0; i < s.length; ++i) {
-            System.err.println(i + " " + k[i] + " - " + d[i] + ":" + s[i] + ":" + e[i] + " p=" + p[i] + " a=" + a[i]
-                    + " c=" + c[i]);
-        }
+        //        int[] k = leavesKind.getArray();
+        //        int[] s = leavesStart.getArray();
+        //        int[] e = leavesEnd.getArray();
+        //        int[] d = leavesDepth.getArray();
+        //        int[] p = leavesParent.getArray();
+        //        int[] c = leavesChildrenCount.getArray();
+        //        int[] a = leavesAttributeCount.getArray();
+        //        for (int i = 0; i < s.length; ++i) {
+        //            System.err.println(i + " " + k[i] + " - " + d[i] + ":" + s[i] + ":" + e[i] + " p=" + p[i] + " a=" + a[i]
+        //                    + " c=" + c[i]);
+        //        }
 
     }
 
@@ -176,20 +162,13 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
     public void endElement(String uri, String localName, String name) throws SAXException {
         try {
             flushText();
-            ElementNodeBuilder enb = enbStack.remove(enbStack.size() - 1);
-            enb.endChildrenChunk();
-            endChildInParent(enb);
-            freeENB(enb);
+            leafNodeStart(LEAF_POST_NODE);
+            leafNodeEnd();
+            textCurrentDepth--;
         } catch (IOException e) {
             e.printStackTrace();
             throw new SAXException(e);
         }
-
-        leafNodeStart(LEAF_POST_NODE);
-        leafNodeEnd();
-
-        textCurrentDepth--;
-
     }
 
     @Override
@@ -204,28 +183,15 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
     public void processingInstruction(String target, String data) throws SAXException {
         try {
             flushText();
-            startChildInParent(pinb);
-            tempABVS.reset();
-            tempABVS.getDataOutput().writeUTF(target);
-            if (createNodeIds) {
-                pinb.setLocalNodeId(nodeIdCounter++);
-            }
-            pinb.setTarget(tempABVS);
-            tempABVS.reset();
-            tempABVS.getDataOutput().writeUTF(data);
-            pinb.setContent(tempABVS);
-            endChildInParent(pinb);
-
             // Save to leavesABVS
             leafNodeStart(LEAF_PI);
             pinb.reset(leavesABVS);
             if (createNodeIds) {
-                pinb.setLocalNodeId(nodeIdCounter);
+                pinb.setLocalNodeId(nodeIdCounter++);
             }
             pinb.setTarget(target);
             pinb.setContent(data);
             leafNodeEnd();
-
         } catch (IOException e) {
             e.printStackTrace();
             throw new SAXException(e);
@@ -242,22 +208,30 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
 
     @Override
     public void startDocument() throws SAXException {
+        leavesKind.clear();
+        leavesStart.clear();
+        leavesABVS.reset();
+        leavesEnd.clear();
+//        leavesDepth.clear();
+//        leavesParent.clear();
+        leavesAttributeCount.clear();
+        leavesChildrenCount.clear();
+        previousLeaf.clear();
+        childStartOffset.clear();
+        childSlotOffset.clear();
+        textCount = 0;
+        textCurrentDepth = 0;
+        childSlotCounter = 0;
+
         textCurrentDepth++;
         try {
             nodeIdCounter = 0;
             db.reset();
-            docABVS.reset();
-            docb.reset(docABVS);
-            if (createNodeIds) {
-                docb.setLocalNodeId(nodeIdCounter++);
-            }
-            docb.startChildrenChunk();
 
             leafNodeStart(LEAF_PRE_DOCUMENT);
-            DocumentNodeBuilder docb2 = new DocumentNodeBuilder();
-            docb2.reset(leavesABVS);
+            docb.reset(leavesABVS);
             if (createNodeIds) {
-                docb2.setLocalNodeId(nodeIdCounter);
+                docb.setLocalNodeId(nodeIdCounter++);
             }
             leafNodeEnd();
 
@@ -275,40 +249,26 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
             flushText();
             int idx = name.indexOf(':');
             String prefix = idx < 0 ? "" : name.substring(0, idx);
-            ElementNodeBuilder enb = createENB();
-            startChildInParent(enb);
             int uriCode = db.lookup(uri);
             int localNameCode = db.lookup(localName);
             int prefixCode = db.lookup(prefix);
-            enb.setName(uriCode, localNameCode, prefixCode);
-            if (attachTypes) {
-                int typeUriCode = db.lookup(XQueryConstants.XS_NSURI);
-                int typeLocalNameCode = db.lookup(BuiltinTypeQNames.UNTYPED_STR);
-                int typePrefixCode = db.lookup(XQueryConstants.XS_PREFIX);
-                enb.setType(typeUriCode, typeLocalNameCode, typePrefixCode);
-            }
-            if (createNodeIds) {
-                enb.setLocalNodeId(nodeIdCounter++);
-            }
 
             // Save to leavesABVS
             leafNodeStart(LEAF_PRE_NODE);
-            ElementNodeBuilder enb2 = createENB();
-            enb2.setMvs(leavesABVS);
-            enb2.setName(uriCode, localNameCode, prefixCode);
+            enb.setMvs(leavesABVS);
+            enb.setName(uriCode, localNameCode, prefixCode);
             if (attachTypes) {
                 int typeUriCode = db.lookup(XQueryConstants.XS_NSURI);
                 int typeLocalNameCode = db.lookup(BuiltinTypeQNames.UNTYPED_STR);
                 int typePrefixCode = db.lookup(XQueryConstants.XS_PREFIX);
-                enb2.setType(typeUriCode, typeLocalNameCode, typePrefixCode);
+                enb.setType(typeUriCode, typeLocalNameCode, typePrefixCode);
             }
             if (createNodeIds) {
-                enb2.setLocalNodeId(nodeIdCounter);
+                enb.setLocalNodeId(nodeIdCounter++);
             }
             leafNodeEnd();
             textCurrentDepth++;
 
-            enb.startAttributeChunk();
             final int nAttrs = atts.getLength();
             for (int i = 0; i < nAttrs; ++i) {
                 String aName = atts.getQName(i);
@@ -316,24 +276,6 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
                 int aPrefixCode = db.lookup(aIdx < 0 ? "" : aName.substring(0, aIdx));
                 int aLocalNameCode = db.lookup(atts.getLocalName(i));
                 int aUriCode = db.lookup(atts.getURI(i));
-                String aValue = atts.getValue(i);
-                tempABVS.reset();
-                DataOutput tempOut = tempABVS.getDataOutput();
-                tempOut.write(ValueTag.XS_UNTYPED_ATOMIC_TAG);
-                tempOut.writeUTF(aValue);
-                enb.startAttribute(anb);
-                anb.setName(aUriCode, aLocalNameCode, aPrefixCode);
-                if (attachTypes) {
-                    int typeUriCode = db.lookup(XQueryConstants.XS_NSURI);
-                    int typeLocalNameCode = db.lookup(BuiltinTypeQNames.UNTYPED_ATOMIC_STR);
-                    int typePrefixCode = db.lookup(XQueryConstants.XS_PREFIX);
-                    anb.setType(typeUriCode, typeLocalNameCode, typePrefixCode);
-                }
-                if (createNodeIds) {
-                    anb.setLocalNodeId(nodeIdCounter++);
-                }
-                anb.setValue(tempABVS);
-                enb.endAttribute(anb);
 
                 // Save to leavesABVS
                 leafNodeStart(LEAF_ATTRIBUTE);
@@ -350,11 +292,7 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
                 }
                 anb.setValue(atts.getValue(i));
                 leafNodeEnd();
-
             }
-            enb.endAttributeChunk();
-            enb.startChildrenChunk();
-            enbStack.add(enb);
         } catch (IOException e) {
             e.printStackTrace();
             throw new SAXException(e);
@@ -369,21 +307,13 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
     public void comment(char[] ch, int start, int length) throws SAXException {
         try {
             flushText();
-            startChildInParent(cnb);
             buffer.append(ch, start, length);
-            tempABVS.reset();
-            tempABVS.getDataOutput().writeUTF(buffer.toString());
-            if (createNodeIds) {
-                cnb.setLocalNodeId(nodeIdCounter++);
-            }
-            cnb.setValue(tempABVS);
-            endChildInParent(cnb);
 
             // Save to leavesABVS
             leafNodeStart(LEAF_COMMENT);
             cnb.reset(leavesABVS);
             if (createNodeIds) {
-                cnb.setLocalNodeId(nodeIdCounter);
+                cnb.setLocalNodeId(nodeIdCounter++);
             }
             cnb.setValue(buffer.toString());
             leafNodeEnd();
@@ -397,20 +327,11 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
 
     private void flushText() throws IOException {
         if (pendingText) {
-            peekENBStackTop().startChild(tnb);
-            tempABVS.reset();
-            tempABVS.getDataOutput().writeUTF(buffer.toString());
-            if (createNodeIds) {
-                tnb.setLocalNodeId(nodeIdCounter++);
-            }
-            tnb.setValue(tempABVS);
-            peekENBStackTop().endChild(tnb);
-
             // Save to leavesABVS
             leafNodeStart(LEAF_TEXT);
             tnb.reset(leavesABVS);
             if (createNodeIds) {
-                tnb.setLocalNodeId(nodeIdCounter);
+                tnb.setLocalNodeId(nodeIdCounter++);
             }
             tnb.setValue(buffer.toString());
             leafNodeEnd();
@@ -459,24 +380,6 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
             out.writeInt(nodeIdProvider.getId());
         }
         db.write(abvs);
-        out.write(docABVS.getByteArray(), docABVS.getStartOffset(), docABVS.getLength());
-    }
-
-    public void writeOnce(ArrayBackedValueStorage abvs) throws IOException {
-        DataOutput out = abvs.getDataOutput();
-        out.write(ValueTag.NODE_TREE_TAG);
-        byte header = NodeTreePointable.HEADER_DICTIONARY_EXISTS_MASK;
-        if (attachTypes) {
-            header |= NodeTreePointable.HEADER_TYPE_EXISTS_MASK;
-        }
-        if (createNodeIds) {
-            header |= NodeTreePointable.HEADER_NODEID_EXISTS_MASK;
-        }
-        out.write(header);
-        if (createNodeIds) {
-            out.writeInt(nodeIdProvider.getId());
-        }
-        db.write(abvs);
 
         for (int i = 0; i < leavesKind.getSize(); ++i) {
             if (leavesKind.getArray()[i] == LEAF_PRE_DOCUMENT) {
@@ -485,12 +388,7 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
 
                 int children = leavesChildrenCount.getArray()[i];
                 if (children > 0) {
-                    out.writeInt(children);
-                    int offset = abvs.getLength();
-                    for (int s = 0; s < children; ++s) {
-                        out.writeInt(-1);
-                        addChildSlot(offset, s, children);
-                    }
+                    sequenceSlotStub(abvs, children);
                 }
                 // Continue with nodes.
 
@@ -499,103 +397,78 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
                 int attrCount = leavesAttributeCount.getArray()[i];
                 int childrenCount = leavesChildrenCount.getArray()[i];
 
-                ElementNodeBuilder enb2 = createENB();
-                enb2.setMvs(abvs);
-                enb2.setTagHeader(nsCount, attrCount, childrenCount);
+                enb.setMvs(abvs);
+                enb.setTagHeader(nsCount, attrCount, childrenCount);
 
                 out.write(leavesABVS.getByteArray(), leavesStart.getArray()[i],
                         leavesEnd.getArray()[i] - leavesStart.getArray()[i]);
 
                 if (attrCount > 0) {
-                    out.writeInt(attrCount);
-                    int offset = abvs.getLength();
-                    for (int s = 0; s < attrCount; ++s) {
-                        out.writeInt(-1);
-                        addChildSlot(offset, s, attrCount);
-                    }
+                    sequenceSlotStub(abvs, attrCount);
                     for (int s = 0; s < attrCount; ++s) {
                         ++i;
                         out.write(leavesABVS.getByteArray(), leavesStart.getArray()[i], leavesEnd.getArray()[i]
                                 - leavesStart.getArray()[i]);
+                        updateSequenceSlot(abvs);
                     }
                 }
 
                 if (childrenCount > 0) {
-                    out.writeInt(childrenCount);
-                    int offset = abvs.getLength();
-                    for (int s = 0; s < childrenCount; ++s) {
-                        out.writeInt(-1);
-                        addChildSlot(offset, s, childrenCount);
-                    }
+                    sequenceSlotStub(abvs, childrenCount);
                 }
                 // Continue with nodes.
 
+            } else if (leavesKind.getArray()[i] == LEAF_POST_DOCUMENT) {
+                // no action
+            } else if (leavesKind.getArray()[i] == LEAF_POST_NODE) {
+                updateSequenceSlot(abvs);
             } else {
-                if (leavesKind.getArray()[i] != LEAF_POST_DOCUMENT && leavesKind.getArray()[i] != LEAF_POST_NODE)
                 out.write(leavesABVS.getByteArray(), leavesStart.getArray()[i],
                         leavesEnd.getArray()[i] - leavesStart.getArray()[i]);
-                finishChildSlot(abvs);
+                updateSequenceSlot(abvs);
             }
         }
     }
 
-    private void addChildSlot(int offset, int count, int total) {
+    private void sequenceSlotStub(ArrayBackedValueStorage abvs, int count) throws IOException {
+        DataOutput out = abvs.getDataOutput();
+        out.writeInt(count);
+        int offset = abvs.getLength();
+        for (int s = 0; s < count; ++s) {
+            out.writeInt(-1);
+            addSequenceSlot(offset, s, count);
+        }
+        //
+        //        for (int i = 0; i < childSlotCounter; ++i) {
+        //            System.err.println("\t\t" + i + " " + childStartOffset.getArray()[i] + " - "
+        //                    + childSlotOffset.getArray()[i]);
+        //        }
+    }
+
+    private void addSequenceSlot(int offset, int count, int total) {
         childStartOffset.insert(childSlotCounter, offset + total * SLOT_SIZE);
         childSlotOffset.insert(childSlotCounter, offset + (total - count - 1) * SLOT_SIZE);
         childSlotCounter++;
-
-        for (int i = 0; i < childSlotCounter; ++i) {
-            System.err.println("\t\t" + i + " " + childStartOffset.getArray()[i] + " - "
-                    + childSlotOffset.getArray()[i]);
-        }
     }
 
-    private void finishChildSlot(ArrayBackedValueStorage abvs) {
+    private void updateSequenceSlot(ArrayBackedValueStorage abvs) {
+        //        for (int i = 0; i < childSlotCounter; ++i) {
+        //            System.err.println("\t" + i + " " + childStartOffset.getArray()[i] + " - " + childSlotOffset.getArray()[i]);
+        //        }
         childSlotCounter--;
         int length = abvs.getLength() - childStartOffset.getArray()[childSlotCounter];
         IntegerPointable.setInteger(abvs.getByteArray(), childSlotOffset.getArray()[childSlotCounter], length);
     }
 
-    private ElementNodeBuilder createENB() {
-        if (freeENBList.isEmpty()) {
-            return new ElementNodeBuilder();
-        }
-        return freeENBList.remove(freeENBList.size() - 1);
-    }
-
-    private void freeENB(ElementNodeBuilder enb) {
-        freeENBList.add(enb);
-    }
-
-    private ElementNodeBuilder peekENBStackTop() {
-        return enbStack.get(enbStack.size() - 1);
-    }
-
-    private void startChildInParent(AbstractNodeBuilder anb) throws IOException {
-        if (enbStack.isEmpty()) {
-            docb.startChild(anb);
-        } else {
-            peekENBStackTop().startChild(anb);
-        }
-    }
-
-    private void endChildInParent(AbstractNodeBuilder anb) throws IOException {
-        if (enbStack.isEmpty()) {
-            docb.endChild(anb);
-        } else {
-            peekENBStackTop().endChild(anb);
-        }
-    }
-
     private void leafNodeStart(int kind) {
         leavesKind.append(kind);
         leavesStart.append(leavesABVS.getLength());
-        leavesDepth.append(textCurrentDepth);
+//        leavesDepth.append(textCurrentDepth);
         leavesAttributeCount.append(0);
         leavesChildrenCount.append(0);
 
         int parent = previousLeaf.getArray()[textCurrentDepth - 1];
-        leavesParent.append(parent);
+//        leavesParent.append(parent);
         if (kind == LEAF_POST_NODE || kind == LEAF_POST_DOCUMENT) {
             // Skip Count
         } else if (kind == LEAF_ATTRIBUTE) {


[10/14] git commit: Comment on NodeTreePointable structure.

Posted by pr...@apache.org.
Comment on NodeTreePointable structure.


Project: http://git-wip-us.apache.org/repos/asf/incubator-vxquery/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-vxquery/commit/f64c3a70
Tree: http://git-wip-us.apache.org/repos/asf/incubator-vxquery/tree/f64c3a70
Diff: http://git-wip-us.apache.org/repos/asf/incubator-vxquery/diff/f64c3a70

Branch: refs/heads/prestonc/parser
Commit: f64c3a70f7f927d7ad78579335c913a59f6bcf22
Parents: 04ac20d
Author: Preston Carman <pr...@apache.org>
Authored: Fri Feb 14 23:23:11 2014 -0800
Committer: Preston Carman <pr...@apache.org>
Committed: Thu Feb 27 14:22:24 2014 -0800

----------------------------------------------------------------------
 .../datamodel/accessors/nodes/NodeTreePointable.java   | 13 +++----------
 1 file changed, 3 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-vxquery/blob/f64c3a70/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/nodes/NodeTreePointable.java
----------------------------------------------------------------------
diff --git a/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/nodes/NodeTreePointable.java b/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/nodes/NodeTreePointable.java
index 4b0697f..416b77b 100644
--- a/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/nodes/NodeTreePointable.java
+++ b/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/nodes/NodeTreePointable.java
@@ -38,21 +38,14 @@ import edu.uci.ics.hyracks.data.std.primitive.VoidPointable;
  * }
  * 
  * ElementHeader (padded) {
- *  bit nodeIdExists;
- *  bit dictionaryExists;
- *  bit headerTypeExists;
+ *  bit NodeIdExists;
+ *  bit DictionaryExists;
+ *  bit HeaderTypeExists;
  * }
  * 
  * NodeId {
  *  int32 id;
  * }
- * 
- * Dictionary {
- *  int32 numberOfItems
- *  int32[numberOfItems] lengthOfItem
- *  int32[numberOfItems] sortedItemIndex
- *  bytes[] itemData
- * }
  */
 public class NodeTreePointable extends AbstractPointable {
     public static final int HEADER_NODEID_EXISTS_MASK = (1 << 0);


[11/14] git commit: Converted a search method to a hashing method. Small improvement.

Posted by pr...@apache.org.
Converted a search method to a hashing method. Small improvement.


Project: http://git-wip-us.apache.org/repos/asf/incubator-vxquery/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-vxquery/commit/b3aee305
Tree: http://git-wip-us.apache.org/repos/asf/incubator-vxquery/tree/b3aee305
Diff: http://git-wip-us.apache.org/repos/asf/incubator-vxquery/diff/b3aee305

Branch: refs/heads/prestonc/parser
Commit: b3aee30500fd262dd869aa4325a6effabb2fa823
Parents: 0383734
Author: Preston Carman <pr...@apache.org>
Authored: Mon Feb 17 08:55:02 2014 -0800
Committer: Preston Carman <pr...@apache.org>
Committed: Thu Feb 27 14:23:54 2014 -0800

----------------------------------------------------------------------
 .../builders/nodes/DictionaryBuilder.java       | 21 ++++++++++++++++++--
 1 file changed, 19 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-vxquery/blob/b3aee305/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/DictionaryBuilder.java
----------------------------------------------------------------------
diff --git a/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/DictionaryBuilder.java b/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/DictionaryBuilder.java
index db7ecf7..67a7ff8 100644
--- a/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/DictionaryBuilder.java
+++ b/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/DictionaryBuilder.java
@@ -19,9 +19,13 @@ package org.apache.vxquery.datamodel.builders.nodes;
 import java.io.DataOutput;
 import java.io.DataOutputStream;
 import java.io.IOException;
-import java.util.Map.Entry;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
 import java.util.TreeMap;
 
+import javax.swing.text.html.HTMLDocument.Iterator;
+
 import org.apache.vxquery.util.GrowableIntArray;
 
 import edu.uci.ics.hyracks.data.std.algorithms.BinarySearchAlgorithm;
@@ -42,6 +46,10 @@ public class DictionaryBuilder {
 
     private final ByteArrayAccessibleOutputStream tempStringData;
 
+    private final DataOutput tempOut;
+
+    private final UTF8StringPointable tempStringPointable;
+
     private final TreeMap<String, Integer> hashSlotIndexes;
 
     private final IValueReferenceVector sortedStringsVector = new IValueReferenceVector() {
@@ -75,6 +83,8 @@ public class DictionaryBuilder {
         dataBuffer = new ByteArrayAccessibleOutputStream();
         dataBufferOut = new DataOutputStream(dataBuffer);
         tempStringData = new ByteArrayAccessibleOutputStream();
+        tempOut = new DataOutputStream(tempStringData);
+        tempStringPointable = (UTF8StringPointable) UTF8StringPointable.FACTORY.createPointable();
         hashSlotIndexes = new TreeMap<String, Integer>();
     }
 
@@ -102,9 +112,16 @@ public class DictionaryBuilder {
                 out.writeInt(sortedOffsets[i]);
             }
         } else {
-            for (Entry<String, Integer> me : hashSlotIndexes.entrySet()) {
+            // Get a set of the entries
+            Set set = hashSlotIndexes.entrySet();
+            // Get an iterator
+            java.util.Iterator it = set.iterator();
+            // Display elements
+            while (it.hasNext()) {
+                Map.Entry me = (Map.Entry) it.next();
                 out.writeInt((Integer) me.getValue());
             }
+
         }
         out.write(dataBuffer.getByteArray(), 0, dataBuffer.size());
         IntegerPointable.setInteger(abvs.getByteArray(), sizeOffset, abvs.getLength() - sizeOffset);


[13/14] git commit: Finished the new SAXContentHandler with the option to hold copies when they are sequential.

Posted by pr...@apache.org.
Finished the new SAXContentHandler with the option to hold copies when they are sequential.


Project: http://git-wip-us.apache.org/repos/asf/incubator-vxquery/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-vxquery/commit/11664ee8
Tree: http://git-wip-us.apache.org/repos/asf/incubator-vxquery/tree/11664ee8
Diff: http://git-wip-us.apache.org/repos/asf/incubator-vxquery/diff/11664ee8

Branch: refs/heads/prestonc/parser
Commit: 11664ee82020d48612f4505360b064895cc9cdcb
Parents: 278c0db
Author: Preston Carman <pr...@apache.org>
Authored: Wed Feb 19 17:10:45 2014 -0800
Committer: Preston Carman <pr...@apache.org>
Committed: Thu Feb 27 14:24:55 2014 -0800

----------------------------------------------------------------------
 .../vxquery/xmlparser/SAXContentHandler.java    | 302 +++----------------
 1 file changed, 43 insertions(+), 259 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-vxquery/blob/11664ee8/vxquery-core/src/main/java/org/apache/vxquery/xmlparser/SAXContentHandler.java
----------------------------------------------------------------------
diff --git a/vxquery-core/src/main/java/org/apache/vxquery/xmlparser/SAXContentHandler.java b/vxquery-core/src/main/java/org/apache/vxquery/xmlparser/SAXContentHandler.java
index 2b3d613..e6ebee8 100644
--- a/vxquery-core/src/main/java/org/apache/vxquery/xmlparser/SAXContentHandler.java
+++ b/vxquery-core/src/main/java/org/apache/vxquery/xmlparser/SAXContentHandler.java
@@ -16,11 +16,8 @@ package org.apache.vxquery.xmlparser;
 
 import java.io.DataOutput;
 import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
 
 import org.apache.vxquery.datamodel.accessors.nodes.NodeTreePointable;
-import org.apache.vxquery.datamodel.builders.nodes.AbstractNodeBuilder;
 import org.apache.vxquery.datamodel.builders.nodes.AttributeNodeBuilder;
 import org.apache.vxquery.datamodel.builders.nodes.CommentNodeBuilder;
 import org.apache.vxquery.datamodel.builders.nodes.DictionaryBuilder;
@@ -42,7 +39,7 @@ import edu.uci.ics.hyracks.data.std.primitive.IntegerPointable;
 import edu.uci.ics.hyracks.data.std.util.ArrayBackedValueStorage;
 
 public class SAXContentHandler implements ContentHandler, LexicalHandler {
-    private final ArrayBackedValueStorage docABVS;
+    private static final int DEFAULT_INT_SIZE = 600;
 
     private final boolean createNodeIds;
 
@@ -50,8 +47,6 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
 
     private final ITreeNodeIdProvider nodeIdProvider;
 
-    private final ArrayBackedValueStorage tempABVS;
-
     private final DocumentNodeBuilder docb;
 
     private final TextNodeBuilder tnb;
@@ -66,13 +61,9 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
 
     private final StringBuilder buffer;
 
-    private final List<ElementNodeBuilder> enbStack;
-
-    private final List<ElementNodeBuilder> freeENBList;
-
     private int nodeIdCounter;
-    private int copyOldCounter = 0;
-    private int copyNewCounter = 0;
+    
+    private int copyNewCounter;
 
     private boolean pendingText;
 
@@ -82,10 +73,7 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
 
     // Structure and data.
     private final GrowableIntArray leavesKind;
-    //    private final GrowableIntArray leavesStart;
     private final GrowableIntArray leavesEnd;
-    //    private final GrowableIntArray leavesDepth;
-    //    private final GrowableIntArray leavesParent;
     private final GrowableIntArray leavesAttributeCount;
     private final GrowableIntArray leavesChildrenCount;
 
@@ -93,6 +81,7 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
     private int textCount = 0;
     private int textCurrentDepth = 0;
     private int childSlotCounter = 0;
+    private int currentOffset = 0;
     private final GrowableIntArray previousLeaf;
     private final GrowableIntArray childStartOffset;
     private final GrowableIntArray childSlotOffset;
@@ -108,11 +97,9 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
     private final int LEAF_POST_NODE = 7;
 
     public SAXContentHandler(boolean attachTypes, ITreeNodeIdProvider nodeIdProvider) {
-        docABVS = new ArrayBackedValueStorage();
         this.createNodeIds = nodeIdProvider != null;
         this.attachTypes = attachTypes;
         this.nodeIdProvider = nodeIdProvider;
-        this.tempABVS = new ArrayBackedValueStorage();
         docb = new DocumentNodeBuilder();
         tnb = new TextNodeBuilder();
         cnb = new CommentNodeBuilder();
@@ -121,25 +108,19 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
         anb = new AttributeNodeBuilder();
         db = new DictionaryBuilder();
         buffer = new StringBuilder();
-        enbStack = new ArrayList<ElementNodeBuilder>();
-        freeENBList = new ArrayList<ElementNodeBuilder>();
         pendingText = false;
 
-        leavesKind = new GrowableIntArray(600);
-        //leavesStart = new GrowableIntArray(600);
+        leavesKind = new GrowableIntArray(DEFAULT_INT_SIZE);
         leavesABVS = new ArrayBackedValueStorage();
-        leavesEnd = new GrowableIntArray(600);
-        //        leavesDepth = new GrowableIntArray(600);
-        //        leavesParent = new GrowableIntArray(600);
-        leavesAttributeCount = new GrowableIntArray(600);
-        leavesChildrenCount = new GrowableIntArray(600);
-        previousLeaf = new GrowableIntArray(600);
-        childStartOffset = new GrowableIntArray(600);
-        childSlotOffset = new GrowableIntArray(600);
+        leavesEnd = new GrowableIntArray(DEFAULT_INT_SIZE);
+        leavesAttributeCount = new GrowableIntArray(DEFAULT_INT_SIZE);
+        leavesChildrenCount = new GrowableIntArray(DEFAULT_INT_SIZE);
+        previousLeaf = new GrowableIntArray(DEFAULT_INT_SIZE);
+        childStartOffset = new GrowableIntArray(DEFAULT_INT_SIZE);
+        childSlotOffset = new GrowableIntArray(DEFAULT_INT_SIZE);
         textCount = 0;
         textCurrentDepth = 0;
         childSlotCounter = 0;
-
     }
 
     @Override
@@ -152,10 +133,6 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
     public void endDocument() throws SAXException {
         try {
             flushText();
-            docb.endChildrenChunk();
-            copyOldCounter++;
-            docb.finish();
-
             leafNodeStart(LEAF_POST_DOCUMENT);
             leafNodeEnd();
             textCurrentDepth--;
@@ -163,30 +140,12 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
             e.printStackTrace();
             throw new SAXException(e);
         }
-
-        //        int[] k = leavesKind.getArray();
-        //        int[] s = leavesStart.getArray();
-        //        int[] e = leavesEnd.getArray();
-        //        int[] d = leavesDepth.getArray();
-        //        int[] p = leavesParent.getArray();
-        //        int[] c = leavesChildrenCount.getArray();
-        //        int[] a = leavesAttributeCount.getArray();
-        //        for (int i = 0; i < s.length; ++i) {
-        //            System.err.println(i + " " + k[i] + " - " + d[i] + ":" + s[i] + ":" + e[i] + " p=" + p[i] + " a=" + a[i]
-        //                    + " c=" + c[i]);
-        //        }
     }
 
     @Override
     public void endElement(String uri, String localName, String name) throws SAXException {
         try {
             flushText();
-            ElementNodeBuilder enb = enbStack.remove(enbStack.size() - 1);
-            enb.endChildrenChunk();
-            copyOldCounter++;
-            endChildInParent(enb);
-            freeENB(enb);
-
             leafNodeStart(LEAF_POST_NODE);
             leafNodeEnd();
             textCurrentDepth--;
@@ -208,21 +167,6 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
     public void processingInstruction(String target, String data) throws SAXException {
         try {
             flushText();
-            startChildInParent(pinb);
-            tempABVS.reset();
-            tempABVS.getDataOutput().writeUTF(target);
-            if (createNodeIds) {
-                pinb.setLocalNodeId(nodeIdCounter);
-            }
-            pinb.setTarget(tempABVS);
-            copyOldCounter++;
-            tempABVS.reset();
-            tempABVS.getDataOutput().writeUTF(data);
-            pinb.setContent(tempABVS);
-            copyOldCounter++;
-            endChildInParent(pinb);
-
-            // Save to leavesABVS
             leafNodeStart(LEAF_PI);
             pinb.reset(leavesABVS);
             if (createNodeIds) {
@@ -247,14 +191,10 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
 
     @Override
     public void startDocument() throws SAXException {
-        copyOldCounter = 0;
         copyNewCounter = 0;
         leavesKind.clear();
-        //leavesStart.clear();
         leavesABVS.reset();
         leavesEnd.clear();
-        //        leavesDepth.clear();
-        //        leavesParent.clear();
         leavesAttributeCount.clear();
         leavesChildrenCount.clear();
         previousLeaf.clear();
@@ -263,23 +203,17 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
         textCount = 0;
         textCurrentDepth = 0;
         childSlotCounter = 0;
+        currentOffset = 0;
 
         textCurrentDepth++;
         try {
             nodeIdCounter = 0;
             db.reset();
-            docABVS.reset();
-            docb.reset(docABVS);
-            if (createNodeIds) {
-                docb.setLocalNodeId(nodeIdCounter++);
-            }
-            docb.startChildrenChunk();
 
             leafNodeStart(LEAF_PRE_DOCUMENT);
-            DocumentNodeBuilder docb2 = new DocumentNodeBuilder();
-            docb2.reset(leavesABVS);
+            docb.reset(leavesABVS);
             if (createNodeIds) {
-                docb2.setLocalNodeId(nodeIdCounter);
+                docb.setLocalNodeId(nodeIdCounter++);
             }
             leafNodeEnd();
 
@@ -297,11 +231,12 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
             flushText();
             int idx = name.indexOf(':');
             String prefix = idx < 0 ? "" : name.substring(0, idx);
-            ElementNodeBuilder enb = createENB();
-            startChildInParent(enb);
             int uriCode = db.lookup(uri);
             int localNameCode = db.lookup(localName);
             int prefixCode = db.lookup(prefix);
+
+            leafNodeStart(LEAF_PRE_NODE);
+            enb.setMvs(leavesABVS);
             enb.setName(uriCode, localNameCode, prefixCode);
             if (attachTypes) {
                 int typeUriCode = db.lookup(XQueryConstants.XS_NSURI);
@@ -312,21 +247,6 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
             if (createNodeIds) {
                 enb.setLocalNodeId(nodeIdCounter++);
             }
-
-            // Save to leavesABVS
-            leafNodeStart(LEAF_PRE_NODE);
-            ElementNodeBuilder enb2 = createENB();
-            enb2.setMvs(leavesABVS);
-            enb2.setName(uriCode, localNameCode, prefixCode);
-            if (attachTypes) {
-                int typeUriCode = db.lookup(XQueryConstants.XS_NSURI);
-                int typeLocalNameCode = db.lookup(BuiltinTypeQNames.UNTYPED_STR);
-                int typePrefixCode = db.lookup(XQueryConstants.XS_PREFIX);
-                enb2.setType(typeUriCode, typeLocalNameCode, typePrefixCode);
-            }
-            if (createNodeIds) {
-                enb2.setLocalNodeId(nodeIdCounter);
-            }
             leafNodeEnd();
             textCurrentDepth++;
 
@@ -338,27 +258,7 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
                 int aPrefixCode = db.lookup(aIdx < 0 ? "" : aName.substring(0, aIdx));
                 int aLocalNameCode = db.lookup(atts.getLocalName(i));
                 int aUriCode = db.lookup(atts.getURI(i));
-                String aValue = atts.getValue(i);
-                tempABVS.reset();
-                DataOutput tempOut = tempABVS.getDataOutput();
-                tempOut.write(ValueTag.XS_UNTYPED_ATOMIC_TAG);
-                tempOut.writeUTF(aValue);
-                enb.startAttribute(anb);
-                anb.setName(aUriCode, aLocalNameCode, aPrefixCode);
-                if (attachTypes) {
-                    int typeUriCode = db.lookup(XQueryConstants.XS_NSURI);
-                    int typeLocalNameCode = db.lookup(BuiltinTypeQNames.UNTYPED_ATOMIC_STR);
-                    int typePrefixCode = db.lookup(XQueryConstants.XS_PREFIX);
-                    anb.setType(typeUriCode, typeLocalNameCode, typePrefixCode);
-                }
-                if (createNodeIds) {
-                    anb.setLocalNodeId(nodeIdCounter++);
-                }
-                anb.setValue(tempABVS);
-                copyOldCounter++;
-                enb.endAttribute(anb);
 
-                // Save to leavesABVS
                 leafNodeStart(LEAF_ATTRIBUTE);
                 anb.reset(leavesABVS);
                 anb.setName(aUriCode, aLocalNameCode, aPrefixCode);
@@ -373,12 +273,7 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
                 }
                 anb.setValue(atts.getValue(i));
                 leafNodeEnd();
-
             }
-            enb.endAttributeChunk();
-            copyOldCounter++;
-            enb.startChildrenChunk();
-            enbStack.add(enb);
         } catch (IOException e) {
             e.printStackTrace();
             throw new SAXException(e);
@@ -393,16 +288,7 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
     public void comment(char[] ch, int start, int length) throws SAXException {
         try {
             flushText();
-            startChildInParent(cnb);
             buffer.append(ch, start, length);
-            tempABVS.reset();
-            tempABVS.getDataOutput().writeUTF(buffer.toString());
-            if (createNodeIds) {
-                cnb.setLocalNodeId(nodeIdCounter);
-            }
-            cnb.setValue(tempABVS);
-            copyOldCounter++;
-            endChildInParent(cnb);
 
             // Save to leavesABVS
             leafNodeStart(LEAF_COMMENT);
@@ -422,17 +308,6 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
 
     private void flushText() throws IOException {
         if (pendingText) {
-            peekENBStackTop().startChild(tnb);
-            tempABVS.reset();
-            tempABVS.getDataOutput().writeUTF(buffer.toString());
-            if (createNodeIds) {
-                tnb.setLocalNodeId(nodeIdCounter);
-            }
-            tnb.setValue(tempABVS);
-            copyOldCounter++;
-            peekENBStackTop().endChild(tnb);
-
-            // Save to leavesABVS
             leafNodeStart(LEAF_TEXT);
             tnb.reset(leavesABVS);
             if (createNodeIds) {
@@ -470,29 +345,31 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
     public void startEntity(String name) throws SAXException {
     }
 
-    public void write(ArrayBackedValueStorage abvs) throws IOException {
-        DataOutput out = abvs.getDataOutput();
-        out.write(ValueTag.NODE_TREE_TAG);
-        byte header = NodeTreePointable.HEADER_DICTIONARY_EXISTS_MASK;
-        if (attachTypes) {
-            header |= NodeTreePointable.HEADER_TYPE_EXISTS_MASK;
-        }
-        if (createNodeIds) {
-            header |= NodeTreePointable.HEADER_NODEID_EXISTS_MASK;
+    private void leafNodeStart(int kind) {
+        leavesKind.append(kind);
+        leavesAttributeCount.append(0);
+        leavesChildrenCount.append(0);
+
+        int parent = previousLeaf.getArray()[textCurrentDepth - 1];
+        if (kind == LEAF_POST_NODE || kind == LEAF_POST_DOCUMENT) {
+            // Skip Count
+        } else if (kind == LEAF_ATTRIBUTE) {
+            leavesAttributeCount.getArray()[parent] += 1;
+        } else if (textCount != parent) {
+            leavesChildrenCount.getArray()[parent] += 1;
         }
-        out.write(header);
-        if (createNodeIds) {
-            out.writeInt(nodeIdProvider.getId());
+        // If it can have children.
+        if (kind == LEAF_PRE_NODE || kind == LEAF_PRE_DOCUMENT) {
+            previousLeaf.getArray()[textCurrentDepth] = textCount;
         }
-        db.write(abvs);
-        out.write(docABVS.getByteArray(), docABVS.getStartOffset(), docABVS.getLength());
-        copyOldCounter++;
-        System.err.println("copyCounter: " + copyOldCounter);
     }
 
-    int currentOffset = 0;
+    private void leafNodeEnd() {
+        leavesEnd.append(leavesABVS.getLength());
+        textCount++;
+    }
 
-    public void writeOnce(ArrayBackedValueStorage abvs) throws IOException {
+    public void write(ArrayBackedValueStorage abvs) throws IOException {
         DataOutput out = abvs.getDataOutput();
         out.write(ValueTag.NODE_TREE_TAG);
         byte header = NodeTreePointable.HEADER_DICTIONARY_EXISTS_MASK;
@@ -507,25 +384,17 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
             out.writeInt(nodeIdProvider.getId());
         }
         db.write(abvs);
-
         copyNewCounter++;
 
-        // leavesStart.getArray()[i]
         for (int i = 0; i < leavesKind.getSize(); ++i) {
             if (leavesKind.getArray()[i] == LEAF_PRE_DOCUMENT) {
                 flushLeaveNodesUpTo(out, i);
 
-                //                for (int x = currentOffset; x < leavesEnd.getArray()[i]; ++x) {
-                //                    System.err.println(i + "\t" + leavesKind.getArray()[i] + "\t" + leavesABVS.getByteArray()[x]);
-                //                }
-
                 int children = leavesChildrenCount.getArray()[i];
-                System.err.println("children " + children);
                 if (children > 0) {
                     sequenceSlotStub(abvs, children);
                 }
                 // Continue with nodes.
-                childrenLength = 0;
 
             } else if (leavesKind.getArray()[i] == LEAF_PRE_NODE) {
                 flushLeaveNodesUpTo(out, i - 1);
@@ -541,11 +410,9 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
 
                 if (attrCount > 0) {
                     sequenceSlotStub(abvs, attrCount);
-                    int attributeLength = 0;
                     for (int s = 0; s < attrCount; ++s) {
                         ++i;
-                        attributeLength = leavesEnd.getArray()[i] - currentOffset;
-                        updateSequenceSlot(abvs, attributeLength);
+                        updateSequenceSlot(abvs, leavesEnd.getArray()[i] - currentOffset);
                     }
                     flushLeaveNodesUpTo(out, i);
                 }
@@ -554,22 +421,19 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
                     sequenceSlotStub(abvs, childrenCount);
                 }
                 // Continue with nodes.
-                startChildHunk(currentOffset);
 
             } else if (leavesKind.getArray()[i] == LEAF_POST_DOCUMENT) {
                 flushLeaveNodesUpTo(out, i - 1);
-
                 // no action
             } else if (leavesKind.getArray()[i] == LEAF_POST_NODE) {
                 flushLeaveNodesUpTo(out, i - 1);
 
-                updateSequenceSlot(abvs);
+                updateSequenceSlot(abvs, 0);
             } else {
-                childrenLength = leavesEnd.getArray()[i] - currentOffset;
-                updateSequenceSlot(abvs, childrenLength);
+                updateSequenceSlot(abvs, leavesEnd.getArray()[i] - currentOffset);
             }
         }
-        System.err.println("copyNewCounter: " + copyNewCounter);
+//        System.err.println("copyNewCounter: " + copyNewCounter);
     }
 
     private void flushLeaveNodesUpTo(DataOutput out, int i) throws IOException {
@@ -580,28 +444,14 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
         }
     }
 
-    int childrenLength = 0;
-    int childrenOffset = 0;
-
-    private void startChildHunk(int currentOffset) {
-        childrenLength = 0;
-        childrenOffset = currentOffset;
-    }
-
     private void sequenceSlotStub(ArrayBackedValueStorage abvs, int count) throws IOException {
         DataOutput out = abvs.getDataOutput();
         out.writeInt(count);
-        //        System.err.println("Slot count " + count);
         int offset = abvs.getLength();
         for (int s = 0; s < count; ++s) {
             out.writeInt(-1);
             addSequenceSlot(offset, s, count);
         }
-        //
-        //        for (int i = 0; i < childSlotCounter; ++i) {
-        //            System.err.println("\t\t" + i + " " + childStartOffset.getArray()[i] + " - "
-        //                    + childSlotOffset.getArray()[i]);
-        //        }
     }
 
     private void addSequenceSlot(int offset, int count, int total) {
@@ -610,76 +460,10 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
         childSlotCounter++;
     }
 
-    private void updateSequenceSlot(ArrayBackedValueStorage abvs, int length) {
-        //        for (int i = 0; i < childSlotCounter; ++i) {
-        //            System.err.println("\t" + i + " " + childStartOffset.getArray()[i] + " - " + childSlotOffset.getArray()[i]);
-        //        }
+    private void updateSequenceSlot(ArrayBackedValueStorage abvs, int additional) {
         childSlotCounter--;
-        //        int length = abvs.getLength() - childStartOffset.getArray()[childSlotCounter];
+        int length = abvs.getLength() - childStartOffset.getArray()[childSlotCounter] + additional;
         IntegerPointable.setInteger(abvs.getByteArray(), childSlotOffset.getArray()[childSlotCounter], length);
     }
 
-    private void updateSequenceSlot(ArrayBackedValueStorage abvs) {
-        int length = abvs.getLength() - childStartOffset.getArray()[childSlotCounter];
-        updateSequenceSlot(abvs, length);
-    }
-
-    private ElementNodeBuilder createENB() {
-        if (freeENBList.isEmpty()) {
-            return new ElementNodeBuilder();
-        }
-        return freeENBList.remove(freeENBList.size() - 1);
-    }
-
-    private void freeENB(ElementNodeBuilder enb) {
-        freeENBList.add(enb);
-    }
-
-    private ElementNodeBuilder peekENBStackTop() {
-        return enbStack.get(enbStack.size() - 1);
-    }
-
-    private void startChildInParent(AbstractNodeBuilder anb) throws IOException {
-        if (enbStack.isEmpty()) {
-            docb.startChild(anb);
-        } else {
-            peekENBStackTop().startChild(anb);
-        }
-    }
-
-    private void endChildInParent(AbstractNodeBuilder anb) throws IOException {
-        if (enbStack.isEmpty()) {
-            docb.endChild(anb);
-        } else {
-            peekENBStackTop().endChild(anb);
-        }
-    }
-
-    private void leafNodeStart(int kind) {
-        leavesKind.append(kind);
-        //leavesStart.append(leavesABVS.getLength());
-        //        leavesDepth.append(textCurrentDepth);
-        leavesAttributeCount.append(0);
-        leavesChildrenCount.append(0);
-
-        int parent = previousLeaf.getArray()[textCurrentDepth - 1];
-        //        leavesParent.append(parent);
-        if (kind == LEAF_POST_NODE || kind == LEAF_POST_DOCUMENT) {
-            // Skip Count
-        } else if (kind == LEAF_ATTRIBUTE) {
-            leavesAttributeCount.getArray()[parent] += 1;
-        } else if (textCount != parent) {
-            leavesChildrenCount.getArray()[parent] += 1;
-        }
-        // If it can have children.
-        if (kind == LEAF_PRE_NODE || kind == LEAF_PRE_DOCUMENT) {
-            previousLeaf.getArray()[textCurrentDepth] = textCount;
-        }
-    }
-
-    private void leafNodeEnd() {
-        leavesEnd.append(leavesABVS.getLength());
-        textCount++;
-    }
-
 }
\ No newline at end of file


[06/14] git commit: Test code for SAX Content Handler. The output byte array is correct. Still need to test and clean up code. Check point.

Posted by pr...@apache.org.
Test code for SAX Content Handler. The output byte array is correct. Still need to test and clean up code. Check point.


Project: http://git-wip-us.apache.org/repos/asf/incubator-vxquery/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-vxquery/commit/df6772cf
Tree: http://git-wip-us.apache.org/repos/asf/incubator-vxquery/tree/df6772cf
Diff: http://git-wip-us.apache.org/repos/asf/incubator-vxquery/diff/df6772cf

Branch: refs/heads/prestonc/parser
Commit: df6772cf02a41a7d87c012c6e37775f4dce6158b
Parents: a76d647
Author: Preston Carman <pr...@apache.org>
Authored: Fri Feb 14 23:25:05 2014 -0800
Committer: Preston Carman <pr...@apache.org>
Committed: Thu Feb 27 14:22:24 2014 -0800

----------------------------------------------------------------------
 .../vxquery/xmlparser/SAXContentHandler.java    | 270 +++++++++++++++++++
 1 file changed, 270 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-vxquery/blob/df6772cf/vxquery-core/src/main/java/org/apache/vxquery/xmlparser/SAXContentHandler.java
----------------------------------------------------------------------
diff --git a/vxquery-core/src/main/java/org/apache/vxquery/xmlparser/SAXContentHandler.java b/vxquery-core/src/main/java/org/apache/vxquery/xmlparser/SAXContentHandler.java
index a8ec0b9..0ef2991 100644
--- a/vxquery-core/src/main/java/org/apache/vxquery/xmlparser/SAXContentHandler.java
+++ b/vxquery-core/src/main/java/org/apache/vxquery/xmlparser/SAXContentHandler.java
@@ -30,6 +30,7 @@ import org.apache.vxquery.datamodel.builders.nodes.PINodeBuilder;
 import org.apache.vxquery.datamodel.builders.nodes.TextNodeBuilder;
 import org.apache.vxquery.datamodel.values.ValueTag;
 import org.apache.vxquery.types.BuiltinTypeQNames;
+import org.apache.vxquery.util.GrowableIntArray;
 import org.apache.vxquery.xmlquery.query.XQueryConstants;
 import org.xml.sax.Attributes;
 import org.xml.sax.ContentHandler;
@@ -37,6 +38,8 @@ import org.xml.sax.Locator;
 import org.xml.sax.SAXException;
 import org.xml.sax.ext.LexicalHandler;
 
+import edu.uci.ics.hyracks.data.std.primitive.BytePointable;
+import edu.uci.ics.hyracks.data.std.primitive.IntegerPointable;
 import edu.uci.ics.hyracks.data.std.util.ArrayBackedValueStorage;
 
 public class SAXContentHandler implements ContentHandler, LexicalHandler {
@@ -72,6 +75,35 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
 
     private boolean pendingText;
 
+    private final ArrayBackedValueStorage leavesABVS;
+
+    // Structure and data.
+    private final GrowableIntArray leavesKind;
+    private final GrowableIntArray leavesStart;
+    private final GrowableIntArray leavesEnd;
+    private final GrowableIntArray leavesDepth;
+    private final GrowableIntArray leavesParent;
+    private final GrowableIntArray leavesAttributeCount;
+    private final GrowableIntArray leavesChildrenCount;
+
+    // Data keys for current progress through XML document.
+    private int textCount = 0;
+    private int textCurrentDepth = 0;
+    private int childSlotCounter = 0;
+    private final GrowableIntArray previousLeaf;
+    private final GrowableIntArray childStartOffset;
+    private final GrowableIntArray childSlotOffset;
+    private final int SLOT_SIZE = 4;
+
+    private final int LEAF_TEXT = 1;
+    private final int LEAF_PRE_NODE = 2;
+    private final int LEAF_COMMENT = 3;
+    private final int LEAF_ATTRIBUTE = 4;
+    private final int LEAF_PI = 5;
+    private final int LEAF_PRE_DOCUMENT = 5;
+    private final int LEAF_POST_DOCUMENT = 6;
+    private final int LEAF_POST_NODE = 7;
+
     public SAXContentHandler(boolean attachTypes, ITreeNodeIdProvider nodeIdProvider) {
         docABVS = new ArrayBackedValueStorage();
         this.createNodeIds = nodeIdProvider != null;
@@ -88,6 +120,21 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
         enbStack = new ArrayList<ElementNodeBuilder>();
         freeENBList = new ArrayList<ElementNodeBuilder>();
         pendingText = false;
+
+        leavesKind = new GrowableIntArray();
+        leavesStart = new GrowableIntArray();
+        leavesABVS = new ArrayBackedValueStorage();
+        leavesEnd = new GrowableIntArray();
+        leavesDepth = new GrowableIntArray();
+        leavesParent = new GrowableIntArray();
+        leavesAttributeCount = new GrowableIntArray();
+        leavesChildrenCount = new GrowableIntArray();
+        previousLeaf = new GrowableIntArray();
+        childStartOffset = new GrowableIntArray();
+        childSlotOffset = new GrowableIntArray();
+        textCount = 0;
+        textCurrentDepth = 0;
+
     }
 
     @Override
@@ -106,6 +153,23 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
             e.printStackTrace();
             throw new SAXException(e);
         }
+
+        leafNodeStart(LEAF_POST_DOCUMENT);
+        leafNodeEnd();
+
+        textCurrentDepth--;
+        int[] k = leavesKind.getArray();
+        int[] s = leavesStart.getArray();
+        int[] e = leavesEnd.getArray();
+        int[] d = leavesDepth.getArray();
+        int[] p = leavesParent.getArray();
+        int[] c = leavesChildrenCount.getArray();
+        int[] a = leavesAttributeCount.getArray();
+        for (int i = 0; i < s.length; ++i) {
+            System.err.println(i + " " + k[i] + " - " + d[i] + ":" + s[i] + ":" + e[i] + " p=" + p[i] + " a=" + a[i]
+                    + " c=" + c[i]);
+        }
+
     }
 
     @Override
@@ -120,6 +184,12 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
             e.printStackTrace();
             throw new SAXException(e);
         }
+
+        leafNodeStart(LEAF_POST_NODE);
+        leafNodeEnd();
+
+        textCurrentDepth--;
+
     }
 
     @Override
@@ -145,6 +215,17 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
             tempABVS.getDataOutput().writeUTF(data);
             pinb.setContent(tempABVS);
             endChildInParent(pinb);
+
+            // Save to leavesABVS
+            leafNodeStart(LEAF_PI);
+            pinb.reset(leavesABVS);
+            if (createNodeIds) {
+                pinb.setLocalNodeId(nodeIdCounter);
+            }
+            pinb.setTarget(target);
+            pinb.setContent(data);
+            leafNodeEnd();
+
         } catch (IOException e) {
             e.printStackTrace();
             throw new SAXException(e);
@@ -161,7 +242,9 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
 
     @Override
     public void startDocument() throws SAXException {
+        textCurrentDepth++;
         try {
+            nodeIdCounter = 0;
             db.reset();
             docABVS.reset();
             docb.reset(docABVS);
@@ -169,6 +252,15 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
                 docb.setLocalNodeId(nodeIdCounter++);
             }
             docb.startChildrenChunk();
+
+            leafNodeStart(LEAF_PRE_DOCUMENT);
+            DocumentNodeBuilder docb2 = new DocumentNodeBuilder();
+            docb2.reset(leavesABVS);
+            if (createNodeIds) {
+                docb2.setLocalNodeId(nodeIdCounter);
+            }
+            leafNodeEnd();
+
             flushText();
         } catch (IOException e) {
             e.printStackTrace();
@@ -178,6 +270,7 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
 
     @Override
     public void startElement(String uri, String localName, String name, Attributes atts) throws SAXException {
+
         try {
             flushText();
             int idx = name.indexOf(':');
@@ -197,6 +290,24 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
             if (createNodeIds) {
                 enb.setLocalNodeId(nodeIdCounter++);
             }
+
+            // Save to leavesABVS
+            leafNodeStart(LEAF_PRE_NODE);
+            ElementNodeBuilder enb2 = createENB();
+            enb2.setMvs(leavesABVS);
+            enb2.setName(uriCode, localNameCode, prefixCode);
+            if (attachTypes) {
+                int typeUriCode = db.lookup(XQueryConstants.XS_NSURI);
+                int typeLocalNameCode = db.lookup(BuiltinTypeQNames.UNTYPED_STR);
+                int typePrefixCode = db.lookup(XQueryConstants.XS_PREFIX);
+                enb2.setType(typeUriCode, typeLocalNameCode, typePrefixCode);
+            }
+            if (createNodeIds) {
+                enb2.setLocalNodeId(nodeIdCounter);
+            }
+            leafNodeEnd();
+            textCurrentDepth++;
+
             enb.startAttributeChunk();
             final int nAttrs = atts.getLength();
             for (int i = 0; i < nAttrs; ++i) {
@@ -223,6 +334,23 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
                 }
                 anb.setValue(tempABVS);
                 enb.endAttribute(anb);
+
+                // Save to leavesABVS
+                leafNodeStart(LEAF_ATTRIBUTE);
+                anb.reset(leavesABVS);
+                anb.setName(aUriCode, aLocalNameCode, aPrefixCode);
+                if (attachTypes) {
+                    int typeUriCode = db.lookup(XQueryConstants.XS_NSURI);
+                    int typeLocalNameCode = db.lookup(BuiltinTypeQNames.UNTYPED_ATOMIC_STR);
+                    int typePrefixCode = db.lookup(XQueryConstants.XS_PREFIX);
+                    anb.setType(typeUriCode, typeLocalNameCode, typePrefixCode);
+                }
+                if (createNodeIds) {
+                    anb.setLocalNodeId(nodeIdCounter++);
+                }
+                anb.setValue(atts.getValue(i));
+                leafNodeEnd();
+
             }
             enb.endAttributeChunk();
             enb.startChildrenChunk();
@@ -250,6 +378,16 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
             }
             cnb.setValue(tempABVS);
             endChildInParent(cnb);
+
+            // Save to leavesABVS
+            leafNodeStart(LEAF_COMMENT);
+            cnb.reset(leavesABVS);
+            if (createNodeIds) {
+                cnb.setLocalNodeId(nodeIdCounter);
+            }
+            cnb.setValue(buffer.toString());
+            leafNodeEnd();
+
             buffer.delete(0, buffer.length());
         } catch (IOException e) {
             e.printStackTrace();
@@ -267,6 +405,16 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
             }
             tnb.setValue(tempABVS);
             peekENBStackTop().endChild(tnb);
+
+            // Save to leavesABVS
+            leafNodeStart(LEAF_TEXT);
+            tnb.reset(leavesABVS);
+            if (createNodeIds) {
+                tnb.setLocalNodeId(nodeIdCounter);
+            }
+            tnb.setValue(buffer.toString());
+            leafNodeEnd();
+
             buffer.delete(0, buffer.length());
             pendingText = false;
         }
@@ -314,6 +462,100 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
         out.write(docABVS.getByteArray(), docABVS.getStartOffset(), docABVS.getLength());
     }
 
+    public void writeOnce(ArrayBackedValueStorage abvs) throws IOException {
+        DataOutput out = abvs.getDataOutput();
+        out.write(ValueTag.NODE_TREE_TAG);
+        byte header = NodeTreePointable.HEADER_DICTIONARY_EXISTS_MASK;
+        if (attachTypes) {
+            header |= NodeTreePointable.HEADER_TYPE_EXISTS_MASK;
+        }
+        if (createNodeIds) {
+            header |= NodeTreePointable.HEADER_NODEID_EXISTS_MASK;
+        }
+        out.write(header);
+        if (createNodeIds) {
+            out.writeInt(nodeIdProvider.getId());
+        }
+        db.write(abvs);
+
+        for (int i = 0; i < leavesKind.getSize(); ++i) {
+            if (leavesKind.getArray()[i] == LEAF_PRE_DOCUMENT) {
+                out.write(leavesABVS.getByteArray(), leavesStart.getArray()[i],
+                        leavesEnd.getArray()[i] - leavesStart.getArray()[i]);
+
+                int children = leavesChildrenCount.getArray()[i];
+                if (children > 0) {
+                    out.writeInt(children);
+                    int offset = abvs.getLength();
+                    for (int s = 0; s < children; ++s) {
+                        out.writeInt(-1);
+                        addChildSlot(offset, s, children);
+                    }
+                }
+                // Continue with nodes.
+
+            } else if (leavesKind.getArray()[i] == LEAF_PRE_NODE) {
+                int nsCount = 0;
+                int attrCount = leavesAttributeCount.getArray()[i];
+                int childrenCount = leavesChildrenCount.getArray()[i];
+
+                ElementNodeBuilder enb2 = createENB();
+                enb2.setMvs(abvs);
+                enb2.setTagHeader(nsCount, attrCount, childrenCount);
+
+                out.write(leavesABVS.getByteArray(), leavesStart.getArray()[i],
+                        leavesEnd.getArray()[i] - leavesStart.getArray()[i]);
+
+                if (attrCount > 0) {
+                    out.writeInt(attrCount);
+                    int offset = abvs.getLength();
+                    for (int s = 0; s < attrCount; ++s) {
+                        out.writeInt(-1);
+                        addChildSlot(offset, s, attrCount);
+                    }
+                    for (int s = 0; s < attrCount; ++s) {
+                        ++i;
+                        out.write(leavesABVS.getByteArray(), leavesStart.getArray()[i], leavesEnd.getArray()[i]
+                                - leavesStart.getArray()[i]);
+                    }
+                }
+
+                if (childrenCount > 0) {
+                    out.writeInt(childrenCount);
+                    int offset = abvs.getLength();
+                    for (int s = 0; s < childrenCount; ++s) {
+                        out.writeInt(-1);
+                        addChildSlot(offset, s, childrenCount);
+                    }
+                }
+                // Continue with nodes.
+
+            } else {
+                if (leavesKind.getArray()[i] != LEAF_POST_DOCUMENT && leavesKind.getArray()[i] != LEAF_POST_NODE)
+                out.write(leavesABVS.getByteArray(), leavesStart.getArray()[i],
+                        leavesEnd.getArray()[i] - leavesStart.getArray()[i]);
+                finishChildSlot(abvs);
+            }
+        }
+    }
+
+    private void addChildSlot(int offset, int count, int total) {
+        childStartOffset.insert(childSlotCounter, offset + total * SLOT_SIZE);
+        childSlotOffset.insert(childSlotCounter, offset + (total - count - 1) * SLOT_SIZE);
+        childSlotCounter++;
+
+        for (int i = 0; i < childSlotCounter; ++i) {
+            System.err.println("\t\t" + i + " " + childStartOffset.getArray()[i] + " - "
+                    + childSlotOffset.getArray()[i]);
+        }
+    }
+
+    private void finishChildSlot(ArrayBackedValueStorage abvs) {
+        childSlotCounter--;
+        int length = abvs.getLength() - childStartOffset.getArray()[childSlotCounter];
+        IntegerPointable.setInteger(abvs.getByteArray(), childSlotOffset.getArray()[childSlotCounter], length);
+    }
+
     private ElementNodeBuilder createENB() {
         if (freeENBList.isEmpty()) {
             return new ElementNodeBuilder();
@@ -344,4 +586,32 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
             peekENBStackTop().endChild(anb);
         }
     }
+
+    private void leafNodeStart(int kind) {
+        leavesKind.append(kind);
+        leavesStart.append(leavesABVS.getLength());
+        leavesDepth.append(textCurrentDepth);
+        leavesAttributeCount.append(0);
+        leavesChildrenCount.append(0);
+
+        int parent = previousLeaf.getArray()[textCurrentDepth - 1];
+        leavesParent.append(parent);
+        if (kind == LEAF_POST_NODE || kind == LEAF_POST_DOCUMENT) {
+            // Skip Count
+        } else if (kind == LEAF_ATTRIBUTE) {
+            leavesAttributeCount.getArray()[parent] += 1;
+        } else if (textCount != parent) {
+            leavesChildrenCount.getArray()[parent] += 1;
+        }
+        // If it can have children.
+        if (kind == LEAF_PRE_NODE || kind == LEAF_PRE_DOCUMENT) {
+            previousLeaf.getArray()[textCurrentDepth] = textCount;
+        }
+    }
+
+    private void leafNodeEnd() {
+        leavesEnd.append(leavesABVS.getLength());
+        textCount++;
+    }
+
 }
\ No newline at end of file


[05/14] git commit: Fixed a non ascii character.

Posted by pr...@apache.org.
Fixed a non ascii character.


Project: http://git-wip-us.apache.org/repos/asf/incubator-vxquery/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-vxquery/commit/04ac20d1
Tree: http://git-wip-us.apache.org/repos/asf/incubator-vxquery/tree/04ac20d1
Diff: http://git-wip-us.apache.org/repos/asf/incubator-vxquery/diff/04ac20d1

Branch: refs/heads/prestonc/parser
Commit: 04ac20d126df5baaf0a3937e531c8ff74557a185
Parents: dcce8f7
Author: Preston Carman <pr...@apache.org>
Authored: Fri Feb 21 17:08:07 2014 -0800
Committer: Preston Carman <pr...@apache.org>
Committed: Fri Feb 21 17:08:07 2014 -0800

----------------------------------------------------------------------
 .../src/main/resources/noaa-ghcn-daily/queries/q05.xq              | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-vxquery/blob/04ac20d1/vxquery-benchmark/src/main/resources/noaa-ghcn-daily/queries/q05.xq
----------------------------------------------------------------------
diff --git a/vxquery-benchmark/src/main/resources/noaa-ghcn-daily/queries/q05.xq b/vxquery-benchmark/src/main/resources/noaa-ghcn-daily/queries/q05.xq
index fe455d1..3348d04 100644
--- a/vxquery-benchmark/src/main/resources/noaa-ghcn-daily/queries/q05.xq
+++ b/vxquery-benchmark/src/main/resources/noaa-ghcn-daily/queries/q05.xq
@@ -10,7 +10,7 @@ fn:min(
     
     let $date := xs:date(fn:substring(xs:string(fn:data($r/date)), 0, 11))
     where $s/id eq $r/station
-        and (some $x in $s/locationLabels satisfies ($x/type eq "ST" and $x/displayName eq "Oregon”))
+        and (some $x in $s/locationLabels satisfies ($x/type eq "ST" and $x/displayName eq "Oregon"))
         and $r/dataType eq "TMIN" 
         and fn:year-from-date($date) eq 2001
     return $r/value


[09/14] git commit: Added functions to help with simplifying the XMLParser calls. Only one array backed value store is needed.

Posted by pr...@apache.org.
Added functions to help with simplifying the XMLParser calls. Only one array backed value store is needed.


Project: http://git-wip-us.apache.org/repos/asf/incubator-vxquery/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-vxquery/commit/a76d647b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-vxquery/tree/a76d647b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-vxquery/diff/a76d647b

Branch: refs/heads/prestonc/parser
Commit: a76d647b11a92c6d31d0787624d4a6b2f5e56030
Parents: f64c3a7
Author: Preston Carman <pr...@apache.org>
Authored: Fri Feb 14 23:24:04 2014 -0800
Committer: Preston Carman <pr...@apache.org>
Committed: Thu Feb 27 14:22:24 2014 -0800

----------------------------------------------------------------------
 .../builders/nodes/AttributeNodeBuilder.java    |  5 +++++
 .../builders/nodes/CommentNodeBuilder.java      |  4 ++++
 .../builders/nodes/ElementNodeBuilder.java      | 20 ++++++++++++++++++++
 .../datamodel/builders/nodes/PINodeBuilder.java |  8 ++++++++
 .../builders/nodes/TextNodeBuilder.java         |  4 ++++
 5 files changed, 41 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-vxquery/blob/a76d647b/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/AttributeNodeBuilder.java
----------------------------------------------------------------------
diff --git a/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/AttributeNodeBuilder.java b/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/AttributeNodeBuilder.java
index cea7799..667001a 100644
--- a/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/AttributeNodeBuilder.java
+++ b/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/AttributeNodeBuilder.java
@@ -56,4 +56,9 @@ public class AttributeNodeBuilder extends AbstractNodeBuilder {
     public void setValue(IValueReference value) throws IOException {
         out.write(value.getByteArray(), value.getStartOffset(), value.getLength());
     }
+
+    public void setValue(String string) throws IOException {
+        out.write(ValueTag.XS_UNTYPED_ATOMIC_TAG);
+        out.writeUTF(string);
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-vxquery/blob/a76d647b/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/CommentNodeBuilder.java
----------------------------------------------------------------------
diff --git a/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/CommentNodeBuilder.java b/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/CommentNodeBuilder.java
index 104868f..dce961c 100644
--- a/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/CommentNodeBuilder.java
+++ b/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/CommentNodeBuilder.java
@@ -44,4 +44,8 @@ public class CommentNodeBuilder extends AbstractNodeBuilder {
     public void setValue(IValueReference value) throws IOException {
         out.write(value.getByteArray(), value.getStartOffset(), value.getLength());
     }
+
+    public void setValue(String string) throws IOException {
+        out.writeUTF(string);
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-vxquery/blob/a76d647b/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/ElementNodeBuilder.java
----------------------------------------------------------------------
diff --git a/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/ElementNodeBuilder.java b/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/ElementNodeBuilder.java
index d455fd5..4493bd1 100644
--- a/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/ElementNodeBuilder.java
+++ b/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/ElementNodeBuilder.java
@@ -59,6 +59,11 @@ public class ElementNodeBuilder extends AbstractNodeBuilder {
         childrenDataArea = new ArrayBackedValueStorage();
     }
 
+    public void setMvs(IMutableValueStorage mvs) throws IOException {
+        this.mvs = mvs;
+        out = mvs.getDataOutput();
+    }
+
     @Override
     public void reset(IMutableValueStorage mvs) throws IOException {
         this.mvs = mvs;
@@ -83,6 +88,21 @@ public class ElementNodeBuilder extends AbstractNodeBuilder {
         BytePointable.setByte(mvs.getByteArray(), headerOffset, header);
     }
 
+    public void setTagHeader(int nsCount, int attrCount, int childrenCount) throws IOException {
+        byte header = 0;
+        if (nsCount > 0) {
+            header |= ElementNodePointable.NS_CHUNK_EXISTS_MASK;
+        }
+        if (attrCount > 0) {
+            header |= ElementNodePointable.ATTRIBUTES_CHUNK_EXISTS_MASK;
+        }
+        if (childrenCount > 0) {
+            header |= ElementNodePointable.CHILDREN_CHUNK_EXISTS_MASK;
+        }
+        out.write(ValueTag.ELEMENT_NODE_TAG);
+        out.writeByte(header);
+    }
+
     public void setName(int uriCode, int localNameCode, int prefixCode) throws IOException {
         out.writeInt(prefixCode);
         out.writeInt(uriCode);

http://git-wip-us.apache.org/repos/asf/incubator-vxquery/blob/a76d647b/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/PINodeBuilder.java
----------------------------------------------------------------------
diff --git a/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/PINodeBuilder.java b/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/PINodeBuilder.java
index a472143..344a8f4 100644
--- a/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/PINodeBuilder.java
+++ b/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/PINodeBuilder.java
@@ -45,7 +45,15 @@ public class PINodeBuilder extends AbstractNodeBuilder {
         out.write(value.getByteArray(), value.getStartOffset(), value.getLength());
     }
 
+    public void setTarget(String string) throws IOException {
+        out.writeUTF(string);
+    }
+
     public void setContent(IValueReference value) throws IOException {
         out.write(value.getByteArray(), value.getStartOffset(), value.getLength());
     }
+
+    public void setContent(String string) throws IOException {
+        out.writeUTF(string);
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-vxquery/blob/a76d647b/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/TextNodeBuilder.java
----------------------------------------------------------------------
diff --git a/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/TextNodeBuilder.java b/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/TextNodeBuilder.java
index acddb8b..387b77e 100644
--- a/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/TextNodeBuilder.java
+++ b/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/TextNodeBuilder.java
@@ -44,4 +44,8 @@ public class TextNodeBuilder extends AbstractNodeBuilder {
     public void setValue(IValueReference value) throws IOException {
         out.write(value.getByteArray(), value.getStartOffset(), value.getLength());
     }
+    
+    public void setValue(String string) throws IOException {
+        out.writeUTF(string);
+    }
 }
\ No newline at end of file


[08/14] git commit: Removed one more array of tracking data.

Posted by pr...@apache.org.
Removed one more array of tracking data.


Project: http://git-wip-us.apache.org/repos/asf/incubator-vxquery/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-vxquery/commit/0383734d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-vxquery/tree/0383734d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-vxquery/diff/0383734d

Branch: refs/heads/prestonc/parser
Commit: 0383734d4a303166279453007042fb793e2850ea
Parents: 7336f47
Author: Preston Carman <pr...@apache.org>
Authored: Sun Feb 16 21:45:40 2014 -0800
Committer: Preston Carman <pr...@apache.org>
Committed: Thu Feb 27 14:22:24 2014 -0800

----------------------------------------------------------------------
 .../vxquery/xmlparser/SAXContentHandler.java    | 39 ++++++++++----------
 1 file changed, 19 insertions(+), 20 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-vxquery/blob/0383734d/vxquery-core/src/main/java/org/apache/vxquery/xmlparser/SAXContentHandler.java
----------------------------------------------------------------------
diff --git a/vxquery-core/src/main/java/org/apache/vxquery/xmlparser/SAXContentHandler.java b/vxquery-core/src/main/java/org/apache/vxquery/xmlparser/SAXContentHandler.java
index 3ead13a..40a35b0 100644
--- a/vxquery-core/src/main/java/org/apache/vxquery/xmlparser/SAXContentHandler.java
+++ b/vxquery-core/src/main/java/org/apache/vxquery/xmlparser/SAXContentHandler.java
@@ -70,10 +70,10 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
 
     // Structure and data.
     private final GrowableIntArray leavesKind;
-    private final GrowableIntArray leavesStart;
+//    private final GrowableIntArray leavesStart;
     private final GrowableIntArray leavesEnd;
-//    private final GrowableIntArray leavesDepth;
-//    private final GrowableIntArray leavesParent;
+    //    private final GrowableIntArray leavesDepth;
+    //    private final GrowableIntArray leavesParent;
     private final GrowableIntArray leavesAttributeCount;
     private final GrowableIntArray leavesChildrenCount;
 
@@ -110,11 +110,11 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
         pendingText = false;
 
         leavesKind = new GrowableIntArray(600);
-        leavesStart = new GrowableIntArray(600);
+        //leavesStart = new GrowableIntArray(600);
         leavesABVS = new ArrayBackedValueStorage();
         leavesEnd = new GrowableIntArray(600);
-//        leavesDepth = new GrowableIntArray(600);
-//        leavesParent = new GrowableIntArray(600);
+        //        leavesDepth = new GrowableIntArray(600);
+        //        leavesParent = new GrowableIntArray(600);
         leavesAttributeCount = new GrowableIntArray(600);
         leavesChildrenCount = new GrowableIntArray(600);
         previousLeaf = new GrowableIntArray(600);
@@ -209,11 +209,11 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
     @Override
     public void startDocument() throws SAXException {
         leavesKind.clear();
-        leavesStart.clear();
+        //leavesStart.clear();
         leavesABVS.reset();
         leavesEnd.clear();
-//        leavesDepth.clear();
-//        leavesParent.clear();
+        //        leavesDepth.clear();
+        //        leavesParent.clear();
         leavesAttributeCount.clear();
         leavesChildrenCount.clear();
         previousLeaf.clear();
@@ -381,10 +381,11 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
         }
         db.write(abvs);
 
+        // leavesStart.getArray()[i]
+        int currentOffset = 0;
         for (int i = 0; i < leavesKind.getSize(); ++i) {
             if (leavesKind.getArray()[i] == LEAF_PRE_DOCUMENT) {
-                out.write(leavesABVS.getByteArray(), leavesStart.getArray()[i],
-                        leavesEnd.getArray()[i] - leavesStart.getArray()[i]);
+                out.write(leavesABVS.getByteArray(), currentOffset, leavesEnd.getArray()[i] - currentOffset);
 
                 int children = leavesChildrenCount.getArray()[i];
                 if (children > 0) {
@@ -400,15 +401,13 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
                 enb.setMvs(abvs);
                 enb.setTagHeader(nsCount, attrCount, childrenCount);
 
-                out.write(leavesABVS.getByteArray(), leavesStart.getArray()[i],
-                        leavesEnd.getArray()[i] - leavesStart.getArray()[i]);
+                out.write(leavesABVS.getByteArray(), currentOffset, leavesEnd.getArray()[i] - currentOffset);
 
                 if (attrCount > 0) {
                     sequenceSlotStub(abvs, attrCount);
                     for (int s = 0; s < attrCount; ++s) {
                         ++i;
-                        out.write(leavesABVS.getByteArray(), leavesStart.getArray()[i], leavesEnd.getArray()[i]
-                                - leavesStart.getArray()[i]);
+                        out.write(leavesABVS.getByteArray(), currentOffset, leavesEnd.getArray()[i] - currentOffset);
                         updateSequenceSlot(abvs);
                     }
                 }
@@ -423,10 +422,10 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
             } else if (leavesKind.getArray()[i] == LEAF_POST_NODE) {
                 updateSequenceSlot(abvs);
             } else {
-                out.write(leavesABVS.getByteArray(), leavesStart.getArray()[i],
-                        leavesEnd.getArray()[i] - leavesStart.getArray()[i]);
+                out.write(leavesABVS.getByteArray(), currentOffset, leavesEnd.getArray()[i] - currentOffset);
                 updateSequenceSlot(abvs);
             }
+            currentOffset = leavesEnd.getArray()[i];
         }
     }
 
@@ -462,13 +461,13 @@ public class SAXContentHandler implements ContentHandler, LexicalHandler {
 
     private void leafNodeStart(int kind) {
         leavesKind.append(kind);
-        leavesStart.append(leavesABVS.getLength());
-//        leavesDepth.append(textCurrentDepth);
+        //leavesStart.append(leavesABVS.getLength());
+        //        leavesDepth.append(textCurrentDepth);
         leavesAttributeCount.append(0);
         leavesChildrenCount.append(0);
 
         int parent = previousLeaf.getArray()[textCurrentDepth - 1];
-//        leavesParent.append(parent);
+        //        leavesParent.append(parent);
         if (kind == LEAF_POST_NODE || kind == LEAF_POST_DOCUMENT) {
             // Skip Count
         } else if (kind == LEAF_ATTRIBUTE) {