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) {