Merge lp:~zorba-coders/zorba/pul-xdm into lp:zorba

Proposed by Federico Cavalieri
Status: Rejected
Rejected by: Chris Hillery
Proposed branch: lp:~zorba-coders/zorba/pul-xdm
Merge into: lp:zorba
Diff against target: 23682 lines (+18989/-937)
272 files modified
NOTICE.txt (+0/-740)
bin/path_util.cpp (+0/-113)
bin/path_util.h (+0/-39)
include/zorba/pregenerated/diagnostic_list.h (+0/-2)
modules/com/zorba-xquery/www/modules/CMakeLists.txt (+10/-0)
modules/com/zorba-xquery/www/modules/pregenerated/errors.xq (+0/-4)
modules/com/zorba-xquery/www/modules/store/pul/errors.xq (+69/-0)
modules/com/zorba-xquery/www/modules/store/pul/representation.xq (+753/-0)
schemas/CMakeLists.txt (+3/-0)
schemas/com/28msec/CMakeLists.txt (+15/-0)
schemas/com/28msec/www/CMakeLists.txt (+15/-0)
schemas/com/28msec/www/schemas/CMakeLists.txt (+17/-0)
schemas/com/28msec/www/schemas/complete-pul-mine.xsd (+216/-0)
schemas/com/28msec/www/schemas/complete-pul.xsd (+123/-0)
schemas/com/28msec/www/schemas/pul-mine.xsd (+300/-0)
schemas/com/28msec/www/schemas/pul.xsd (+212/-0)
schemas/com/28msec/www/schemas/xdm-mine.xsd (+276/-0)
schemas/com/28msec/www/schemas/xdm.xsd (+276/-0)
schemas/com/CMakeLists.txt (+15/-0)
schemas/org/CMakeLists.txt (+15/-0)
schemas/org/w3/CMakeLists.txt (+15/-0)
schemas/org/w3/www/2005/CMakeLists.txt (+15/-0)
schemas/org/w3/www/2005/XQueryX.xsd (+1962/-0)
schemas/org/w3/www/CMakeLists.txt (+15/-0)
src/compiler/expression/fo_expr.cpp (+6/-1)
src/context/static_context.cpp (+6/-1)
src/context/static_context.h (+2/-0)
src/diagnostics/diagnostic_en.xml (+0/-4)
src/diagnostics/pregenerated/diagnostic_list.cpp (+0/-3)
src/diagnostics/pregenerated/dict_en.cpp (+0/-1)
src/functions/library.cpp (+2/-0)
src/functions/pregenerated/func_pul.cpp (+155/-0)
src/functions/pregenerated/func_pul.h (+128/-0)
src/functions/pregenerated/function_enum.h (+5/-0)
src/runtime/spec/mappings.xml (+5/-0)
src/runtime/spec/store/pul.xml (+128/-0)
src/runtime/store/pregenerated/pul.cpp (+185/-0)
src/runtime/store/pregenerated/pul.h (+236/-0)
src/runtime/store/pul_impl.cpp (+234/-0)
src/runtime/visitors/pregenerated/planiter_visitor.h (+25/-0)
src/runtime/visitors/pregenerated/printer_visitor.cpp (+71/-0)
src/runtime/visitors/pregenerated/printer_visitor.h (+15/-0)
src/store/api/copymode.h (+15/-3)
src/store/api/item_factory.h (+13/-0)
src/store/api/pul.h (+10/-2)
src/store/api/update_consts.h (+11/-11)
src/store/naive/CMakeLists.txt (+7/-0)
src/store/naive/node_items.cpp (+51/-2)
src/store/naive/node_items.h (+15/-0)
src/store/naive/pul_cxdm_encoding.cpp (+1300/-0)
src/store/naive/pul_decoding.cpp (+392/-0)
src/store/naive/pul_encoding.cpp (+537/-0)
src/store/naive/pul_exdm_decoding.cpp (+772/-0)
src/store/naive/pul_primitives.cpp (+160/-1)
src/store/naive/pul_primitives.h (+107/-2)
src/store/naive/pul_visitors.cpp (+289/-0)
src/store/naive/pul_visitors.h (+1131/-0)
src/store/naive/pul_xdm_decoding.cpp (+2380/-0)
src/store/naive/pul_xdm_encoding.cpp (+454/-0)
src/store/naive/simple_collection.h (+2/-0)
src/store/naive/simple_item_factory.cpp (+16/-0)
src/store/naive/simple_item_factory.h (+8/-0)
src/store/naive/simple_pul.cpp (+31/-1)
src/store/naive/simple_pul.h (+17/-0)
src/store/naive/simple_store.cpp (+89/-1)
src/store/naive/simple_store.h (+8/-0)
src/system/globalenv.cpp (+0/-1)
src/types/schema/XercSchemaValidator.cpp (+5/-1)
src/types/schema/revalidateUtils.cpp (+72/-2)
src/types/schema/revalidateUtils.h (+18/-0)
src/types/typeimpl.h (+2/-0)
test/rbkt/ExpQueryResults/zorba/pul/applicability/pul_applicability_attrname.xml.res (+2/-0)
test/rbkt/ExpQueryResults/zorba/pul/errors/pul_errors_modifiers_1.xml.res (+2/-0)
test/rbkt/ExpQueryResults/zorba/pul/errors/pul_errors_modifiers_2.xml.res (+2/-0)
test/rbkt/ExpQueryResults/zorba/pul/errors/pul_errors_modifiers_3.xml.res (+2/-0)
test/rbkt/ExpQueryResults/zorba/pul/errors/pul_errors_types-element-type-not-found2.xml.res (+2/-0)
test/rbkt/ExpQueryResults/zorba/pul/namespaces/pul_ns_collision_cxml.xml.res (+34/-0)
test/rbkt/ExpQueryResults/zorba/pul/namespaces/pul_ns_collision_xml.xml.res (+34/-0)
test/rbkt/ExpQueryResults/zorba/pul/namespaces/pul_ns_emptyprefix_cxml.xml.res (+34/-0)
test/rbkt/ExpQueryResults/zorba/pul/namespaces/pul_ns_emptyprefix_xml.xml.res (+34/-0)
test/rbkt/ExpQueryResults/zorba/pul/namespaces/pul_ns_insert_cxml.xml.res (+34/-0)
test/rbkt/ExpQueryResults/zorba/pul/namespaces/pul_ns_insert_xml.xml.res (+34/-0)
test/rbkt/ExpQueryResults/zorba/pul/namespaces/pul_ns_prefix_cxml.xml.res (+34/-0)
test/rbkt/ExpQueryResults/zorba/pul/namespaces/pul_ns_prefix_xml.xml.res (+34/-0)
test/rbkt/ExpQueryResults/zorba/pul/namespaces/pul_ns_rename_cxml.xml.res (+34/-0)
test/rbkt/ExpQueryResults/zorba/pul/namespaces/pul_ns_rename_xml.xml.res (+34/-0)
test/rbkt/ExpQueryResults/zorba/pul/pos_ref/pul_position_cxml.xml.res (+2/-0)
test/rbkt/ExpQueryResults/zorba/pul/pos_ref/pul_position_xml.xml.res (+2/-0)
test/rbkt/ExpQueryResults/zorba/pul/textmerge/pul_textmerge_01.xml.res (+2/-0)
test/rbkt/ExpQueryResults/zorba/pul/textmerge/pul_textmerge_02.xml.res (+2/-0)
test/rbkt/ExpQueryResults/zorba/pul/textmerge/pul_textmerge_03.xml.res (+2/-0)
test/rbkt/ExpQueryResults/zorba/pul/textmerge/pul_textmerge_04.xml.res (+2/-0)
test/rbkt/ExpQueryResults/zorba/pul/textmerge/pul_textmerge_05.xml.res (+2/-0)
test/rbkt/ExpQueryResults/zorba/pul/textmerge/pul_textmerge_06.xml.res (+2/-0)
test/rbkt/ExpQueryResults/zorba/pul/textmerge/pul_textmerge_07.xml.res (+2/-0)
test/rbkt/ExpQueryResults/zorba/pul/textmerge/pul_textmerge_08.xml.res (+2/-0)
test/rbkt/ExpQueryResults/zorba/pul/textmerge/pul_textmerge_09.xml.res (+2/-0)
test/rbkt/ExpQueryResults/zorba/pul/types/pul_types-anys-cxml.xml.res (+2/-0)
test/rbkt/ExpQueryResults/zorba/pul/types/pul_types-builtin-cxml.xml.res (+2/-0)
test/rbkt/ExpQueryResults/zorba/pul/types/pul_types-builtin-xml.xml.res (+2/-0)
test/rbkt/ExpQueryResults/zorba/pul/types/pul_types-enc-lax-cxml.xml.res (+2/-0)
test/rbkt/ExpQueryResults/zorba/pul/types/pul_types-enc-lax-xml.xml.res (+2/-0)
test/rbkt/ExpQueryResults/zorba/pul/types/pul_types-enc-skip-cxml.xml.res (+2/-0)
test/rbkt/ExpQueryResults/zorba/pul/types/pul_types-enc-skip-xml.xml.res (+2/-0)
test/rbkt/ExpQueryResults/zorba/pul/types/pul_types-lax-cxml.xml.res (+2/-0)
test/rbkt/ExpQueryResults/zorba/pul/types/pul_types-lax-xml.xml.res (+2/-0)
test/rbkt/ExpQueryResults/zorba/pul/types/pul_types-skip-cxml.xml.res (+2/-0)
test/rbkt/ExpQueryResults/zorba/pul/types/pul_types-skip-xml.xml.res (+2/-0)
test/rbkt/ExpQueryResults/zorba/pul/types/pul_types-userdefined-cxml.xml.res (+2/-0)
test/rbkt/ExpQueryResults/zorba/pul/types/pul_types-userdefined-xml.xml.res (+2/-0)
test/rbkt/ExpQueryResults/zorba/pul/typeundo/pul_typeundo1.xml.res (+2/-0)
test/rbkt/ExpQueryResults/zorba/pul/typeundo/pul_typeundo2.xml.res (+20/-0)
test/rbkt/ExpQueryResults/zorba/pul/typeundo/pul_typeundo3.xml.res (+2/-0)
test/rbkt/ExpQueryResults/zorba/pul/typeundo/pul_typeundo4.xml.res (+14/-0)
test/rbkt/ExpQueryResults/zorba/pul/xqu_operations/pul_xquo_delete_cxml.xml.res (+2/-0)
test/rbkt/ExpQueryResults/zorba/pul/xqu_operations/pul_xquo_delete_xml.xml.res (+34/-0)
test/rbkt/ExpQueryResults/zorba/pul/xqu_operations/pul_xquo_insert_cxml.xml.res (+2/-0)
test/rbkt/ExpQueryResults/zorba/pul/xqu_operations/pul_xquo_insert_xml.xml.res (+37/-0)
test/rbkt/ExpQueryResults/zorba/pul/xqu_operations/pul_xquo_misc_cxml.xml.res (+2/-0)
test/rbkt/ExpQueryResults/zorba/pul/xqu_operations/pul_xquo_misc_xml.xml.res (+34/-0)
test/rbkt/ExpQueryResults/zorba/pul/xqu_operations/pul_xquo_put_cxml.xml.res (+2/-0)
test/rbkt/ExpQueryResults/zorba/pul/xqu_operations/pul_xquo_put_xml.xml.res (+2/-0)
test/rbkt/ExpQueryResults/zorba/pul/xqu_operations/pul_xquo_rename_cxml.xml.res (+66/-0)
test/rbkt/ExpQueryResults/zorba/pul/xqu_operations/pul_xquo_rename_xml.xml.res (+34/-0)
test/rbkt/ExpQueryResults/zorba/pul/xqu_operations/pul_xquo_repn_cxml.xml.res (+2/-0)
test/rbkt/ExpQueryResults/zorba/pul/xqu_operations/pul_xquo_repn_xml.xml.res (+31/-0)
test/rbkt/ExpQueryResults/zorba/pul/xqu_operations/pul_xquo_repv_cxml.xml.res (+54/-0)
test/rbkt/ExpQueryResults/zorba/pul/xqu_operations/pul_xquo_repv_xml.xml.res (+34/-0)
test/rbkt/ExpQueryResults/zorba/pul/zorba_operations/pul_zops_document_cxml.xml.res (+2/-0)
test/rbkt/ExpQueryResults/zorba/pul/zorba_operations/pul_zops_document_xml.xml.res (+2/-0)
test/rbkt/ExpQueryResults/zorba/pul/zorba_operations/pul_zops_dyncoll01_cxml.xml.res (+2/-0)
test/rbkt/ExpQueryResults/zorba/pul/zorba_operations/pul_zops_dyncoll01_xml.xml.res (+2/-0)
test/rbkt/ExpQueryResults/zorba/pul/zorba_operations/pul_zops_dyncoll02_cxml.xml.res (+2/-0)
test/rbkt/ExpQueryResults/zorba/pul/zorba_operations/pul_zops_dyncoll02_xml.xml.res (+2/-0)
test/rbkt/ExpQueryResults/zorba/pul/zorba_operations/pul_zops_dyncoll03_cxml.xml.res (+2/-0)
test/rbkt/ExpQueryResults/zorba/pul/zorba_operations/pul_zops_dyncoll03_xml.xml.res (+2/-0)
test/rbkt/ExpQueryResults/zorba/pul/zorba_operations/pul_zops_ic_cxml.xml.res (+2/-0)
test/rbkt/ExpQueryResults/zorba/pul/zorba_operations/pul_zops_ic_xml.xml.res (+2/-0)
test/rbkt/ExpQueryResults/zorba/pul/zorba_operations/pul_zops_index_cxml.xml.res (+2/-0)
test/rbkt/ExpQueryResults/zorba/pul/zorba_operations/pul_zops_index_xml.xml.res (+2/-0)
test/rbkt/ExpQueryResults/zorba/pul/zorba_operations/pul_zops_statcoll01_cxml.xml.res (+2/-0)
test/rbkt/ExpQueryResults/zorba/pul/zorba_operations/pul_zops_statcoll01_xml.xml.res (+2/-0)
test/rbkt/ExpQueryResults/zorba/pul/zorba_operations/pul_zops_validate_cxml.xml.res (+46/-0)
test/rbkt/ExpQueryResults/zorba/pul/zorba_operations/pul_zops_validate_xml.xml.res (+46/-0)
test/rbkt/ExpQueryResults/zorba/updates/upd4.xml.res (+1/-1)
test/rbkt/Queries/zorba/pul/allBuiltIn.xml (+95/-0)
test/rbkt/Queries/zorba/pul/allBuiltIn.xsd (+116/-0)
test/rbkt/Queries/zorba/pul/anys.xml (+8/-0)
test/rbkt/Queries/zorba/pul/anys.xsd (+15/-0)
test/rbkt/Queries/zorba/pul/applicability/pul_applicability_attrname.xq (+45/-0)
test/rbkt/Queries/zorba/pul/applicability/pul_applicability_error.spec (+1/-0)
test/rbkt/Queries/zorba/pul/applicability/pul_applicability_error.xq (+17/-0)
test/rbkt/Queries/zorba/pul/applicability/pul_applicability_targettype.spec (+1/-0)
test/rbkt/Queries/zorba/pul/applicability/pul_applicability_targettype.xq (+15/-0)
test/rbkt/Queries/zorba/pul/data.xml (+409/-0)
test/rbkt/Queries/zorba/pul/data2.xml (+64/-0)
test/rbkt/Queries/zorba/pul/declared.xqlib (+24/-0)
test/rbkt/Queries/zorba/pul/document-no-spaces.xml (+1/-0)
test/rbkt/Queries/zorba/pul/document.xml (+36/-0)
test/rbkt/Queries/zorba/pul/errors/pul_errors_argumenttype.spec (+1/-0)
test/rbkt/Queries/zorba/pul/errors/pul_errors_argumenttype.xq (+17/-0)
test/rbkt/Queries/zorba/pul/errors/pul_errors_modifiers_1.xq (+177/-0)
test/rbkt/Queries/zorba/pul/errors/pul_errors_modifiers_1.xqdata (+15/-0)
test/rbkt/Queries/zorba/pul/errors/pul_errors_modifiers_2.xq (+90/-0)
test/rbkt/Queries/zorba/pul/errors/pul_errors_modifiers_3.xq (+83/-0)
test/rbkt/Queries/zorba/pul/errors/pul_errors_modifiers_3.xqdata (+11/-0)
test/rbkt/Queries/zorba/pul/errors/pul_errors_nodetype2.xqdata (+16/-0)
test/rbkt/Queries/zorba/pul/errors/pul_errors_nodetype3.xqdata (+14/-0)
test/rbkt/Queries/zorba/pul/errors/pul_errors_targettype.spec (+1/-0)
test/rbkt/Queries/zorba/pul/errors/pul_errors_targettype.xq (+15/-0)
test/rbkt/Queries/zorba/pul/errors/pul_errors_types-attribute-builtin-invalidvalue.spec (+1/-0)
test/rbkt/Queries/zorba/pul/errors/pul_errors_types-attribute-builtin-invalidvalue.xq (+25/-0)
test/rbkt/Queries/zorba/pul/errors/pul_errors_types-attribute-type-not-allowed.spec (+1/-0)
test/rbkt/Queries/zorba/pul/errors/pul_errors_types-attribute-type-not-allowed.xq (+21/-0)
test/rbkt/Queries/zorba/pul/errors/pul_errors_types-attribute-type-not-found.spec (+1/-0)
test/rbkt/Queries/zorba/pul/errors/pul_errors_types-attribute-type-not-found.xq (+25/-0)
test/rbkt/Queries/zorba/pul/errors/pul_errors_types-attribute-userdefined-invalid.spec (+1/-0)
test/rbkt/Queries/zorba/pul/errors/pul_errors_types-attribute-userdefined-invalid.xq (+19/-0)
test/rbkt/Queries/zorba/pul/errors/pul_errors_types-element-builtin-invalidvalue.spec (+1/-0)
test/rbkt/Queries/zorba/pul/errors/pul_errors_types-element-builtin-invalidvalue.xq (+21/-0)
test/rbkt/Queries/zorba/pul/errors/pul_errors_types-element-descendant-mismatch.spec (+1/-0)
test/rbkt/Queries/zorba/pul/errors/pul_errors_types-element-descendant-mismatch.xq (+19/-0)
test/rbkt/Queries/zorba/pul/errors/pul_errors_types-element-type-not-allowed.spec (+1/-0)
test/rbkt/Queries/zorba/pul/errors/pul_errors_types-element-type-not-allowed.xq (+21/-0)
test/rbkt/Queries/zorba/pul/errors/pul_errors_types-element-type-not-found.spec (+1/-0)
test/rbkt/Queries/zorba/pul/errors/pul_errors_types-element-type-not-found.xq (+21/-0)
test/rbkt/Queries/zorba/pul/errors/pul_errors_types-element-type-not-found2.xq (+23/-0)
test/rbkt/Queries/zorba/pul/errors/pul_errors_types-element-userdefined-invalid.spec (+1/-0)
test/rbkt/Queries/zorba/pul/errors/pul_errors_types-element-userdefined-invalid.xq (+19/-0)
test/rbkt/Queries/zorba/pul/ic.xqlib (+27/-0)
test/rbkt/Queries/zorba/pul/indexes.xqlib (+27/-0)
test/rbkt/Queries/zorba/pul/namespaces/pul_ns_collision_cxml.xq (+22/-0)
test/rbkt/Queries/zorba/pul/namespaces/pul_ns_collision_xml.xq (+19/-0)
test/rbkt/Queries/zorba/pul/namespaces/pul_ns_emptyprefix_cxml.xq (+22/-0)
test/rbkt/Queries/zorba/pul/namespaces/pul_ns_emptyprefix_xml.xq (+18/-0)
test/rbkt/Queries/zorba/pul/namespaces/pul_ns_insert_cxml.xq (+20/-0)
test/rbkt/Queries/zorba/pul/namespaces/pul_ns_insert_xml.xq (+16/-0)
test/rbkt/Queries/zorba/pul/namespaces/pul_ns_prefix_cxml.xq (+19/-0)
test/rbkt/Queries/zorba/pul/namespaces/pul_ns_prefix_xml.xq (+16/-0)
test/rbkt/Queries/zorba/pul/namespaces/pul_ns_rename_cxml.xq (+26/-0)
test/rbkt/Queries/zorba/pul/namespaces/pul_ns_rename_xml.xq (+22/-0)
test/rbkt/Queries/zorba/pul/pos_ref/pul_position_cxml.xq (+31/-0)
test/rbkt/Queries/zorba/pul/pos_ref/pul_position_xml.xq (+32/-0)
test/rbkt/Queries/zorba/pul/pos_ref/pul_ref_cxml.spec (+1/-0)
test/rbkt/Queries/zorba/pul/pos_ref/pul_ref_cxml.xq (+22/-0)
test/rbkt/Queries/zorba/pul/pos_ref/pul_ref_xml.spec (+1/-0)
test/rbkt/Queries/zorba/pul/pos_ref/pul_ref_xml.xq (+21/-0)
test/rbkt/Queries/zorba/pul/shiporder.xml (+25/-0)
test/rbkt/Queries/zorba/pul/shiporder.xsd (+67/-0)
test/rbkt/Queries/zorba/pul/shiporder2.xml (+24/-0)
test/rbkt/Queries/zorba/pul/textmerge/pul_textmerge_01.xq (+29/-0)
test/rbkt/Queries/zorba/pul/textmerge/pul_textmerge_02.xq (+29/-0)
test/rbkt/Queries/zorba/pul/textmerge/pul_textmerge_03.xq (+30/-0)
test/rbkt/Queries/zorba/pul/textmerge/pul_textmerge_04.xq (+30/-0)
test/rbkt/Queries/zorba/pul/textmerge/pul_textmerge_05.xq (+30/-0)
test/rbkt/Queries/zorba/pul/textmerge/pul_textmerge_06.xq (+31/-0)
test/rbkt/Queries/zorba/pul/textmerge/pul_textmerge_07.xq (+30/-0)
test/rbkt/Queries/zorba/pul/textmerge/pul_textmerge_08.xq (+34/-0)
test/rbkt/Queries/zorba/pul/textmerge/pul_textmerge_09.xq (+30/-0)
test/rbkt/Queries/zorba/pul/textmerge/textmerge.xml (+4/-0)
test/rbkt/Queries/zorba/pul/types/pul_types-anys-cxml.xq (+30/-0)
test/rbkt/Queries/zorba/pul/types/pul_types-builtin-cxml.xq (+53/-0)
test/rbkt/Queries/zorba/pul/types/pul_types-builtin-xml.xq (+50/-0)
test/rbkt/Queries/zorba/pul/types/pul_types-enc-lax-cxml.xq (+43/-0)
test/rbkt/Queries/zorba/pul/types/pul_types-enc-lax-xml.xq (+29/-0)
test/rbkt/Queries/zorba/pul/types/pul_types-enc-skip-cxml.xq (+50/-0)
test/rbkt/Queries/zorba/pul/types/pul_types-enc-skip-xml.xq (+32/-0)
test/rbkt/Queries/zorba/pul/types/pul_types-lax-cxml.xq (+29/-0)
test/rbkt/Queries/zorba/pul/types/pul_types-lax-xml.xq (+19/-0)
test/rbkt/Queries/zorba/pul/types/pul_types-skip-cxml.xq (+30/-0)
test/rbkt/Queries/zorba/pul/types/pul_types-skip-xml.xq (+18/-0)
test/rbkt/Queries/zorba/pul/types/pul_types-userdefined-cxml.xq (+35/-0)
test/rbkt/Queries/zorba/pul/types/pul_types-userdefined-xml.xq (+33/-0)
test/rbkt/Queries/zorba/pul/typeundo.xml (+9/-0)
test/rbkt/Queries/zorba/pul/typeundo.xsd (+42/-0)
test/rbkt/Queries/zorba/pul/typeundo/pul_typeundo1.xq (+89/-0)
test/rbkt/Queries/zorba/pul/typeundo/pul_typeundo2.xq (+76/-0)
test/rbkt/Queries/zorba/pul/typeundo/pul_typeundo3.xq (+82/-0)
test/rbkt/Queries/zorba/pul/typeundo/pul_typeundo4.xq (+77/-0)
test/rbkt/Queries/zorba/pul/utils.xqlib (+380/-0)
test/rbkt/Queries/zorba/pul/xqu_operations/pul_xquo_delete_cxml.xq (+29/-0)
test/rbkt/Queries/zorba/pul/xqu_operations/pul_xquo_delete_xml.xq (+20/-0)
test/rbkt/Queries/zorba/pul/xqu_operations/pul_xquo_insert_cxml.xq (+30/-0)
test/rbkt/Queries/zorba/pul/xqu_operations/pul_xquo_insert_xml.xq (+22/-0)
test/rbkt/Queries/zorba/pul/xqu_operations/pul_xquo_misc_cxml.xq (+69/-0)
test/rbkt/Queries/zorba/pul/xqu_operations/pul_xquo_misc_xml.xq (+58/-0)
test/rbkt/Queries/zorba/pul/xqu_operations/pul_xquo_put_cxml.xq (+38/-0)
test/rbkt/Queries/zorba/pul/xqu_operations/pul_xquo_put_xml.xq (+20/-0)
test/rbkt/Queries/zorba/pul/xqu_operations/pul_xquo_rename_cxml.xq (+26/-0)
test/rbkt/Queries/zorba/pul/xqu_operations/pul_xquo_rename_xml.xq (+18/-0)
test/rbkt/Queries/zorba/pul/xqu_operations/pul_xquo_repn_cxml.xq (+31/-0)
test/rbkt/Queries/zorba/pul/xqu_operations/pul_xquo_repn_xml.xq (+19/-0)
test/rbkt/Queries/zorba/pul/xqu_operations/pul_xquo_repv_cxml.xq (+34/-0)
test/rbkt/Queries/zorba/pul/xqu_operations/pul_xquo_repv_xml.xq (+21/-0)
test/rbkt/Queries/zorba/pul/zorba_operations/pul_zops_document_cxml.xq (+30/-0)
test/rbkt/Queries/zorba/pul/zorba_operations/pul_zops_document_xml.xq (+30/-0)
test/rbkt/Queries/zorba/pul/zorba_operations/pul_zops_dyncoll01_cxml.xq (+58/-0)
test/rbkt/Queries/zorba/pul/zorba_operations/pul_zops_dyncoll01_xml.xq (+34/-0)
test/rbkt/Queries/zorba/pul/zorba_operations/pul_zops_dyncoll02_cxml.xq (+78/-0)
test/rbkt/Queries/zorba/pul/zorba_operations/pul_zops_dyncoll02_xml.xq (+44/-0)
test/rbkt/Queries/zorba/pul/zorba_operations/pul_zops_dyncoll03_cxml.xq (+47/-0)
test/rbkt/Queries/zorba/pul/zorba_operations/pul_zops_dyncoll03_xml.xq (+28/-0)
test/rbkt/Queries/zorba/pul/zorba_operations/pul_zops_ic_cxml.xq (+100/-0)
test/rbkt/Queries/zorba/pul/zorba_operations/pul_zops_ic_xml.xq (+77/-0)
test/rbkt/Queries/zorba/pul/zorba_operations/pul_zops_index_cxml.xq (+37/-0)
test/rbkt/Queries/zorba/pul/zorba_operations/pul_zops_index_xml.xq (+39/-0)
test/rbkt/Queries/zorba/pul/zorba_operations/pul_zops_statcoll01_cxml.xq (+42/-0)
test/rbkt/Queries/zorba/pul/zorba_operations/pul_zops_statcoll01_xml.xq (+25/-0)
test/rbkt/Queries/zorba/pul/zorba_operations/pul_zops_validate_cxml.xq (+43/-0)
test/rbkt/Queries/zorba/pul/zorba_operations/pul_zops_validate_xml.xq (+32/-0)
test/rbkt/Queries/zorba/pul/zorba_operations/pul_zorbaops.xqdata (+8/-0)
test/rbkt/Queries/zorba/updates/upd4.xq (+1/-1)
To merge this branch: bzr merge lp:~zorba-coders/zorba/pul-xdm
Reviewer Review Type Date Requested Status
Matthias Brantner Pending
Markos Zaharioudakis Pending
Review via email: mp+87233@code.launchpad.net

Commit message

Introduced a module for representing PUL as XDM instances and for restoring a PUL from its XDM representation.

Description of the change

Introduced a module for representing PUL as XDM instances and for restoring a PUL from its XDM representation.

To post a comment you must log in.
lp:~zorba-coders/zorba/pul-xdm updated
10529. By Federico Cavalieri <federico@M702X>

Improved type undo management

10530. By Federico Cavalieri <federico@M702X>

Small refactoring

10531. By Federico Cavalieri <federico@M702X>

Small refactoring

10532. By Federico Cavalieri <federico@M702X>

Small comment improvement and code formatting

10533. By Federico Cavalieri <federico@M702X>

Improved type management in PUL decoding

10534. By Federico Cavalieri <federico@M702X>

Improved type management in PUL decoding

10535. By Federico Cavalieri <federico@M702X>

Improved support for ZORBA_NO_XMLSCHEMA, improved comments

10536. By Federico Cavalieri <federico@M702X>

Merged the trunk in, small refactoring

10537. By Federico Cavalieri <federico@M702X>

Improved format verification

10538. By Federico Cavalieri <federico@M702X>

Improved nilled support, renamed exdm decoder

10539. By Federico Cavalieri <federico@M702X>

Small factory refactory

Revision history for this message
Markos Zaharioudakis (markos-za) wrote :

Hi Federico,

Can you please put your branches under the zorba-coders user?

Thanks,
Markos.

On 01/02/2012 10:54 AM, Federico Cavalieri wrote:
> Federico Cavalieri has proposed merging lp:~fcavalieri/zorba/pul-xdm into lp:zorba.
>
> Requested reviews:
> Matthias Brantner (matthias-brantner)
> Markos Zaharioudakis (markos-za)
>
> For more details, see:
> https://code.launchpad.net/~fcavalieri/zorba/pul-xdm/+merge/87233
>
> Introduced a module for representing PUL as XDM instances and for restoring a PUL from its XDM representation.

lp:~zorba-coders/zorba/pul-xdm updated
10540. By Federico Cavalieri <federico@M702X>

Fixed typo in pul schema

10541. By Federico Cavalieri <federico@M702X>

Merged with trunk, updated to operation base

10542. By Federico Cavalieri

Merged with trunk, fixed arisen conflicts

10543. By Federico Cavalieri

Removed positions from PULs

10544. By Federico Cavalieri

Updated XDM format to Ghislain's

10545. By Federico Cavalieri

Reintroduced support for *Index operations

10546. By Federico Cavalieri

Updated zorba operations names

10547. By Federico Cavalieri

Updated zorba operations names

10548. By Federico Cavalieri

Removed dynamic-collection wherever possible

10549. By Federico Cavalieri

Updated format of collection operations

10550. By Federico Cavalieri

Updated format of IC operations

10551. By Federico Cavalieri

Removed unencoded PUL

10552. By Federico Cavalieri

Updated XDM representation for non-complete PULs

10553. By Federico Cavalieri

Updated XDM representation for complete PULs

10554. By Federico Cavalieri

PUL Schemas more similar to Ghislain

10555. By Federico Cavalieri

PUL Schemas more similar to Ghislain

10556. By Federico Cavalieri

Merged with trunk

10557. By Federico Cavalieri

Updated comment

10558. By Federico Cavalieri

Updated schema location as in Ghislain branch

10559. By Federico Cavalieri

Updated schemas accoriding to latest revision in Ghislain branch

10560. By Federico Cavalieri

Merged with trunk

Revision history for this message
Chris Hillery (ceejatec) wrote :

This is 18 months out of date, and it clearly needs a lot of work. There's a bug tracking getting this code merged, but it will need to be massively updated at this point. Rejecting this proposal.

Unmerged revisions

10560. By Federico Cavalieri

Merged with trunk

10559. By Federico Cavalieri

Updated schemas accoriding to latest revision in Ghislain branch

10558. By Federico Cavalieri

Updated schema location as in Ghislain branch

10557. By Federico Cavalieri

Updated comment

10556. By Federico Cavalieri

Merged with trunk

10555. By Federico Cavalieri

PUL Schemas more similar to Ghislain

10554. By Federico Cavalieri

PUL Schemas more similar to Ghislain

10553. By Federico Cavalieri

Updated XDM representation for complete PULs

10552. By Federico Cavalieri

Updated XDM representation for non-complete PULs

10551. By Federico Cavalieri

Removed unencoded PUL

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== added file 'NOTICE.txt'
2--- NOTICE.txt 1970-01-01 00:00:00 +0000
3+++ NOTICE.txt 2012-03-18 17:41:19 +0000
4@@ -0,0 +1,740 @@
5+-----------
6+Zorba 2.2.0
7+-----------
8+
9+(Note: This file is generated automatically from NOTICE.xml.
10+Please do not modify this file directly.)
11+
12+
13+
14+
15+Apache 2
16+
17+ Copyright 2006-2011 The FLWOR Foundation
18+
19+ See LICENSE.txt for license information.
20+
21+ ------------------------
22+ This product includes software developed at
23+ The FLWOR Foundation (http://www.flworfound.org/).
24+
25+ ------------------------
26+ Portions of this software were developed at the Systems
27+ Group of the ETH Zurich, Switzerland.
28+
29+
30+Other files used by this project:
31+----------------------------------------------------
32+
33+src/zorbatypes/m_apm.h
34+src/zorbatypes/mapm/
35+
36+Copyright: 1999-2007 Michael C. Ring
37+Website: http://www.tc.umn.edu/~ringx004/mapm-main.html
38+
39+ This software is Freeware.
40+
41+ Permission to use, copy, and distribute this software and its
42+ documentation for any purpose with or without fee is hereby granted,
43+ provided that the above copyright notice appear in all copies and
44+ that both that copyright notice and this permission notice appear
45+ in supporting documentation.
46+
47+ Permission to modify the software is granted. Permission to distribute
48+ the modified code is granted. Modifications are to be distributed by
49+ using the file 'license.txt' as a template to modify the file header.
50+ 'license.txt' is available in the official MAPM distribution.
51+
52+ To distribute modified source code, insert the file 'license.txt'
53+ at the top of all modified source code files and edit accordingly.
54+
55+ This software is provided "as is" without express or implied warranty.
56+
57+----------------------------------------------------
58+
59+src/zorbamisc/config/stdint.h
60+
61+Copyright: 2006 Alexander Chemeris
62+
63+
64+ Redistribution and use in source and binary forms, with or without
65+ modification, are permitted provided that the following conditions are met:
66+
67+ 1. Redistributions of source code must retain the above copyright notice,
68+ this list of conditions and the following disclaimer.
69+
70+ 2. Redistributions in binary form must reproduce the above copyright
71+ notice, this list of conditions and the following disclaimer in the
72+ documentation and/or other materials provided with the distribution.
73+
74+ 3. The name of the author may be used to endorse or promote products
75+ derived from this software without specific prior written permission.
76+
77+ THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
78+ WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
79+ MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
80+ EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
81+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
82+ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
83+ OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
84+ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
85+ OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
86+ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
87+
88+----------------------------------------------------
89+
90+src/zorbautils/stemmer/
91+
92+Copyright: 2001 Dr. Martin Porter
93+
94+
95+ All the software given out on this Snowball site is covered by the BSD
96+ License (see http://www.opensource.org/licenses/bsd-license.html), with
97+ Copyright (c) 2001, Dr Martin Porter, and (for the Java developments)
98+ Copyright (c) 2002, Richard Boulton.
99+
100+ Essentially, all this means is that you can do what you like with the code,
101+ except claim another Copyright for it, or claim that it is issued under a
102+ different license. The software is also issued without warranties, which
103+ means that if anyone suffers through its use, they cannot come back and sue
104+ you. You also have to alert anyone to whom you give the Snowball software to
105+ the fact that it is covered by the BSD license.
106+
107+ We have not bothered to insert the licensing arrangement into the text of
108+ the Snowball software.
109+
110+----------------------------------------------------
111+
112+src/util/less.h
113+
114+Copyright: 1998 Paul J. Lucas
115+
116+
117+ Redistribution and use in source and binary forms, with or without
118+ modification, are permitted provided that the following conditions are met:
119+
120+ o Redistributions of source code must retain the above copyright notice,
121+ this list of conditions and the following disclaimer.
122+
123+ o Redistributions in binary form must reproduce the above copyright
124+ notice, this list of conditions and the following disclaimer in the
125+ documentation and/or other materials provided with the distribution.
126+
127+ o The name of the author may not be used to endorse or promote products
128+ derived from this software without specific prior written permission.
129+
130+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
131+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
132+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
133+ ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
134+ LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
135+ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
136+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
137+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
138+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
139+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
140+ POSSIBILITY OF SUCH DAMAGE.
141+
142+----------------------------------------------------
143+
144+src/util/auto_vector.h (has been modified)
145+
146+Copyright: 2003 Reliable Software
147+
148+
149+ Redistribution and use in source and binary forms, with or without
150+ modification, are permitted provided that the following conditions are met:
151+
152+ o Redistributions of source code must retain the above copyright notice,
153+ this list of conditions and the following disclaimer.
154+
155+ o Redistributions in binary form must reproduce the above copyright
156+ notice, this list of conditions and the following disclaimer in the
157+ documentation and/or other materials provided with the distribution.
158+
159+ o The name of the author may not be used to endorse or promote products
160+ derived from this software without specific prior written permission.
161+
162+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
163+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
164+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
165+ ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
166+ LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
167+ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
168+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
169+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
170+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
171+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
172+ POSSIBILITY OF SUCH DAMAGE.
173+
174+----------------------------------------------------
175+
176+cmake_modules/FindBoost.cmake
177+
178+Copyright:
179+ 2006-2008 Andreas Schneider <mail@cynapses.org>
180+ 2007 Wengo
181+ 2007 Mike Jackson
182+ 2008 Andreas Pakulat <apaku@gmx.de>
183+
184+
185+
186+ Redistribution AND use is allowed according to the terms of the New BSD license.
187+ For details see the accompanying COPYING-CMAKE-SCRIPTS file.
188+
189+----------------------------------------------------
190+
191+cmake_modules/FindJNI.cmake
192+cmake_modules/FindPythonLibs.cmake
193+cmake_modules/FindSWIG.cmake
194+
195+Copyright: 2001-2009 Kitware, Inc.
196+
197+
198+ Distributed under the OSI-approved BSD License (the "License");
199+ see accompanying file Copyright.txt for details.
200+
201+ This software is distributed WITHOUT ANY WARRANTY; without even the
202+ implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
203+ See the License for more information.
204+
205+ CMake - Cross Platform Makefile Generator
206+ Copyright 2000-2009 Kitware, Inc., Insight Software Consortium
207+ All rights reserved.
208+
209+ Redistribution and use in source and binary forms, with or without
210+ modification, are permitted provided that the following conditions
211+ are met:
212+
213+ * Redistributions of source code must retain the above copyright
214+ notice, this list of conditions and the following disclaimer.
215+
216+ * Redistributions in binary form must reproduce the above copyright
217+ notice, this list of conditions and the following disclaimer in the
218+ documentation and/or other materials provided with the distribution.
219+
220+ * Neither the names of Kitware, Inc., the Insight Software Consortium,
221+ nor the names of their contributors may be used to endorse or promote
222+ products derived from this software without specific prior written
223+ permission.
224+
225+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
226+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
227+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
228+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
229+ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
230+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
231+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
232+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
233+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
234+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
235+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
236+
237+ ------------------------------------------------------------------------------
238+
239+ The above copyright and license notice applies to distributions of
240+ CMake in source and binary form. Some source files contain additional
241+ notices of original copyright by their contributors; see each source
242+ for details. Third-party software packages supplied with CMake under
243+ compatible licenses provide their own copyright notices documented in
244+ corresponding subdirectories.
245+
246+ ------------------------------------------------------------------------------
247+
248+ CMake was initially developed by Kitware with the following sponsorship:
249+
250+ * National Library of Medicine at the National Institutes of Health
251+ as part of the Insight Segmentation and Registration Toolkit (ITK).
252+
253+ * US National Labs (Los Alamos, Livermore, Sandia) ASC Parallel
254+ Visualization Initiative.
255+
256+ * National Alliance for Medical Image Computing (NAMIC) is funded by the
257+ National Institutes of Health through the NIH Roadmap for Medical Research,
258+ Grant U54 EB005149.
259+
260+ * Kitware, Inc.
261+
262+----------------------------------------------------
263+
264+/xml.xsd
265+
266+Copyright: 2001 World Wide Web Consortium, (Massachusetts Institute of Technology, European Research Consortium for Informatics and Mathematics, Keio University)
267+
268+
269+ All Rights Reserved. This work is distributed under the W3C Software License [1] in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
270+
271+ W3C Software Notice and License
272+
273+ This work (and included software, documentation such as READMEs, or other related items) is being provided by the copyright holders under the following license.
274+
275+ License
276+
277+ By obtaining, using and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions.
278+
279+ Permission to copy, modify, and distribute this software and its documentation, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the software and documentation or portions thereof, including modifications:
280+ •The full text of this NOTICE in a location viewable to users of the redistributed or derivative work.
281+ •Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software Short Notice should be included (hypertext is preferred, text is permitted) within the body of any redistributed or derivative code.
282+ •Notice of any changes or modifications to the files, including the date changes were made. (We recommend you provide URIs to the location from which the code is derived.)
283+
284+ Disclaimers
285+
286+ THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
287+
288+ COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION.
289+
290+ The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the software without specific, written prior permission. Title to copyright in this software and any associated documentation will at all times remain with copyright holders.
291+
292+----------------------------------------------------
293+
294+schemas/xslt-xquery-serialization.xsd
295+
296+Copyright: 2010 World Wide Web Consortium, (Massachusetts Institute of Technology, European Research Consortium for Informatics and Mathematics, Keio University)
297+
298+
299+ All Rights Reserved. This work is distributed under the W3C Software License [1] in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
300+
301+ W3C Software Notice and License
302+
303+ This work (and included software, documentation such as READMEs, or other related items) is being provided by the copyright holders under the following license.
304+
305+ License
306+
307+ By obtaining, using and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions.
308+
309+ Permission to copy, modify, and distribute this software and its documentation, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the software and documentation or portions thereof, including modifications:
310+ •The full text of this NOTICE in a location viewable to users of the redistributed or derivative work.
311+ •Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software Short Notice should be included (hypertext is preferred, text is permitted) within the body of any redistributed or derivative code.
312+ •Notice of any changes or modifications to the files, including the date changes were made. (We recommend you provide URIs to the location from which the code is derived.)
313+
314+ Disclaimers
315+
316+ THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
317+
318+ COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION.
319+
320+ The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the software without specific, written prior permission. Title to copyright in this software and any associated documentation will at all times remain with copyright holders.
321+
322+----------------------------------------------------
323+
324+modules/w3c/xpath-functions.xsd
325+
326+Copyright: 2005 World Wide Web Consortium, (Massachusetts Institute of Technology, European Research Consortium for Informatics and Mathematics, Keio University)
327+
328+
329+ All Rights Reserved. This work is distributed under the W3C Software License [1] in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
330+
331+ W3C Software Notice and License
332+
333+ This work (and included software, documentation such as READMEs, or other related items) is being provided by the copyright holders under the following license.
334+
335+ License
336+
337+ By obtaining, using and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions.
338+
339+ Permission to copy, modify, and distribute this software and its documentation, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the software and documentation or portions thereof, including modifications:
340+ •The full text of this NOTICE in a location viewable to users of the redistributed or derivative work.
341+ •Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software Short Notice should be included (hypertext is preferred, text is permitted) within the body of any redistributed or derivative code.
342+ •Notice of any changes or modifications to the files, including the date changes were made. (We recommend you provide URIs to the location from which the code is derived.)
343+
344+ Disclaimers
345+
346+ THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
347+
348+ COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION.
349+
350+ The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the software without specific, written prior permission. Title to copyright in this software and any associated documentation will at all times remain with copyright holders.
351+
352+----------------------------------------------------
353+
354+include/xqc.h
355+
356+Copyright: 2008, Matthias Brantner, John Snelson
357+
358+
359+ * All rights reserved.
360+ *
361+ * Redistribution and use in source and binary forms, with or without
362+ * modification, are permitted provided that the following conditions are met:
363+ *
364+ * * Redistributions of source code must retain the above copyright notice,
365+ * this list of conditions and the following disclaimer.
366+ * * Redistributions in binary form must reproduce the above copyright
367+ * notice, this list of conditions and the following disclaimer in the
368+ * documentation and/or other materials provided with the distribution.
369+ * * Neither the name of the developers nor the names of contributors may be
370+ * used to endorse or promote products derived from this software without
371+ * specific prior written permission.
372+ *
373+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
374+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
375+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
376+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
377+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
378+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
379+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
380+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
381+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
382+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
383+ * POSSIBILITY OF SUCH DAMAGE.
384+
385+----------------------------------------------------
386+
387+modules/functx/functx.xq
388+
389+Copyright: 2007 Datypic
390+
391+
392+ : This library is free software; you can redistribute it and/or
393+ : modify it under the terms of the GNU Lesser General Public
394+ : License as published by the Free Software Foundation; either
395+ : version 2.1 of the License.
396+
397+ : This library is distributed in the hope that it will be useful,
398+ : but WITHOUT ANY WARRANTY; without even the implied warranty of
399+ : MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
400+ : Lesser General Public License for more details.
401+
402+ : You should have received a copy of the GNU Lesser General Public
403+ : License along with this library; if not, write to the Free Software
404+ : Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
405+
406+----------------------------------------------------
407+
408+src/compiler/parser/FlexLexer.h
409+
410+Copyright: 1993 The Regents of the University of California
411+
412+
413+ // All rights reserved.
414+ //
415+ // This code is derived from software contributed to Berkeley by
416+ // Kent Williams and Tom Epperly.
417+ //
418+ // Redistribution and use in source and binary forms, with or without
419+ // modification, are permitted provided that the following conditions
420+ // are met:
421+
422+ // 1. Redistributions of source code must retain the above copyright
423+ // notice, this list of conditions and the following disclaimer.
424+ // 2. Redistributions in binary form must reproduce the above copyright
425+ // notice, this list of conditions and the following disclaimer in the
426+ // documentation and/or other materials provided with the distribution.
427+
428+ // Neither the name of the University nor the names of its contributors
429+ // may be used to endorse or promote products derived from this software
430+ // without specific prior written permission.
431+
432+ // THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
433+ // IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
434+ // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
435+ // PURPOSE.
436+
437+----------------------------------------------------
438+
439+src/diagnostics/StackWalker.cpp
440+src/diagnostics/StackWalker.h
441+
442+Copyright: 2005 Jochen Kalmbach
443+
444+
445+ Under BSD License: http://www.opensource.org/licenses/bsd-license.php
446+
447+----------------------------------------------------
448+
449+src/util/singleton.h
450+src/util/threads.h
451+
452+Copyright: 2001 Andrei Alexandrescu
453+
454+
455+ This code accompanies the book:
456+ Alexandrescu, Andrei. "Modern C++ Design: Generic Programming and Design
457+ Patterns Applied". Copyright (c) 2001. Addison-Wesley.
458+ Permission to use, copy, modify, distribute and sell this software for any
459+ purpose is hereby granted without fee, provided that the above copyright
460+ notice appear in all copies and that both that copyright notice and this
461+ permission notice appear in supporting documentation.
462+ The author or Addison-Wesley Longman make no representations about the
463+ suitability of this software for any purpose. It is provided "as is"
464+ without express or implied warranty.
465+
466+
467+External libraries used by this project:
468+----------------------------------------------------
469+
470+Name: LIBXML2
471+Preferred version: 2.2.16 or higher
472+Is mandatory: true
473+Website: http://xmlsoft.org/
474+License: MIT
475+Copyright: 1998-2002 Daniel Veillard. All Rights Reserved.
476+External notice:
477+
478+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
479+
480+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
481+
482+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
483+
484+ Except as contained in this notice, the name of Daniel Veillard shall not
485+ be used in advertising or otherwise to promote the sale, use or other deal-
486+ ings in this Software without prior written authorization from him.
487+
488+----------------------------------------------------
489+
490+Name: LIBXSLT
491+Preferred version: 1.1.26
492+Is mandatory: false
493+Website: http://xmlsoft.org/XSLT/
494+License: MIT
495+Copyright: 2001-2002 Daniel Veillard. All Rights Reserved.
496+External notice:
497+
498+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
499+
500+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
501+
502+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL DANIEL VEILLARD BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
503+
504+
505+ Except as contained in this notice, the name of Daniel Veillard shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from him.
506+
507+
508+----------------------------------------------------
509+
510+Name: ICU4C
511+Preferred version: 3.6 or higher
512+Is mandatory: true
513+Website: http://www.icu-project.org/
514+License: ICU License
515+Copyright: 1995-2011 International Business Machines Corporation and others
516+External notice:
517+
518+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, provided that the above copyright notice(s) and this permission notice appear in all copies of the Software and that both the above copyright notice(s) and this permission notice appear in supporting documentation.
519+
520+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
521+
522+ Except as contained in this notice, the name of a copyright holder shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization of the copyright holder.
523+
524+----------------------------------------------------
525+
526+Name: CURL
527+Preferred version: above 7.12
528+Is mandatory: false
529+Website: http://curl.haxx.se/
530+License: MIT/X derivate license
531+Copyright: 1996 - 2011, Daniel Stenberg, <daniel@haxx.se>.
532+External notice:
533+
534+ All rights reserved.
535+
536+ Permission to use, copy, modify, and distribute this software for any purpose
537+ with or without fee is hereby granted, provided that the above copyright
538+ notice and this permission notice appear in all copies.
539+
540+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
541+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
542+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN
543+ NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
544+ DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
545+ OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
546+ OR OTHER DEALINGS IN THE SOFTWARE.
547+
548+ Except as contained in this notice, the name of a copyright holder shall not
549+ be used in advertising or otherwise to promote the sale, use or other dealings
550+ in this Software without prior written authorization of the copyright holder.
551+
552+----------------------------------------------------
553+
554+Name: ICONV
555+Preferred version: above 1.12
556+Is mandatory: true
557+Website: http://www.gnu.org/software/libiconv/
558+License: LGPL
559+Copyright: 1998, 2010 Free Software Foundation, Inc.
560+External notice:
561+
562+----------------------------------------------------
563+
564+Name: ZLIB
565+Preferred version: 1.2.5
566+Is mandatory: true
567+Website: http://www.zlib.net/
568+Copyright: 1995-2004 Jean-loup Gailly and Mark Adler
569+External notice:
570+
571+ This software is provided 'as-is', without any express or implied
572+ warranty. In no event will the authors be held liable for any damages
573+ arising from the use of this software.
574+
575+ Permission is granted to anyone to use this software for any purpose,
576+ including commercial applications, and to alter it and redistribute it
577+ freely, subject to the following restrictions:
578+
579+ 1. The origin of this software must not be misrepresented; you must not
580+ claim that you wrote the original software. If you use this software
581+ in a product, an acknowledgment in the product documentation would be
582+ appreciated but is not required.
583+ 2. Altered source versions must be plainly marked as such, and must not be
584+ misrepresented as being the original software.
585+ 3. This notice may not be removed or altered from any source distribution.
586+
587+ Jean-loup Gailly jloup@gzip.org
588+ Mark Adler madler@alumni.caltech.edu
589+
590+----------------------------------------------------
591+
592+Name: XERCES
593+Preferred version: 2.8.0 or higher
594+Is mandatory: true
595+Website: http://xerces.apache.org/xerces-c/
596+License: Apache 2
597+Copyright: Copyright © 1999-2010 The Apache Software Foundation. All Rights Reserved.
598+External notice:
599+
600+ http://www.apache.org/licenses/LICENSE-2.0
601+
602+----------------------------------------------------
603+
604+Name: BOOST (boost_filesystem)
605+Preferred version: 1.32 or higher
606+Is mandatory: false
607+Website: http://www.boost.org/
608+License: Boost Software License v1.0
609+Copyright:
610+ Beman Dawes, David Abrahams, 1998-2005.
611+ Rene Rivera 2004-2007
612+
613+External notice:
614+
615+ Permission is hereby granted, free of charge, to any person or organization
616+ obtaining a copy of the software and accompanying documentation covered by
617+ this license (the "Software") to use, reproduce, display, distribute,
618+ execute, and transmit the Software, and to prepare derivative works of the
619+ Software, and to permit third-parties to whom the Software is furnished to
620+ do so, all subject to the following:
621+
622+ The copyright notices in the Software and this entire statement, including
623+ the above license grant, this restriction and the following disclaimer,
624+ must be included in all copies of the Software, in whole or in part, and
625+ all derivative works of the Software, unless such copies or derivative
626+ works are solely in the form of machine-executable object code generated by
627+ a source language processor.
628+
629+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
630+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
631+ FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
632+ SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
633+ FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
634+ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
635+ DEALINGS IN THE SOFTWARE.
636+
637+
638+External applications used by this project:
639+----------------------------------------------------
640+
641+Name: FLEX
642+Preferred version: 2.5.33
643+Is mandatory: false
644+Website: http://flex.sourceforge.net/
645+Copyright:
646+ 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 The Flex Project.
647+ 1990, 1997 The Regents of the University of California. All rights reserved.
648+
649+External notice:
650+
651+ Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
652+
653+ 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
654+ 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
655+
656+ Neither the name of the University nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
657+
658+ THIS SOFTWARE IS PROVIDED “AS IS” AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
659+
660+----------------------------------------------------
661+
662+Name: BISON
663+Preferred version: 2.4 or higher
664+Is mandatory: false
665+Website: http://www.gnu.org/software/bison/
666+License: GPL
667+Copyright: 1998, 2001, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
668+External notice:
669+
670+----------------------------------------------------
671+
672+Name: DOXYGEN
673+Preferred version: v1.7.4
674+Is mandatory: false
675+Website: www.doxygen.org
676+License: GPL
677+Copyright: 1997-2011 by Dimitri van Heesch
678+External notice:
679+
680+ Permission to use, copy, modify, and distribute this software and its documentation under the terms of the GNU General Public License is hereby granted.
681+ No representations are made about the suitability of this software for any purpose.
682+ It is provided "as is" without express or implied warranty.
683+ See the GNU General Public License for more details.
684+
685+ Documents produced by doxygen are derivative works derived from the input used in their production; they are not affected by this license.
686+
687+----------------------------------------------------
688+
689+Name: CMAKE
690+Preferred version: 2.8.4
691+Is mandatory: true
692+Website: http://www.cmake.org/
693+License: Creative Commons Attribution-NoDerivs 3.0 Unported License
694+Copyright: 2000-2009 Kitware, Inc., Insight Software Consortium. All rights reserved.
695+External notice:
696+
697+ Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
698+
699+ Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
700+
701+ Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
702+
703+ Neither the names of Kitware, Inc., the Insight Software Consortium, nor the names of their contributors may be used to endorse or promote products derived from this software without specific prior written permission.
704+
705+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
706+
707+----------------------------------------------------
708+
709+Name: SWIG
710+Preferred version: 2.0.4 or above
711+Is mandatory: false
712+Website: http://www.swig.org/
713+License: GPL
714+Copyright:
715+ 1995-2011 The SWIG Developers
716+ 2005-2006 Arizona Board of Regents (University of Arizona).
717+ 1998-2005 University of Chicago.
718+ 1995-1998 The University of Utah and the Regents of the University of California
719+
720+External notice:
721+
722+ SWIG is free software: you can redistribute it and/or modify it
723+ under the terms of the GNU General Public License as published by
724+ the Free Software Foundation, either version 3 of the License, or
725+ (at your option) any later version. See the LICENSE-GPL file for
726+ the full terms of the GNU General Public license version 3.
727+
728+ Portions of SWIG are also licensed under the terms of the licenses
729+ in the file LICENSE-UNIVERSITIES. You must observe the terms of
730+ these licenses, as well as the terms of the GNU General Public License,
731+ when you distribute SWIG.
732+
733+ The SWIG library and examples, under the Lib and Examples top level
734+ directories, are distributed under the following terms:
735+
736+ You may copy, modify, distribute, and make derivative works based on
737+ this software, in source code or object code form, without
738+ restriction. If you distribute the software to others, you may do
739+ so according to the terms of your choice. This software is offered as
740+ is, without warranty of any kind.
741+
742+ See the COPYRIGHT file for a list of contributors to SWIG and their
743+ copyright notices.
744+
745\ No newline at end of file
746
747=== removed file 'NOTICE.txt'
748--- NOTICE.txt 2012-03-14 15:28:15 +0000
749+++ NOTICE.txt 1970-01-01 00:00:00 +0000
750@@ -1,740 +0,0 @@
751------------
752-Zorba 2.2.0
753------------
754-
755-(Note: This file is generated automatically from NOTICE.xml.
756-Please do not modify this file directly.)
757-
758-
759-
760-
761-Apache 2
762-
763- Copyright 2006-2011 The FLWOR Foundation
764-
765- See LICENSE.txt for license information.
766-
767- ------------------------
768- This product includes software developed at
769- The FLWOR Foundation (http://www.flworfound.org/).
770-
771- ------------------------
772- Portions of this software were developed at the Systems
773- Group of the ETH Zurich, Switzerland.
774-
775-
776-Other files used by this project:
777-----------------------------------------------------
778-
779-src/zorbatypes/m_apm.h
780-src/zorbatypes/mapm/
781-
782-Copyright: 1999-2007 Michael C. Ring
783-Website: http://www.tc.umn.edu/~ringx004/mapm-main.html
784-
785- This software is Freeware.
786-
787- Permission to use, copy, and distribute this software and its
788- documentation for any purpose with or without fee is hereby granted,
789- provided that the above copyright notice appear in all copies and
790- that both that copyright notice and this permission notice appear
791- in supporting documentation.
792-
793- Permission to modify the software is granted. Permission to distribute
794- the modified code is granted. Modifications are to be distributed by
795- using the file 'license.txt' as a template to modify the file header.
796- 'license.txt' is available in the official MAPM distribution.
797-
798- To distribute modified source code, insert the file 'license.txt'
799- at the top of all modified source code files and edit accordingly.
800-
801- This software is provided "as is" without express or implied warranty.
802-
803-----------------------------------------------------
804-
805-src/zorbamisc/config/stdint.h
806-
807-Copyright: 2006 Alexander Chemeris
808-
809-
810- Redistribution and use in source and binary forms, with or without
811- modification, are permitted provided that the following conditions are met:
812-
813- 1. Redistributions of source code must retain the above copyright notice,
814- this list of conditions and the following disclaimer.
815-
816- 2. Redistributions in binary form must reproduce the above copyright
817- notice, this list of conditions and the following disclaimer in the
818- documentation and/or other materials provided with the distribution.
819-
820- 3. The name of the author may be used to endorse or promote products
821- derived from this software without specific prior written permission.
822-
823- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
824- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
825- MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
826- EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
827- SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
828- PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
829- OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
830- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
831- OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
832- ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
833-
834-----------------------------------------------------
835-
836-src/zorbautils/stemmer/
837-
838-Copyright: 2001 Dr. Martin Porter
839-
840-
841- All the software given out on this Snowball site is covered by the BSD
842- License (see http://www.opensource.org/licenses/bsd-license.html), with
843- Copyright (c) 2001, Dr Martin Porter, and (for the Java developments)
844- Copyright (c) 2002, Richard Boulton.
845-
846- Essentially, all this means is that you can do what you like with the code,
847- except claim another Copyright for it, or claim that it is issued under a
848- different license. The software is also issued without warranties, which
849- means that if anyone suffers through its use, they cannot come back and sue
850- you. You also have to alert anyone to whom you give the Snowball software to
851- the fact that it is covered by the BSD license.
852-
853- We have not bothered to insert the licensing arrangement into the text of
854- the Snowball software.
855-
856-----------------------------------------------------
857-
858-src/util/less.h
859-
860-Copyright: 1998 Paul J. Lucas
861-
862-
863- Redistribution and use in source and binary forms, with or without
864- modification, are permitted provided that the following conditions are met:
865-
866- o Redistributions of source code must retain the above copyright notice,
867- this list of conditions and the following disclaimer.
868-
869- o Redistributions in binary form must reproduce the above copyright
870- notice, this list of conditions and the following disclaimer in the
871- documentation and/or other materials provided with the distribution.
872-
873- o The name of the author may not be used to endorse or promote products
874- derived from this software without specific prior written permission.
875-
876- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
877- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
878- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
879- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
880- LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
881- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
882- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
883- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
884- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
885- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
886- POSSIBILITY OF SUCH DAMAGE.
887-
888-----------------------------------------------------
889-
890-src/util/auto_vector.h (has been modified)
891-
892-Copyright: 2003 Reliable Software
893-
894-
895- Redistribution and use in source and binary forms, with or without
896- modification, are permitted provided that the following conditions are met:
897-
898- o Redistributions of source code must retain the above copyright notice,
899- this list of conditions and the following disclaimer.
900-
901- o Redistributions in binary form must reproduce the above copyright
902- notice, this list of conditions and the following disclaimer in the
903- documentation and/or other materials provided with the distribution.
904-
905- o The name of the author may not be used to endorse or promote products
906- derived from this software without specific prior written permission.
907-
908- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
909- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
910- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
911- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
912- LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
913- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
914- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
915- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
916- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
917- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
918- POSSIBILITY OF SUCH DAMAGE.
919-
920-----------------------------------------------------
921-
922-cmake_modules/FindBoost.cmake
923-
924-Copyright:
925- 2006-2008 Andreas Schneider <mail@cynapses.org>
926- 2007 Wengo
927- 2007 Mike Jackson
928- 2008 Andreas Pakulat <apaku@gmx.de>
929-
930-
931-
932- Redistribution AND use is allowed according to the terms of the New BSD license.
933- For details see the accompanying COPYING-CMAKE-SCRIPTS file.
934-
935-----------------------------------------------------
936-
937-cmake_modules/FindJNI.cmake
938-cmake_modules/FindPythonLibs.cmake
939-cmake_modules/FindSWIG.cmake
940-
941-Copyright: 2001-2009 Kitware, Inc.
942-
943-
944- Distributed under the OSI-approved BSD License (the "License");
945- see accompanying file Copyright.txt for details.
946-
947- This software is distributed WITHOUT ANY WARRANTY; without even the
948- implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
949- See the License for more information.
950-
951- CMake - Cross Platform Makefile Generator
952- Copyright 2000-2009 Kitware, Inc., Insight Software Consortium
953- All rights reserved.
954-
955- Redistribution and use in source and binary forms, with or without
956- modification, are permitted provided that the following conditions
957- are met:
958-
959- * Redistributions of source code must retain the above copyright
960- notice, this list of conditions and the following disclaimer.
961-
962- * Redistributions in binary form must reproduce the above copyright
963- notice, this list of conditions and the following disclaimer in the
964- documentation and/or other materials provided with the distribution.
965-
966- * Neither the names of Kitware, Inc., the Insight Software Consortium,
967- nor the names of their contributors may be used to endorse or promote
968- products derived from this software without specific prior written
969- permission.
970-
971- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
972- "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
973- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
974- A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
975- HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
976- SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
977- LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
978- DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
979- THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
980- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
981- OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
982-
983- ------------------------------------------------------------------------------
984-
985- The above copyright and license notice applies to distributions of
986- CMake in source and binary form. Some source files contain additional
987- notices of original copyright by their contributors; see each source
988- for details. Third-party software packages supplied with CMake under
989- compatible licenses provide their own copyright notices documented in
990- corresponding subdirectories.
991-
992- ------------------------------------------------------------------------------
993-
994- CMake was initially developed by Kitware with the following sponsorship:
995-
996- * National Library of Medicine at the National Institutes of Health
997- as part of the Insight Segmentation and Registration Toolkit (ITK).
998-
999- * US National Labs (Los Alamos, Livermore, Sandia) ASC Parallel
1000- Visualization Initiative.
1001-
1002- * National Alliance for Medical Image Computing (NAMIC) is funded by the
1003- National Institutes of Health through the NIH Roadmap for Medical Research,
1004- Grant U54 EB005149.
1005-
1006- * Kitware, Inc.
1007-
1008-----------------------------------------------------
1009-
1010-/xml.xsd
1011-
1012-Copyright: 2001 World Wide Web Consortium, (Massachusetts Institute of Technology, European Research Consortium for Informatics and Mathematics, Keio University)
1013-
1014-
1015- All Rights Reserved. This work is distributed under the W3C Software License [1] in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
1016-
1017- W3C Software Notice and License
1018-
1019- This work (and included software, documentation such as READMEs, or other related items) is being provided by the copyright holders under the following license.
1020-
1021- License
1022-
1023- By obtaining, using and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions.
1024-
1025- Permission to copy, modify, and distribute this software and its documentation, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the software and documentation or portions thereof, including modifications:
1026- •The full text of this NOTICE in a location viewable to users of the redistributed or derivative work.
1027- •Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software Short Notice should be included (hypertext is preferred, text is permitted) within the body of any redistributed or derivative code.
1028- •Notice of any changes or modifications to the files, including the date changes were made. (We recommend you provide URIs to the location from which the code is derived.)
1029-
1030- Disclaimers
1031-
1032- THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
1033-
1034- COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION.
1035-
1036- The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the software without specific, written prior permission. Title to copyright in this software and any associated documentation will at all times remain with copyright holders.
1037-
1038-----------------------------------------------------
1039-
1040-schemas/xslt-xquery-serialization.xsd
1041-
1042-Copyright: 2010 World Wide Web Consortium, (Massachusetts Institute of Technology, European Research Consortium for Informatics and Mathematics, Keio University)
1043-
1044-
1045- All Rights Reserved. This work is distributed under the W3C Software License [1] in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
1046-
1047- W3C Software Notice and License
1048-
1049- This work (and included software, documentation such as READMEs, or other related items) is being provided by the copyright holders under the following license.
1050-
1051- License
1052-
1053- By obtaining, using and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions.
1054-
1055- Permission to copy, modify, and distribute this software and its documentation, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the software and documentation or portions thereof, including modifications:
1056- •The full text of this NOTICE in a location viewable to users of the redistributed or derivative work.
1057- •Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software Short Notice should be included (hypertext is preferred, text is permitted) within the body of any redistributed or derivative code.
1058- •Notice of any changes or modifications to the files, including the date changes were made. (We recommend you provide URIs to the location from which the code is derived.)
1059-
1060- Disclaimers
1061-
1062- THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
1063-
1064- COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION.
1065-
1066- The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the software without specific, written prior permission. Title to copyright in this software and any associated documentation will at all times remain with copyright holders.
1067-
1068-----------------------------------------------------
1069-
1070-modules/w3c/xpath-functions.xsd
1071-
1072-Copyright: 2005 World Wide Web Consortium, (Massachusetts Institute of Technology, European Research Consortium for Informatics and Mathematics, Keio University)
1073-
1074-
1075- All Rights Reserved. This work is distributed under the W3C Software License [1] in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
1076-
1077- W3C Software Notice and License
1078-
1079- This work (and included software, documentation such as READMEs, or other related items) is being provided by the copyright holders under the following license.
1080-
1081- License
1082-
1083- By obtaining, using and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions.
1084-
1085- Permission to copy, modify, and distribute this software and its documentation, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the software and documentation or portions thereof, including modifications:
1086- •The full text of this NOTICE in a location viewable to users of the redistributed or derivative work.
1087- •Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software Short Notice should be included (hypertext is preferred, text is permitted) within the body of any redistributed or derivative code.
1088- •Notice of any changes or modifications to the files, including the date changes were made. (We recommend you provide URIs to the location from which the code is derived.)
1089-
1090- Disclaimers
1091-
1092- THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
1093-
1094- COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION.
1095-
1096- The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the software without specific, written prior permission. Title to copyright in this software and any associated documentation will at all times remain with copyright holders.
1097-
1098-----------------------------------------------------
1099-
1100-include/xqc.h
1101-
1102-Copyright: 2008, Matthias Brantner, John Snelson
1103-
1104-
1105- * All rights reserved.
1106- *
1107- * Redistribution and use in source and binary forms, with or without
1108- * modification, are permitted provided that the following conditions are met:
1109- *
1110- * * Redistributions of source code must retain the above copyright notice,
1111- * this list of conditions and the following disclaimer.
1112- * * Redistributions in binary form must reproduce the above copyright
1113- * notice, this list of conditions and the following disclaimer in the
1114- * documentation and/or other materials provided with the distribution.
1115- * * Neither the name of the developers nor the names of contributors may be
1116- * used to endorse or promote products derived from this software without
1117- * specific prior written permission.
1118- *
1119- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
1120- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
1121- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
1122- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
1123- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
1124- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
1125- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
1126- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
1127- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
1128- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
1129- * POSSIBILITY OF SUCH DAMAGE.
1130-
1131-----------------------------------------------------
1132-
1133-modules/functx/functx.xq
1134-
1135-Copyright: 2007 Datypic
1136-
1137-
1138- : This library is free software; you can redistribute it and/or
1139- : modify it under the terms of the GNU Lesser General Public
1140- : License as published by the Free Software Foundation; either
1141- : version 2.1 of the License.
1142-
1143- : This library is distributed in the hope that it will be useful,
1144- : but WITHOUT ANY WARRANTY; without even the implied warranty of
1145- : MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
1146- : Lesser General Public License for more details.
1147-
1148- : You should have received a copy of the GNU Lesser General Public
1149- : License along with this library; if not, write to the Free Software
1150- : Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
1151-
1152-----------------------------------------------------
1153-
1154-src/compiler/parser/FlexLexer.h
1155-
1156-Copyright: 1993 The Regents of the University of California
1157-
1158-
1159- // All rights reserved.
1160- //
1161- // This code is derived from software contributed to Berkeley by
1162- // Kent Williams and Tom Epperly.
1163- //
1164- // Redistribution and use in source and binary forms, with or without
1165- // modification, are permitted provided that the following conditions
1166- // are met:
1167-
1168- // 1. Redistributions of source code must retain the above copyright
1169- // notice, this list of conditions and the following disclaimer.
1170- // 2. Redistributions in binary form must reproduce the above copyright
1171- // notice, this list of conditions and the following disclaimer in the
1172- // documentation and/or other materials provided with the distribution.
1173-
1174- // Neither the name of the University nor the names of its contributors
1175- // may be used to endorse or promote products derived from this software
1176- // without specific prior written permission.
1177-
1178- // THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
1179- // IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
1180- // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
1181- // PURPOSE.
1182-
1183-----------------------------------------------------
1184-
1185-src/diagnostics/StackWalker.cpp
1186-src/diagnostics/StackWalker.h
1187-
1188-Copyright: 2005 Jochen Kalmbach
1189-
1190-
1191- Under BSD License: http://www.opensource.org/licenses/bsd-license.php
1192-
1193-----------------------------------------------------
1194-
1195-src/util/singleton.h
1196-src/util/threads.h
1197-
1198-Copyright: 2001 Andrei Alexandrescu
1199-
1200-
1201- This code accompanies the book:
1202- Alexandrescu, Andrei. "Modern C++ Design: Generic Programming and Design
1203- Patterns Applied". Copyright (c) 2001. Addison-Wesley.
1204- Permission to use, copy, modify, distribute and sell this software for any
1205- purpose is hereby granted without fee, provided that the above copyright
1206- notice appear in all copies and that both that copyright notice and this
1207- permission notice appear in supporting documentation.
1208- The author or Addison-Wesley Longman make no representations about the
1209- suitability of this software for any purpose. It is provided "as is"
1210- without express or implied warranty.
1211-
1212-
1213-External libraries used by this project:
1214-----------------------------------------------------
1215-
1216-Name: LIBXML2
1217-Preferred version: 2.2.16 or higher
1218-Is mandatory: true
1219-Website: http://xmlsoft.org/
1220-License: MIT
1221-Copyright: 1998-2002 Daniel Veillard. All Rights Reserved.
1222-External notice:
1223-
1224- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
1225-
1226- The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
1227-
1228- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1229-
1230- Except as contained in this notice, the name of Daniel Veillard shall not
1231- be used in advertising or otherwise to promote the sale, use or other deal-
1232- ings in this Software without prior written authorization from him.
1233-
1234-----------------------------------------------------
1235-
1236-Name: LIBXSLT
1237-Preferred version: 1.1.26
1238-Is mandatory: false
1239-Website: http://xmlsoft.org/XSLT/
1240-License: MIT
1241-Copyright: 2001-2002 Daniel Veillard. All Rights Reserved.
1242-External notice:
1243-
1244- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
1245-
1246- The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
1247-
1248- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL DANIEL VEILLARD BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1249-
1250-
1251- Except as contained in this notice, the name of Daniel Veillard shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from him.
1252-
1253-
1254-----------------------------------------------------
1255-
1256-Name: ICU4C
1257-Preferred version: 3.6 or higher
1258-Is mandatory: true
1259-Website: http://www.icu-project.org/
1260-License: ICU License
1261-Copyright: 1995-2011 International Business Machines Corporation and others
1262-External notice:
1263-
1264- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, provided that the above copyright notice(s) and this permission notice appear in all copies of the Software and that both the above copyright notice(s) and this permission notice appear in supporting documentation.
1265-
1266- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1267-
1268- Except as contained in this notice, the name of a copyright holder shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization of the copyright holder.
1269-
1270-----------------------------------------------------
1271-
1272-Name: CURL
1273-Preferred version: above 7.12
1274-Is mandatory: false
1275-Website: http://curl.haxx.se/
1276-License: MIT/X derivate license
1277-Copyright: 1996 - 2011, Daniel Stenberg, <daniel@haxx.se>.
1278-External notice:
1279-
1280- All rights reserved.
1281-
1282- Permission to use, copy, modify, and distribute this software for any purpose
1283- with or without fee is hereby granted, provided that the above copyright
1284- notice and this permission notice appear in all copies.
1285-
1286- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1287- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1288- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN
1289- NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
1290- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
1291- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
1292- OR OTHER DEALINGS IN THE SOFTWARE.
1293-
1294- Except as contained in this notice, the name of a copyright holder shall not
1295- be used in advertising or otherwise to promote the sale, use or other dealings
1296- in this Software without prior written authorization of the copyright holder.
1297-
1298-----------------------------------------------------
1299-
1300-Name: ICONV
1301-Preferred version: above 1.12
1302-Is mandatory: true
1303-Website: http://www.gnu.org/software/libiconv/
1304-License: LGPL
1305-Copyright: 1998, 2010 Free Software Foundation, Inc.
1306-External notice:
1307-
1308-----------------------------------------------------
1309-
1310-Name: ZLIB
1311-Preferred version: 1.2.5
1312-Is mandatory: true
1313-Website: http://www.zlib.net/
1314-Copyright: 1995-2004 Jean-loup Gailly and Mark Adler
1315-External notice:
1316-
1317- This software is provided 'as-is', without any express or implied
1318- warranty. In no event will the authors be held liable for any damages
1319- arising from the use of this software.
1320-
1321- Permission is granted to anyone to use this software for any purpose,
1322- including commercial applications, and to alter it and redistribute it
1323- freely, subject to the following restrictions:
1324-
1325- 1. The origin of this software must not be misrepresented; you must not
1326- claim that you wrote the original software. If you use this software
1327- in a product, an acknowledgment in the product documentation would be
1328- appreciated but is not required.
1329- 2. Altered source versions must be plainly marked as such, and must not be
1330- misrepresented as being the original software.
1331- 3. This notice may not be removed or altered from any source distribution.
1332-
1333- Jean-loup Gailly jloup@gzip.org
1334- Mark Adler madler@alumni.caltech.edu
1335-
1336-----------------------------------------------------
1337-
1338-Name: XERCES
1339-Preferred version: 2.8.0 or higher
1340-Is mandatory: true
1341-Website: http://xerces.apache.org/xerces-c/
1342-License: Apache 2
1343-Copyright: Copyright © 1999-2010 The Apache Software Foundation. All Rights Reserved.
1344-External notice:
1345-
1346- http://www.apache.org/licenses/LICENSE-2.0
1347-
1348-----------------------------------------------------
1349-
1350-Name: BOOST (boost_filesystem)
1351-Preferred version: 1.32 or higher
1352-Is mandatory: false
1353-Website: http://www.boost.org/
1354-License: Boost Software License v1.0
1355-Copyright:
1356- Beman Dawes, David Abrahams, 1998-2005.
1357- Rene Rivera 2004-2007
1358-
1359-External notice:
1360-
1361- Permission is hereby granted, free of charge, to any person or organization
1362- obtaining a copy of the software and accompanying documentation covered by
1363- this license (the "Software") to use, reproduce, display, distribute,
1364- execute, and transmit the Software, and to prepare derivative works of the
1365- Software, and to permit third-parties to whom the Software is furnished to
1366- do so, all subject to the following:
1367-
1368- The copyright notices in the Software and this entire statement, including
1369- the above license grant, this restriction and the following disclaimer,
1370- must be included in all copies of the Software, in whole or in part, and
1371- all derivative works of the Software, unless such copies or derivative
1372- works are solely in the form of machine-executable object code generated by
1373- a source language processor.
1374-
1375- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1376- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1377- FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
1378- SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
1379- FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
1380- ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
1381- DEALINGS IN THE SOFTWARE.
1382-
1383-
1384-External applications used by this project:
1385-----------------------------------------------------
1386-
1387-Name: FLEX
1388-Preferred version: 2.5.33
1389-Is mandatory: false
1390-Website: http://flex.sourceforge.net/
1391-Copyright:
1392- 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 The Flex Project.
1393- 1990, 1997 The Regents of the University of California. All rights reserved.
1394-
1395-External notice:
1396-
1397- Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1398-
1399- 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
1400- 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
1401-
1402- Neither the name of the University nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
1403-
1404- THIS SOFTWARE IS PROVIDED “AS IS” AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
1405-
1406-----------------------------------------------------
1407-
1408-Name: BISON
1409-Preferred version: 2.4 or higher
1410-Is mandatory: false
1411-Website: http://www.gnu.org/software/bison/
1412-License: GPL
1413-Copyright: 1998, 2001, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
1414-External notice:
1415-
1416-----------------------------------------------------
1417-
1418-Name: DOXYGEN
1419-Preferred version: v1.7.4
1420-Is mandatory: false
1421-Website: www.doxygen.org
1422-License: GPL
1423-Copyright: 1997-2011 by Dimitri van Heesch
1424-External notice:
1425-
1426- Permission to use, copy, modify, and distribute this software and its documentation under the terms of the GNU General Public License is hereby granted.
1427- No representations are made about the suitability of this software for any purpose.
1428- It is provided "as is" without express or implied warranty.
1429- See the GNU General Public License for more details.
1430-
1431- Documents produced by doxygen are derivative works derived from the input used in their production; they are not affected by this license.
1432-
1433-----------------------------------------------------
1434-
1435-Name: CMAKE
1436-Preferred version: 2.8.4
1437-Is mandatory: true
1438-Website: http://www.cmake.org/
1439-License: Creative Commons Attribution-NoDerivs 3.0 Unported License
1440-Copyright: 2000-2009 Kitware, Inc., Insight Software Consortium. All rights reserved.
1441-External notice:
1442-
1443- Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1444-
1445- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
1446-
1447- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
1448-
1449- Neither the names of Kitware, Inc., the Insight Software Consortium, nor the names of their contributors may be used to endorse or promote products derived from this software without specific prior written permission.
1450-
1451- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
1452-
1453-----------------------------------------------------
1454-
1455-Name: SWIG
1456-Preferred version: 2.0.4 or above
1457-Is mandatory: false
1458-Website: http://www.swig.org/
1459-License: GPL
1460-Copyright:
1461- 1995-2011 The SWIG Developers
1462- 2005-2006 Arizona Board of Regents (University of Arizona).
1463- 1998-2005 University of Chicago.
1464- 1995-1998 The University of Utah and the Regents of the University of California
1465-
1466-External notice:
1467-
1468- SWIG is free software: you can redistribute it and/or modify it
1469- under the terms of the GNU General Public License as published by
1470- the Free Software Foundation, either version 3 of the License, or
1471- (at your option) any later version. See the LICENSE-GPL file for
1472- the full terms of the GNU General Public license version 3.
1473-
1474- Portions of SWIG are also licensed under the terms of the licenses
1475- in the file LICENSE-UNIVERSITIES. You must observe the terms of
1476- these licenses, as well as the terms of the GNU General Public License,
1477- when you distribute SWIG.
1478-
1479- The SWIG library and examples, under the Lib and Examples top level
1480- directories, are distributed under the following terms:
1481-
1482- You may copy, modify, distribute, and make derivative works based on
1483- this software, in source code or object code form, without
1484- restriction. If you distribute the software to others, you may do
1485- so according to the terms of your choice. This software is offered as
1486- is, without warranty of any kind.
1487-
1488- See the COPYRIGHT file for a list of contributors to SWIG and their
1489- copyright notices.
1490-
1491\ No newline at end of file
1492
1493=== added file 'bin/path_util.cpp'
1494--- bin/path_util.cpp 1970-01-01 00:00:00 +0000
1495+++ bin/path_util.cpp 2012-03-18 17:41:19 +0000
1496@@ -0,0 +1,113 @@
1497+/*
1498+ * Copyright 2006-2008 The FLWOR Foundation.
1499+ *
1500+ * Licensed under the Apache License, Version 2.0 (the "License");
1501+ * you may not use this file except in compliance with the License.
1502+ * You may obtain a copy of the License at
1503+ *
1504+ * http://www.apache.org/licenses/LICENSE-2.0
1505+ *
1506+ * Unless required by applicable law or agreed to in writing, software
1507+ * distributed under the License is distributed on an "AS IS" BASIS,
1508+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1509+ * See the License for the specific language governing permissions and
1510+ * limitations under the License.
1511+ */
1512+
1513+#include "path_util.h"
1514+
1515+#include <stdlib.h>
1516+//#include "zorba/zorba_string.h"
1517+#include "zorba/util/path.h"
1518+
1519+#include "util.h"
1520+#include "zorbacmdproperties.h"
1521+#include <zorba/static_context.h>
1522+
1523+namespace zorba {
1524+
1525+namespace PathUtil {
1526+
1527+static std::string
1528+getPathFromEnvironment(std::string const& aEnvVar)
1529+{
1530+#ifdef WIN32
1531+ char* lBuffer;
1532+ size_t lLen=0;
1533+ errno_t lErr = getenv_s(&lLen, NULL, 0, aEnvVar.c_str());
1534+ if (lErr || !lLen) return "";
1535+ lBuffer = (char*)malloc(lLen * sizeof(char));
1536+ if (!lBuffer) return "";
1537+ getenv_s(&lLen, lBuffer, lLen, aEnvVar.c_str());
1538+ std::string lRes(lBuffer);
1539+ free(lBuffer);
1540+ return lRes;
1541+#else
1542+ const char* lEnvValue = getenv(aEnvVar.c_str());
1543+ return lEnvValue != 0 ? lEnvValue : "";
1544+#endif
1545+}
1546+
1547+
1548+static void
1549+tokenizePath(
1550+ const std::string& aPathStr,
1551+ std::vector<String>& aResult)
1552+{
1553+ std::vector<std::string> lPath;
1554+#ifdef WIN32
1555+ Util::tokenize(aPathStr, ";", lPath);
1556+#else
1557+ Util::tokenize(aPathStr, ":", lPath);
1558+#endif
1559+ for (std::vector<std::string>::iterator lIter = lPath.begin();
1560+ lIter != lPath.end(); ++lIter) {
1561+ aResult.push_back(*lIter);
1562+ }
1563+}
1564+
1565+void
1566+setPathsOnContext(
1567+ const ZorbaCMDProperties& aProperties,
1568+ StaticContext_t& aStaticCtx)
1569+{
1570+ std::vector<String> lPath;
1571+ std::string lPathStr, lEnvStr;
1572+
1573+ // Compute the current working directory to append to all paths.
1574+ filesystem_path lCWD;
1575+
1576+ // setModulePaths() *overwrites* the URI path and lib path, so there's no
1577+ // sense in calling both. So if either --module-path or ZORBA_MODULE_PATH
1578+ // exists, just use those.
1579+ aProperties.getModulePath(lPathStr);
1580+ lEnvStr = getPathFromEnvironment("ZORBA_MODULE_PATH");
1581+ if (lPathStr.length() > 0 || lEnvStr.length() > 0) {
1582+ tokenizePath(lPathStr, lPath);
1583+ tokenizePath(lEnvStr, lPath);
1584+ lPath.push_back(lCWD.get_path());
1585+ aStaticCtx->setModulePaths(lPath);
1586+ }
1587+ else {
1588+ // Compute and set URI path
1589+ aProperties.getURIPath(lPathStr);
1590+ tokenizePath(lPathStr, lPath);
1591+ lEnvStr = getPathFromEnvironment("ZORBA_URI_PATH");
1592+ tokenizePath(lEnvStr, lPath);
1593+ lPath.push_back(lCWD.get_path());
1594+ aStaticCtx->setURIPath(lPath);
1595+ lPath.clear();
1596+
1597+ // Compute and set lib path
1598+ aProperties.getLibPath(lPathStr);
1599+ tokenizePath(lPathStr, lPath);
1600+ lEnvStr = getPathFromEnvironment("ZORBA_LIB_PATH");
1601+ lPath.push_back(lCWD.get_path());
1602+ tokenizePath(lEnvStr, lPath);
1603+ aStaticCtx->setLibPath(lPath);
1604+ }
1605+}
1606+
1607+} /* namespace ModulePath */
1608+
1609+} /* namespace zorba */
1610
1611=== removed file 'bin/path_util.cpp'
1612--- bin/path_util.cpp 2012-01-11 15:56:57 +0000
1613+++ bin/path_util.cpp 1970-01-01 00:00:00 +0000
1614@@ -1,113 +0,0 @@
1615-/*
1616- * Copyright 2006-2008 The FLWOR Foundation.
1617- *
1618- * Licensed under the Apache License, Version 2.0 (the "License");
1619- * you may not use this file except in compliance with the License.
1620- * You may obtain a copy of the License at
1621- *
1622- * http://www.apache.org/licenses/LICENSE-2.0
1623- *
1624- * Unless required by applicable law or agreed to in writing, software
1625- * distributed under the License is distributed on an "AS IS" BASIS,
1626- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1627- * See the License for the specific language governing permissions and
1628- * limitations under the License.
1629- */
1630-
1631-#include "path_util.h"
1632-
1633-#include <stdlib.h>
1634-//#include "zorba/zorba_string.h"
1635-#include "zorba/util/path.h"
1636-
1637-#include "util.h"
1638-#include "zorbacmdproperties.h"
1639-#include <zorba/static_context.h>
1640-
1641-namespace zorba {
1642-
1643-namespace PathUtil {
1644-
1645-static std::string
1646-getPathFromEnvironment(std::string const& aEnvVar)
1647-{
1648-#ifdef WIN32
1649- char* lBuffer;
1650- size_t lLen=0;
1651- errno_t lErr = getenv_s(&lLen, NULL, 0, aEnvVar.c_str());
1652- if (lErr || !lLen) return "";
1653- lBuffer = (char*)malloc(lLen * sizeof(char));
1654- if (!lBuffer) return "";
1655- getenv_s(&lLen, lBuffer, lLen, aEnvVar.c_str());
1656- std::string lRes(lBuffer);
1657- free(lBuffer);
1658- return lRes;
1659-#else
1660- const char* lEnvValue = getenv(aEnvVar.c_str());
1661- return lEnvValue != 0 ? lEnvValue : "";
1662-#endif
1663-}
1664-
1665-
1666-static void
1667-tokenizePath(
1668- const std::string& aPathStr,
1669- std::vector<String>& aResult)
1670-{
1671- std::vector<std::string> lPath;
1672-#ifdef WIN32
1673- Util::tokenize(aPathStr, ";", lPath);
1674-#else
1675- Util::tokenize(aPathStr, ":", lPath);
1676-#endif
1677- for (std::vector<std::string>::iterator lIter = lPath.begin();
1678- lIter != lPath.end(); ++lIter) {
1679- aResult.push_back(*lIter);
1680- }
1681-}
1682-
1683-void
1684-setPathsOnContext(
1685- const ZorbaCMDProperties& aProperties,
1686- StaticContext_t& aStaticCtx)
1687-{
1688- std::vector<String> lPath;
1689- std::string lPathStr, lEnvStr;
1690-
1691- // Compute the current working directory to append to all paths.
1692- filesystem_path lCWD;
1693-
1694- // setModulePaths() *overwrites* the URI path and lib path, so there's no
1695- // sense in calling both. So if either --module-path or ZORBA_MODULE_PATH
1696- // exists, just use those.
1697- aProperties.getModulePath(lPathStr);
1698- lEnvStr = getPathFromEnvironment("ZORBA_MODULE_PATH");
1699- if (lPathStr.length() > 0 || lEnvStr.length() > 0) {
1700- tokenizePath(lPathStr, lPath);
1701- tokenizePath(lEnvStr, lPath);
1702- lPath.push_back(lCWD.get_path());
1703- aStaticCtx->setModulePaths(lPath);
1704- }
1705- else {
1706- // Compute and set URI path
1707- aProperties.getURIPath(lPathStr);
1708- tokenizePath(lPathStr, lPath);
1709- lEnvStr = getPathFromEnvironment("ZORBA_URI_PATH");
1710- tokenizePath(lEnvStr, lPath);
1711- lPath.push_back(lCWD.get_path());
1712- aStaticCtx->setURIPath(lPath);
1713- lPath.clear();
1714-
1715- // Compute and set lib path
1716- aProperties.getLibPath(lPathStr);
1717- tokenizePath(lPathStr, lPath);
1718- lEnvStr = getPathFromEnvironment("ZORBA_LIB_PATH");
1719- lPath.push_back(lCWD.get_path());
1720- tokenizePath(lEnvStr, lPath);
1721- aStaticCtx->setLibPath(lPath);
1722- }
1723-}
1724-
1725-} /* namespace ModulePath */
1726-
1727-} /* namespace zorba */
1728
1729=== added file 'bin/path_util.h'
1730--- bin/path_util.h 1970-01-01 00:00:00 +0000
1731+++ bin/path_util.h 2012-03-18 17:41:19 +0000
1732@@ -0,0 +1,39 @@
1733+/*
1734+ * Copyright 2006-2008 The FLWOR Foundation.
1735+ *
1736+ * Licensed under the Apache License, Version 2.0 (the "License");
1737+ * you may not use this file except in compliance with the License.
1738+ * You may obtain a copy of the License at
1739+ *
1740+ * http://www.apache.org/licenses/LICENSE-2.0
1741+ *
1742+ * Unless required by applicable law or agreed to in writing, software
1743+ * distributed under the License is distributed on an "AS IS" BASIS,
1744+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1745+ * See the License for the specific language governing permissions and
1746+ * limitations under the License.
1747+ */
1748+#ifndef ZORBA_MODULE_PATH_H
1749+#define ZORBA_MODULE_PATH_H
1750+
1751+#include <vector>
1752+#include <string>
1753+#include <zorba/api_shared_types.h>
1754+
1755+class ZorbaCMDProperties;
1756+
1757+namespace zorba {
1758+
1759+ class String;
1760+
1761+ namespace PathUtil {
1762+
1763+ void
1764+ setPathsOnContext(const ZorbaCMDProperties& aProperties,
1765+ zorba::StaticContext_t& aStaticCtx);
1766+
1767+
1768+ }
1769+} /* namespace zorba */
1770+
1771+#endif
1772
1773=== removed file 'bin/path_util.h'
1774--- bin/path_util.h 2012-01-11 15:56:57 +0000
1775+++ bin/path_util.h 1970-01-01 00:00:00 +0000
1776@@ -1,39 +0,0 @@
1777-/*
1778- * Copyright 2006-2008 The FLWOR Foundation.
1779- *
1780- * Licensed under the Apache License, Version 2.0 (the "License");
1781- * you may not use this file except in compliance with the License.
1782- * You may obtain a copy of the License at
1783- *
1784- * http://www.apache.org/licenses/LICENSE-2.0
1785- *
1786- * Unless required by applicable law or agreed to in writing, software
1787- * distributed under the License is distributed on an "AS IS" BASIS,
1788- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1789- * See the License for the specific language governing permissions and
1790- * limitations under the License.
1791- */
1792-#ifndef ZORBA_MODULE_PATH_H
1793-#define ZORBA_MODULE_PATH_H
1794-
1795-#include <vector>
1796-#include <string>
1797-#include <zorba/api_shared_types.h>
1798-
1799-class ZorbaCMDProperties;
1800-
1801-namespace zorba {
1802-
1803- class String;
1804-
1805- namespace PathUtil {
1806-
1807- void
1808- setPathsOnContext(const ZorbaCMDProperties& aProperties,
1809- zorba::StaticContext_t& aStaticCtx);
1810-
1811-
1812- }
1813-} /* namespace zorba */
1814-
1815-#endif
1816
1817=== modified file 'include/zorba/pregenerated/diagnostic_list.h'
1818--- include/zorba/pregenerated/diagnostic_list.h 2012-03-14 15:28:15 +0000
1819+++ include/zorba/pregenerated/diagnostic_list.h 2012-03-18 17:41:19 +0000
1820@@ -496,8 +496,6 @@
1821
1822 extern ZORBA_DLL_PUBLIC ZorbaErrorCode ZAPI0029_REFERENCE_ALREADY_PRESENT;
1823
1824-extern ZORBA_DLL_PUBLIC ZorbaErrorCode ZAPI0030_NO_CURRENT_REFERENCE;
1825-
1826 extern ZORBA_DLL_PUBLIC ZorbaErrorCode ZAPI0039_XQUERY_HAS_ITERATOR_ALREADY;
1827
1828 extern ZORBA_DLL_PUBLIC ZorbaErrorCode ZAPI0040_ITERATOR_NOT_OPEN;
1829
1830=== modified file 'modules/com/zorba-xquery/www/modules/CMakeLists.txt'
1831--- modules/com/zorba-xquery/www/modules/CMakeLists.txt 2012-03-14 15:28:15 +0000
1832+++ modules/com/zorba-xquery/www/modules/CMakeLists.txt 2012-03-18 17:41:19 +0000
1833@@ -86,6 +86,16 @@
1834 DECLARE_ZORBA_MODULE(FILE xqdoc2xhtml/index.xq VERSION 2.0
1835 URI "http://www.zorba-xquery.com/modules/xqdoc2xhtml/")
1836
1837+DECLARE_ZORBA_MODULE(FILE store/pul/representation.xq VERSION 2.0
1838+ URI "http://www.zorba-xquery.com/modules/store/pul/representation")
1839+DECLARE_ZORBA_MODULE(FILE store/pul/errors.xq VERSION 2.0
1840+ URI "http://www.zorba-xquery.com/modules/store/pul/errors")
1841+DECLARE_ZORBA_SCHEMA(FILE store/pul/pul.xsd
1842+ URI "http://www.28msec.com/schemas/pul")
1843+ DECLARE_ZORBA_SCHEMA(FILE store/pul/complete-pul.xsd
1844+ URI "http://www.28msec.com/schemas/complete-pul")
1845+DECLARE_ZORBA_SCHEMA(FILE store/pul/xdm.xsd
1846+ URI "http://www.28msec.com/schemas/xdm")
1847 DECLARE_ZORBA_MODULE(FILE store/data-structures/unordered-map.xq VERSION 2.0
1848 URI "http://www.zorba-xquery.com/modules/store/data-structures/unordered-map")
1849 DECLARE_ZORBA_MODULE(FILE store/documents/dynamic.xq VERSION 2.0
1850
1851=== modified file 'modules/com/zorba-xquery/www/modules/pregenerated/errors.xq'
1852--- modules/com/zorba-xquery/www/modules/pregenerated/errors.xq 2012-03-14 15:28:15 +0000
1853+++ modules/com/zorba-xquery/www/modules/pregenerated/errors.xq 2012-03-18 17:41:19 +0000
1854@@ -293,10 +293,6 @@
1855
1856 (:~
1857 :)
1858-declare variable $zerr:ZAPI0030 as xs:QName := fn:QName($zerr:NS, "zerr:ZAPI0030");
1859-
1860-(:~
1861-:)
1862 declare variable $zerr:ZAPI0039 as xs:QName := fn:QName($zerr:NS, "zerr:ZAPI0039");
1863
1864 (:~
1865
1866=== added directory 'modules/com/zorba-xquery/www/modules/store/pul'
1867=== added file 'modules/com/zorba-xquery/www/modules/store/pul/errors.xq'
1868--- modules/com/zorba-xquery/www/modules/store/pul/errors.xq 1970-01-01 00:00:00 +0000
1869+++ modules/com/zorba-xquery/www/modules/store/pul/errors.xq 2012-03-18 17:41:19 +0000
1870@@ -0,0 +1,69 @@
1871+(:
1872+ : Copyright 2006-2011 The FLWOR Foundation.
1873+ :
1874+ : Licensed under the Apache License, Version 2.0 (the "License");
1875+ : you may not use this file except in compliance with the License.
1876+ : You may obtain a copy of the License at
1877+ :
1878+ : http://www.apache.org/licenses/LICENSE-2.0
1879+ :
1880+ : Unless required by applicable law or agreed to in writing, software
1881+ : distributed under the License is distributed on an "AS IS" BASIS,
1882+ : WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1883+ : See the License for the specific language governing permissions and
1884+ : limitations under the License.
1885+:)
1886+
1887+(:~
1888+ : This module defines all errors for the PUL module.
1889+ :)
1890+module namespace err = "http://www.zorba-xquery.com/modules/store/pul/errors";
1891+
1892+declare namespace ver = "http://www.zorba-xquery.com/options/versioning";
1893+declare option ver:module-version "2.0";
1894+
1895+
1896+(:~
1897+ : Error namespace URI.
1898+ :)
1899+declare variable $err:errNS as xs:string := "http://www.zorba-xquery.com/modules/store/pul/errors";
1900+
1901+(:~
1902+ : The first argument of pul:pul-to-xdm or pulr:pul-to-complete-xdm must be a PUL.
1903+ :)
1904+declare variable $err:PUL001 as xs:QName := fn:QName($err:errNS, "err:PUL001");
1905+
1906+(:~
1907+ : The provided PUL contains unsupported operations.
1908+ :)
1909+declare variable $err:PUL002 as xs:QName := fn:QName($err:errNS, "err:PUL002");
1910+
1911+(:~
1912+ : The validation of the provided XDM PUL failed.
1913+ :)
1914+declare variable $err:PUL010 as xs:QName := fn:QName($err:errNS, "err:PUL010");
1915+
1916+(:~
1917+ : The provided PUL cannot be parsed.
1918+ :)
1919+declare variable $err:PUL011 as xs:QName := fn:QName($err:errNS, "err:PUL011");
1920+
1921+(:~
1922+ : The typing information in the provided XDM PUL cannot be restored.
1923+ :)
1924+declare variable $err:PUL012 as xs:QName := fn:QName($err:errNS, "err:PUL012");
1925+
1926+(:~
1927+ : A node reference cannot be resolved.
1928+ :)
1929+declare variable $err:PUL020 as xs:QName := fn:QName($err:errNS, "err:PUL020");
1930+
1931+(:~
1932+ : The provided XDM PUL is of an unexpected kind.
1933+ :)
1934+declare variable $err:PUL021 as xs:QName := fn:QName($err:errNS, "err:PUL021");
1935+
1936+(:~
1937+ : The provided XDM PULs do not commute.
1938+ :)
1939+declare variable $err:PUL030 as xs:QName := fn:QName($err:errNS, "err:PUL030");
1940
1941=== added file 'modules/com/zorba-xquery/www/modules/store/pul/representation.xq'
1942--- modules/com/zorba-xquery/www/modules/store/pul/representation.xq 1970-01-01 00:00:00 +0000
1943+++ modules/com/zorba-xquery/www/modules/store/pul/representation.xq 2012-03-18 17:41:19 +0000
1944@@ -0,0 +1,753 @@
1945+(:
1946+ : Copyright 2006-2011 The FLWOR Foundation.
1947+ :
1948+ : Licensed under the Apache License, Version 2.0 (the "License");
1949+ : you may not use this file except in compliance with the License.
1950+ : You may obtain a copy of the License at
1951+ :
1952+ : http://www.apache.org/licenses/LICENSE-2.0
1953+ :
1954+ : Unless required by applicable law or agreed to in writing, software
1955+ : distributed under the License is distributed on an "AS IS" BASIS,
1956+ : WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1957+ : See the License for the specific language governing permissions and
1958+ : limitations under the License.
1959+:)
1960+
1961+module namespace pulr = "http://www.zorba-xquery.com/modules/store/pul/representation";
1962+
1963+declare namespace ann = "http://www.zorba-xquery.com/annotations";
1964+declare namespace err = "http://www.w3.org/2005/xqt-errors";
1965+declare namespace zerr = 'http://www.zorba-xquery.com/errors';
1966+
1967+import module namespace schema="http://www.zorba-xquery.com/modules/schema";
1968+import module namespace ref = "http://www.zorba-xquery.com/modules/node-reference";
1969+import module namespace perr = "http://www.zorba-xquery.com/modules/store/pul/errors";
1970+
1971+import schema namespace pul = "http://www.28msec.com/schemas/pul";
1972+import schema namespace cpul = "http://www.28msec.com/schemas/complete-pul";
1973+import schema namespace xdm = "http://www.28msec.com/schemas/xdm";
1974+
1975+declare revalidation skip;
1976+declare namespace ver = "http://www.zorba-xquery.com/options/versioning";
1977+declare option ver:module-version "2.0";
1978+
1979+(:~
1980+ : Generates a representation of a PUL as an XDM instance.
1981+ : The argument node types and identifiers are preserved even if the PUL
1982+ : is serialized.
1983+ :
1984+ : @param $pul A PUL
1985+ : @return the representation of the given PUL as an XDM instance
1986+ :
1987+ : @error perr:PUL001 if the provided argument is not a PUL
1988+ : @error perr:PUL002 if the provided PUL contains unsupported operations
1989+ :)
1990+declare function pulr:pul-to-xdm($pul as item()*) as element() external;
1991+
1992+(:~
1993+ : Generates a representation of a PUL as an XDM instance.
1994+ : The PUL is applied and undo information is stored in the XDM
1995+ : representation of the PUL. The argument nodes types and identifiers
1996+ : are preserved even if the PUL is serialized.
1997+ :
1998+ : @param $pul A PUL
1999+ : @param $encode whether to encode the PUL operation arguments or not
2000+ : @return the representation of the given PUL as an XDM instance
2001+ :
2002+ : @return PUL as an XDM instance
2003+ :
2004+ : @error perr:PUL001 if the provided argument is not a PUL
2005+ : @error perr:PUL002 if the provided PUL contains unsupported operations
2006+ :)
2007+declare %ann:sequential function pulr:pul-to-complete-xdm($pul as item()*) as element() external;
2008+
2009+(:~
2010+ : Returns the PUL represented in the given XDM instance. Argument nodes types
2011+ : and identifiers are restored if present in the XDM instance.
2012+ :
2013+ : @param $xdm-pul XDM representation of a PUL
2014+ : @return the represented PUL
2015+ :
2016+ : @error perr:PUL010 if the provided XDM PUL is not valid
2017+ : @error perr:PUL011 if an error is raised during the parsing of the XDM PUL
2018+ : @error perr:PUL012 if the typing information in the XDM PUL cannot be restored
2019+ : @error perr:PUL029 if a node reference cannot be restored because it is assigned
2020+ : to another node
2021+ :
2022+ : Also, the following update primitive errors can be raised:
2023+ :
2024+ : @error err:XQDY0026 if the replacement value of a processing instruction
2025+ : contains the string "?>"
2026+ : @error err:XQDY0072 if the replacement value of a processing instruction
2027+ : contains two adjacent hyphens or ends with a hyphen
2028+ : @error err:XQDY0074 if the new name in a rename operation cannot
2029+ be converted to an expanded QName
2030+ : @error err:XUDY0009 if the target node of a replace node expression does
2031+ : not have a parent
2032+ : @error err:XUDY0015 if a node is the target of more than one rename operation
2033+ : @error err:XUDY0016 if a node is the target of more than one replace node operation
2034+ : @error err:XUDY0017 if a node is the target of more than one replace value of operation
2035+ : @error err:XUDY0029 if the target node of an insert before or after operation does not
2036+ : have a parent
2037+ : @error err:XUTY0005 if the target node of an insert into, insert into as first, or
2038+ : insert into as last operation is not an element or document node
2039+ : @error err:XUTY0006 if the target node of an inser before or after operation is not
2040+ : an element, text, comment, or processing instruction node
2041+ : @error err:XUTY0008 if the target of a replace node or replace value of operation is not
2042+ : an element, attribute, text, comment, or processing instruction node
2043+ : @error err:XUTY0010 if a replace node operation where the target is an element, text,
2044+ : comment, or processing instruction node, the replacement sequence
2045+ : does not consist of zero or more element, text, comment, or processing
2046+ : instruction nodes
2047+ : @error err:XUTY0011 if a replace node operation where the target is an attribute node, the
2048+ : replacement sequence does not consist of zero or more attribute nodes
2049+ : @error err:XUTY0012 if the target of a rename operation is not an element, attribute, or
2050+ : processing instruction node
2051+ : @error err:XUTY0022 if the target of an insert attribute operation is a document node
2052+ :
2053+ : @error zerr:ZAPI0020 if a create document operation specifies an URI already cointained in
2054+ : the store
2055+ : @error zerr:ZDDY0001 if the collection identified by $name is not declared
2056+ : @error zerr:ZDDY0002 if a create collection operation specifies a name of an already existing
2057+ : collection
2058+ : @error zerr:ZDDY0003 if the collection identified by $name is not available
2059+ : @error zerr:ZDDY0004 if an update operation is specified on a const collection
2060+ : @error zerr:ZDDY0005 if an illegal insert operation is specified on an append-only collection
2061+ : @error zerr:ZDDY0006 if the modifier property of the collection $name is append-only,
2062+ : const, or queue.
2063+ : @error zerr:ZDDY0007 if an illegal delete operation is specified on an append-only collection
2064+ : @error zerr:ZDDY0009 if an illegal delete operation is specified on a queue collection
2065+ : @error zerr:ZDDY0010 if an update operation is specified on read-only nodes
2066+ : @error zerr:ZDDY0011 if a node specified in a insert after into collection, insert before into
2067+ : collection or delete nodes operation is not contained in the specified
2068+ : collection
2069+ : @error zerr:ZDDY0012 if an illegal insert operation is specified on an unordered collection
2070+ : @error zerr:ZDDY0016 if there are multiple attemps to create a collection with the same name
2071+ : @error zerr:ZDDY0018 if not all nodes deleted by a delete nodes operation are in the same collection
2072+ : @error zerr:ZDDY0027 if multiple create index operations are specified for the same index
2073+ : @error zerr:ZDDY0032 if a deactivate integrity constraint is specified on an integrity constraint
2074+ : which is not activated
2075+ : @error zerr:ZXQD0002 if a delete document operation specifies an URI for which no document
2076+ : exists in the store
2077+ :)
2078+declare updating function pulr:xdm-to-pul($xdm-pul as element())
2079+{
2080+ pulr:xdm-to-pul($xdm-pul,fn:true())
2081+};
2082+
2083+(:~
2084+ : Returns the PUL represented in the given XDM instance. Argument nodes identifiers
2085+ : are restored if present in the XDM instance. It is possible to restore argument
2086+ : nodes types if desired.
2087+ :
2088+ : @param $xdm-pul XDM representation of a PUL
2089+ : @return the represented PUL
2090+ :
2091+ : @error perr:PUL010 if the provided XDM PUL is not valid
2092+ : @error perr:PUL011 if an error is raised during the parsing of the XDM PUL
2093+ : @error perr:PUL012 if the typing information in the XDM PUL cannot be restored
2094+ : @error perr:PUL020 if a node reference cannot be dereferenced
2095+ : @error perr:PUL029 if a node reference cannot be restored because it is assigned
2096+ : to another node
2097+ :
2098+ : Also, the following update primitive errors can be raised:
2099+ :
2100+ : @error err:XPTY0004
2101+ : @error err:XQDY0026
2102+ : @error err:XQDY0072
2103+ : @error err:XQDY0074
2104+ : @error err:XUDY0009
2105+ : @error err:XUDY0015
2106+ : @error err:XUDY0016
2107+ : @error err:XUDY0017
2108+ : @error err:XUDY0029
2109+ : @error err:XUTY0005
2110+ : @error err:XUTY0006
2111+ : @error err:XUTY0008
2112+ : @error err:XUTY0010
2113+ : @error err:XUTY0011
2114+ : @error err:XUTY0012
2115+ : @error err:XUTY0022
2116+ : @error zerr:ZAPI0020
2117+ : @error zerr:ZDDY0001
2118+ : @error zerr:ZDDY0002
2119+ : @error zerr:ZDDY0003
2120+ : @error zerr:ZDDY0004
2121+ : @error zerr:ZDDY0005
2122+ : @error zerr:ZDDY0006
2123+ : @error zerr:ZDDY0007
2124+ : @error zerr:ZDDY0009
2125+ : @error zerr:ZDDY0010
2126+ : @error zerr:ZDDY0011
2127+ : @error zerr:ZDDY0012
2128+ : @error zerr:ZDDY0016
2129+ : @error zerr:ZDDY0018
2130+ : @error zerr:ZDDY0027
2131+ : @error zerr:ZDDY0032
2132+ : @error zerr:ZXQD0002
2133+ :)
2134+declare updating function pulr:xdm-to-pul($xdm-pul as element(), $restore-types as xs:boolean)
2135+{
2136+ try
2137+ {
2138+ let $validated:=
2139+ if (not(schema:is-validated($xdm-pul)))
2140+ then validate {trace($xdm-pul,"aa")}
2141+ else $xdm-pul
2142+ return switch (node-name($xdm-pul))
2143+ case xs:QName("cpul:complete-pending-update-list")
2144+ return pulr:xdm-to-pul-impl($validated,fn:true(),$restore-types)
2145+ case xs:QName("pul:pending-update-list")
2146+ return pulr:xdm-to-pul-impl($validated,fn:true(),$restore-types)
2147+ default
2148+ return fn:error($perr:PUL010,"The provided argument is not a valid XDM PUL.")
2149+ }
2150+ catch err:XQDY0027
2151+ {
2152+ fn:error($perr:PUL010,fn:concat("The validation of the provided XDM PUL failed: ", $err:description))
2153+ }
2154+};
2155+
2156+(:~
2157+ : Given a complete XDM PUL it returns an XDM PUL without the additional undo
2158+ : information.
2159+ :
2160+ : @param $complete-xdm-pul complete XDM PUL representation
2161+ : @return XDM PUL representation
2162+ :
2163+ : @error perr:PUL010 if the provided XDM PUL is not valid
2164+ :)
2165+declare function pulr:complete-xdm-to-xdm($complete-xdm-pul as element(cpul:complete-pending-update-list)) as element(pul:pending-update-list)
2166+{
2167+ try
2168+ {
2169+ copy $pul:=
2170+ if (fn:not(schema:is-validated($complete-xdm-pul)))
2171+ then validate {$complete-xdm-pul}
2172+ else ($complete-xdm-pul)
2173+ modify
2174+ (
2175+ (:TO UPDATE :)
2176+ delete node $pul/*/(
2177+ pul:parent | pul:left-sibling | pul:deleted-node | pul:replaced-node |
2178+ pul:old-string-value | pul:replaced-nodes | pul:oldName | pul:deleted-nodes |
2179+ pul:old-annotations | pul:deleted-nodes | pul:deleted-document | pul:deleted-document-reference |
2180+ pul:old-type-name | pul:old-value | pul:old-have-value | pul:old-have-empty-value |
2181+ pul:old-have-typed-value | pul:old-have-list-value | pul:old-is-in-substitution-group | pul:type-undo-list),
2182+ delete node $pul/pul:deActivateIntegrityConstraint/(pul:from-collection-name | pul:to-collection-name | pul:collection-name),
2183+ rename node $pul as "pul:pending-update-list"
2184+ )
2185+ return $pul
2186+ }
2187+ catch err:XQDY0027
2188+ {
2189+ fn:error($perr:PUL010,fn:concat("The validation of the provided XDM PUL failed: ", $err:description))
2190+ }
2191+};
2192+
2193+
2194+(:~
2195+ : Verifies if the PUL represented in the given XDM instance can be applied.
2196+ : It checks all XQueryUpdate applicability constraints, and that the references
2197+ : and types specified in the XDM instance can be restored.
2198+ :
2199+ : @param $xdm-pul XDM representation of a PUL
2200+ : @return the represented PUL
2201+ :
2202+ : @error perr:PUL010 if the provided XDM PUL is not valid
2203+ : @error perr:PUL011 if an error is raised during the parsing of the XDM PUL
2204+ :)
2205+declare function pulr:is-applicable($xdm-pul as element()) as xs:boolean
2206+{
2207+ pulr:is-applicable($xdm-pul,fn:true())
2208+};
2209+
2210+(:~
2211+ : Verifies if the PUL represented in the given XDM instance can be applied.
2212+ : It checks all XQueryUpdate applicability constraints, and that the references
2213+ : specified in the XDM instance can be restored. It can also be checked if typing
2214+ : information present in the PUL can be restored.
2215+ :
2216+ : @param $xdm-pul XDM representation of a PUL
2217+ : @param $check-types whether to check if typing information can be restored or not
2218+ : @return whether the PUL can be applied or not
2219+ :
2220+ : @error perr:PUL010 if the provided XDM PUL is not valid
2221+ : @error perr:PUL011 if an error is raised during the parsing of the XDM PUL
2222+ :)
2223+declare function pulr:is-applicable($xdm-pul as element(), $check-types as xs:boolean) as xs:boolean
2224+{
2225+ try
2226+ {
2227+ pulr:test-pul($xdm-pul,$check-types),
2228+ fn:true()
2229+ }
2230+ catch pulr:PUL010 | pulr:PUL011
2231+ {
2232+ fn:error($err:code, $err:description)
2233+ }
2234+ catch *
2235+ {
2236+ fn:false()
2237+ }
2238+};
2239+
2240+(:~
2241+ : Verifies if the PUL represented in the given XDM instance can be applied.
2242+ : It checks all XQueryUpdate applicability constraints, and that the references
2243+ : specified in the XDM instance can be restored. It can also be checked if typing
2244+ : information present in the PUL can be restored.
2245+ :
2246+ : @param $xdm-pul XDM representation of a PUL
2247+ : @return whether the PUL can be applied or not
2248+ :
2249+ : @error perr:PUL010 if the provided XDM PUL is not valid
2250+ : @error perr:PUL011 if an error is raised during the parsing of the XDM PUL
2251+ :)
2252+declare function pulr:test-pul($xdm-pul as element()) as empty-sequence()
2253+{
2254+ pulr:test-pul($xdm-pul,fn:true())
2255+};
2256+
2257+
2258+(:~
2259+ : Verifies if the PUL represented in the given XDM instance can be applied.
2260+ : It checks all XQueryUpdate applicability constraints, and that the references
2261+ : specified in the XDM instance can be restored. It can also be checked if typing
2262+ : information present in the PUL can be restored. If the PUL is not applicable
2263+ : the corresponding error is raised.
2264+ :
2265+ : @param $xdm-pul XDM representation of a PUL
2266+ : @param $check-types whether to check if typing information can be restored or not
2267+ :
2268+ : @error perr:PUL010 if the provided XDM PUL is not valid
2269+ : @error perr:PUL011 if an error is raised during the parsing of the XDM PUL
2270+ : @error perr:PUL012 if the typing information in the XDM PUL cannot be restored
2271+ : @error perr:PUL029 if a node reference cannot be restored because it is assigned
2272+ : to another node
2273+ :
2274+ : Also, the following update primitive errors can be raised:
2275+ :
2276+ : @error err:XPTY0004
2277+ : @error err:XQDY0026
2278+ : @error err:XQDY0072
2279+ : @error err:XQDY0074
2280+ : @error err:XUDY0009
2281+ : @error err:XUDY0015
2282+ : @error err:XUDY0016
2283+ : @error err:XUDY0017
2284+ : @error err:XUDY0029
2285+ : @error err:XUTY0005
2286+ : @error err:XUTY0006
2287+ : @error err:XUTY0008
2288+ : @error err:XUTY0010
2289+ : @error err:XUTY0011
2290+ : @error err:XUTY0012
2291+ : @error err:XUTY0022
2292+ : @error zerr:ZAPI0020
2293+ : @error zerr:ZDDY0001
2294+ : @error zerr:ZDDY0002
2295+ : @error zerr:ZDDY0003
2296+ : @error zerr:ZDDY0004
2297+ : @error zerr:ZDDY0005
2298+ : @error zerr:ZDDY0006
2299+ : @error zerr:ZDDY0007
2300+ : @error zerr:ZDDY0009
2301+ : @error zerr:ZDDY0010
2302+ : @error zerr:ZDDY0011
2303+ : @error zerr:ZDDY0012
2304+ : @error zerr:ZDDY0016
2305+ : @error zerr:ZDDY0018
2306+ : @error zerr:ZDDY0027
2307+ : @error zerr:ZDDY0032
2308+ : @error zerr:ZXQD0002
2309+ :)
2310+declare function pulr:test-pul($xdm-pul as element(), $check-types as xs:boolean) as empty-sequence()
2311+{
2312+ try
2313+ {
2314+ let $validated:=
2315+ if (not(schema:is-validated($xdm-pul)))
2316+ then validate {$xdm-pul}
2317+ else $xdm-pul
2318+ return switch (node-name($xdm-pul))
2319+ case xs:QName("cpul:complete-pending-update-list")
2320+ return pulr:test-pul-impl($validated,fn:true(),$check-types)
2321+ case xs:QName("pul:pending-update-list")
2322+ return pulr:test-pul-impl($validated,fn:true(),$check-types)
2323+ default
2324+ return fn:error($perr:PUL010,"The provided argument is not a valid XDM PUL.")
2325+ }
2326+ catch err:XQDY0027
2327+ {
2328+ fn:error($perr:PUL010,fn:concat("The validation of the provided XDM PUL failed: ", $err:description))
2329+ }
2330+};
2331+
2332+(:~
2333+ : Verifies if the PUL represented in the given XDM instance can be applied.
2334+ : It checks all XQueryUpdate applicability constraints, and that the references
2335+ : specified in the XDM instance can be restored. It can also be checked if typing
2336+ : information present in the PUL can be restored. If the PUL is not applicable
2337+ : the corresponding error is raised.
2338+ :
2339+ : @param $xdm-pul XDM representation of a PUL
2340+ :
2341+ : @error perr:PUL010 if the provided XDM PUL is not valid
2342+ : @error perr:PUL011 if an error is raised during the parsing of the XDM PUL
2343+ : @error perr:PUL012 if the typing information in the XDM PUL cannot be restored
2344+ : @error perr:PUL029 if a node reference cannot be restored because it is assigned
2345+ : to another node
2346+ :
2347+ : Also, the following update primitive errors can be raised:
2348+ :
2349+ : @error err:XPTY0004
2350+ : @error err:XQDY0026
2351+ : @error err:XQDY0072
2352+ : @error err:XQDY0074
2353+ : @error err:XUDY0009
2354+ : @error err:XUDY0015
2355+ : @error err:XUDY0016
2356+ : @error err:XUDY0017
2357+ : @error err:XUDY0029
2358+ : @error err:XUTY0005
2359+ : @error err:XUTY0006
2360+ : @error err:XUTY0008
2361+ : @error err:XUTY0010
2362+ : @error err:XUTY0011
2363+ : @error err:XUTY0012
2364+ : @error err:XUTY0022
2365+ : @error zerr:ZAPI0020
2366+ : @error zerr:ZDDY0001
2367+ : @error zerr:ZDDY0002
2368+ : @error zerr:ZDDY0003
2369+ : @error zerr:ZDDY0004
2370+ : @error zerr:ZDDY0005
2371+ : @error zerr:ZDDY0006
2372+ : @error zerr:ZDDY0007
2373+ : @error zerr:ZDDY0009
2374+ : @error zerr:ZDDY0010
2375+ : @error zerr:ZDDY0011
2376+ : @error zerr:ZDDY0012
2377+ : @error zerr:ZDDY0016
2378+ : @error zerr:ZDDY0018
2379+ : @error zerr:ZDDY0027
2380+ : @error zerr:ZDDY0032
2381+ : @error zerr:ZXQD0002
2382+ :)
2383+ declare function pulr:test-pul-impl($pul as element(), $encoded as xs:boolean, $restore-types as xs:boolean) as empty-sequence() external;
2384+
2385+(:~
2386+ : Returns the prefixes of all the namespaces bound in a given element.
2387+ :
2388+ : @param $elem an element node
2389+ : @return the sequence of all namespaces bound in $elem
2390+ :)
2391+declare %private function pulr:local-namespace-prefixes($elem as element()) as xs:string* external;
2392+
2393+(:~
2394+ : Encodes a non encoded, non complete XDM representation of a PUL.
2395+ :
2396+ : @param $xdm-pul non encoded, non complete XDM PUL
2397+ : @return encoded XDM PUL
2398+ :)
2399+declare function pulr:encode-xdm-pul-impl($xdm-pul as element()) as element()
2400+{
2401+ copy $enc-pul:=$xdm-pul
2402+ modify
2403+ (
2404+ (:rename node $enc-pul as ("pul:pending-update-list"),:)
2405+ for $argumentroot in ($enc-pul/*/(pul:content | pul:replacement | pul:text))
2406+ return pulr:encode-xdm-parameter($argumentroot),
2407+ for $argumentroot in ($enc-pul/*/(pul:nodes | pul:document | pul:node))
2408+ return pulr:encode-partially-encoded-xdm-parameter($argumentroot)
2409+ )
2410+ return $enc-pul
2411+};
2412+
2413+(:~
2414+ : Encodes a complete XDM representation of a PUL.
2415+ :
2416+ : @param $xdm-pul internal complete XDM PUL representation
2417+ : @return complete XDM PUL representation
2418+ :)
2419+declare updating function pulr:encode-complete-xdm-pul-impl($xdm-pul as element())
2420+{
2421+ for $argumentroot in ($xdm-pul/*/(pul:content | cpul:deleted-node | pul:replacement | cpul:replaced-node | pul:text | cpul:replaced-nodes))
2422+ return pulr:encode-xdm-parameter($argumentroot),
2423+ for $argumentroot in ($xdm-pul/*/(pul:nodes | cpul:deleted-nodes/cpul:deleted-node | cpul:deleted-nodes | pul:document | cpul:deleted-document | pul:node))
2424+ return pulr:encode-partially-encoded-xdm-parameter($argumentroot)
2425+};
2426+
2427+
2428+(:~
2429+ : Encodes all attributes and children of the given node.
2430+ : The given node content must not be partially encoded.
2431+ :
2432+ : @param $parameter Node to encode
2433+ : @return empty-sequence()
2434+ :)
2435+declare %private updating function pulr:encode-xdm-parameter($parameter as element())
2436+{
2437+ for $node in ($parameter/node())
2438+ return replace node $node with pulr:encode-node($node),
2439+ for $node in ($parameter/@*)
2440+ return
2441+ (
2442+ delete node $node,
2443+ insert node pulr:encode-attribute($node) into $parameter
2444+ )
2445+};
2446+
2447+(:~
2448+ : Encodes all attributes and children of the given node.
2449+ : The given node content must be partially encoded.
2450+ :
2451+ : @param $parameter Node to encode
2452+ : @return empty-sequence()
2453+ :)
2454+declare %private updating function pulr:encode-partially-encoded-xdm-parameter($parameter as element())
2455+{
2456+ for $node in ($parameter/*:document/*:children/node())
2457+ return replace node $node with pulr:encode-node($node),
2458+ for $node in ($parameter/pul:non-document)
2459+ return
2460+ if ($node/node())
2461+ then replace node $node with pulr:encode-node($node/node())
2462+ else (
2463+ if ($node/@*)
2464+ then replace node $node with pulr:encode-attribute($node/@*)
2465+ else ()
2466+ )
2467+};
2468+
2469+(:~
2470+ : Encodes a single (element, attribute, text, document-node, comment
2471+ : or processing-instruction) node.
2472+ : The subtree rooted at the specified node is translated as well.
2473+ :
2474+ : @param $node the node to encode
2475+ : @return encoded node
2476+ :)
2477+declare %private function pulr:encode-node($node as node()) as element()*
2478+{
2479+ if ($node instance of element()) then pulr:encode-element($node)
2480+ else if ($node instance of attribute()) then pulr:encode-attribute($node)
2481+ else if ($node instance of text()) then pulr:encode-text($node)
2482+ else if ($node instance of document-node()) then pulr:encode-document-node($node)
2483+ else if ($node instance of comment()) then pulr:encode-comment($node)
2484+ else if ($node instance of processing-instruction()) then pulr:encode-processing-instruction($node)
2485+ else ()
2486+};
2487+
2488+(:~
2489+ : Returns an attribute describing the type of the given node, if any.
2490+ : If the node is untyped no attribute is returned.
2491+ :
2492+ : @param $node a node
2493+ : @param $prefix the prefix to use in the type QName
2494+ : @return an attribute describing the given node type
2495+ :)
2496+declare %private function pulr:encode-node-type($node as node(),$prefix as xs:string) as attribute()?
2497+{
2498+ let $type-name:=schema:schema-type($node)
2499+ let $uri:=fn:namespace-uri-from-QName($type-name)
2500+ let $local:=fn:local-name-from-QName($type-name)
2501+ return
2502+ if ($uri eq "http://www.w3.org/2001/XMLSchema" and $local eq "untyped")
2503+ then ()
2504+ else
2505+ (
2506+ attribute {"type-name"}{QName($uri,concat($prefix,":", $local))}
2507+ )
2508+};
2509+
2510+
2511+(:~
2512+ : Encodes a single document node.
2513+ : The subtree rooted at the specified node is translated as well.
2514+ :
2515+ : @param $doc the node to encode
2516+ : @return encoded node
2517+ :)
2518+declare %private function pulr:encode-document-node($document as document-node()) as element()
2519+{
2520+ element {"xdm:document"}
2521+ {
2522+ let $base-uri:=fn:base-uri($document)
2523+ return if ($base-uri) then (attribute base-uri {$base-uri}) else (),
2524+ let $document-uri:=fn:document-uri($document)
2525+ return if ($document-uri) then (attribute document-uri {$document-uri}) else (),
2526+ attribute reference-uri {ref:node-reference($document)},
2527+ pulr:encode-attributes-children-namespaces($document)
2528+ }
2529+};
2530+
2531+
2532+(:~
2533+ : Encodes a single element node.
2534+ : The subtree rooted at the specified node is translated as well.
2535+ :
2536+ : @param $element the node to encode
2537+ : @return encoded node
2538+ :)
2539+declare %private function pulr:encode-element($element as element()) as element()
2540+{
2541+ let $type-prefix:=if (fn:prefix-from-QName(fn:node-name($element)) eq "type") then "typex" else "type"
2542+ return
2543+ element {fn:node-name($element)} (:Ensures namespace binding for node name.:)
2544+ {
2545+ element {QName(fn:namespace-uri-from-QName(schema:schema-type($element)), (:Ensures namespace binding for type name.:)
2546+ concat($type-prefix,":type"))}
2547+ {
2548+ element {
2549+ if (fn:prefix-from-QName(fn:node-name($element)) eq "xdm")
2550+ then QName("http://www.28msec.com/schemas/pul","xdmx:element")
2551+ else "xdm:element"}
2552+ {
2553+ attribute node-name {fn:node-name($element)},
2554+ pulr:encode-node-type($element,$type-prefix),
2555+ if ($element instance of xs:ID) then attribute is-id {fn:true()} else (),
2556+ if ($element instance of xs:IDREF) then attribute is-idrefs {fn:true()} else (),
2557+ if (fn:nilled($element)) then (attribute nilled {fn:true()}) else (),
2558+ attribute reference-uri {ref:node-reference($element)},
2559+ pulr:encode-attributes-children-namespaces($element)
2560+ }
2561+ }}/*/*
2562+};
2563+
2564+
2565+(:~
2566+ : Encodes a single attribute node.
2567+ :
2568+ : @param $attribute the node to encode
2569+ : @return encoded node
2570+ :)
2571+declare %private function pulr:encode-attribute($attribute as attribute()) as element()
2572+{
2573+ let $type-prefix:=if (fn:prefix-from-QName(fn:node-name($attribute)) eq "type") then "typex" else "type"
2574+ return
2575+ element {fn:node-name($attribute)} (:Ensures namespace binding for node name.:)
2576+ {
2577+ element {QName(fn:namespace-uri-from-QName(schema:schema-type($attribute)), (:Ensures namespace binding for type name.:)
2578+ fn:concat($type-prefix,":type"))}
2579+ {
2580+
2581+ element {
2582+ if (fn:prefix-from-QName(fn:node-name($attribute)) eq "xdm")
2583+ then QName("http://www.28msec.com/schemas/pul","xdmx:attribute")
2584+ else "xdm:attribute"}
2585+ {
2586+ attribute node-name {fn:node-name($attribute)},
2587+ pulr:encode-node-type($attribute,$type-prefix),
2588+ if ($attribute instance of xs:ID) then attribute is-id {fn:true()} else (),
2589+ if ($attribute instance of xs:IDREF) then attribute is-idrefs {fn:true()} else (),
2590+ attribute reference-uri {ref:node-reference($attribute)},
2591+ fn:data($attribute)
2592+ }
2593+ }}/*/*
2594+};
2595+
2596+(:~
2597+ : Encodes a single text node.
2598+ :
2599+ : @param $doc the node to encode
2600+ : @return encoded node
2601+ :)
2602+declare %private function pulr:encode-text($text as text()) as element()
2603+{
2604+ element {"xdm:text"}
2605+ {
2606+ attribute reference-uri {ref:node-reference($text)},
2607+ fn:data($text)
2608+ }
2609+};
2610+
2611+(:~
2612+ : Encodes a single comment node.
2613+ :
2614+ : @param $doc the node to encode
2615+ : @return encoded node
2616+ :)
2617+declare %private function pulr:encode-comment($comment as comment()) as element()
2618+{
2619+ element {"xdm:comment"}
2620+ {
2621+ attribute reference-uri {ref:node-reference($comment)},
2622+ fn:data($comment)
2623+ }
2624+};
2625+
2626+
2627+(:~
2628+ : Encodes a single processing-instruction node.
2629+ :
2630+ : @param $doc the node to encode
2631+ : @return encoded node
2632+ :)
2633+declare %private function pulr:encode-processing-instruction($processing-instruction as processing-instruction()) as element()
2634+{
2635+ element {"xdm:processing-instruction"}
2636+ {
2637+ attribute node-name {fn:node-name($processing-instruction)},
2638+ attribute reference-uri {ref:node-reference($processing-instruction)},
2639+ fn:data($processing-instruction)
2640+ }
2641+};
2642+
2643+
2644+(:~
2645+ : Encodes the entire subtree of a given node, except the node itself.
2646+ :
2647+ : @param $node the root of the subtree to encode
2648+ : @return the encoded subtree
2649+ :)
2650+declare %private function pulr:encode-attributes-children-namespaces($node as node()) as element()*
2651+{
2652+ let $children:=$node/node()
2653+ let $attributes:=$node/@*
2654+ let $prefixes:=pulr:local-namespace-prefixes($node)
2655+ return (
2656+ if ($attributes)
2657+ then (element {"xdm:attributes"}
2658+ {
2659+ for $attribute in ($attributes)
2660+ return pulr:encode-attribute($attribute)
2661+ })
2662+ else (),
2663+ if ($children)
2664+ then (element {"xdm:children"}
2665+ {
2666+ for $child in ($children)
2667+ return pulr:encode-node($child)
2668+ })
2669+ else (),
2670+ if (fn:count($prefixes))
2671+ then (element {"xdm:namespace-nodes"}
2672+ {
2673+ for $prefix in ($prefixes)
2674+ return pulr:encode-namespace($prefix,$node)
2675+ })
2676+ else()
2677+ )
2678+};
2679+
2680+(:~
2681+ : Encodes a single namespace binding. The namespace URI is resolved
2682+ : with respect to the element passed as second argument.
2683+ :
2684+ : @param $namespace-prefix the prefix of the namespace to encode
2685+ : @param $element the element respect to which the namespace declaration will be resolved
2686+ : @return the encoded namespace
2687+ :)
2688+declare %private function pulr:encode-namespace($namespace-prefix as xs:string, $element as element()) as element()
2689+{
2690+ element {"xdm:namespace"}
2691+ {
2692+ if ($namespace-prefix ne "") then attribute node-name { $namespace-prefix } else (),
2693+ fn:namespace-uri-for-prefix($namespace-prefix,$element)
2694+ }
2695+};
2696+
2697+declare %private updating function pulr:xdm-to-pul-impl($pul as element(), $encoded as xs:boolean, $restore-types as xs:boolean) external;
2698\ No newline at end of file
2699
2700=== modified file 'schemas/CMakeLists.txt'
2701--- schemas/CMakeLists.txt 2012-02-03 22:11:07 +0000
2702+++ schemas/CMakeLists.txt 2012-03-18 17:41:19 +0000
2703@@ -12,6 +12,9 @@
2704 # See the License for the specific language governing permissions and
2705 # limitations under the License.
2706
2707+ADD_SUBDIRECTORY(com)
2708+ADD_SUBDIRECTORY(org)
2709+
2710 # QQQ Note: this file was originally the 1998 version of xml.xsd. It should
2711 # probably be replaced with a later revision.
2712 DECLARE_ZORBA_SCHEMA(URI "http://www.w3.org/2001/xml.xsd" FILE xml.xsd)
2713
2714=== added directory 'schemas/com'
2715=== added directory 'schemas/com/28msec'
2716=== added file 'schemas/com/28msec/CMakeLists.txt'
2717--- schemas/com/28msec/CMakeLists.txt 1970-01-01 00:00:00 +0000
2718+++ schemas/com/28msec/CMakeLists.txt 2012-03-18 17:41:19 +0000
2719@@ -0,0 +1,15 @@
2720+# Copyright 2006-2011 The FLWOR Foundation.
2721+#
2722+# Licensed under the Apache License, Version 2.0 (the "License");
2723+# you may not use this file except in compliance with the License.
2724+# You may obtain a copy of the License at
2725+#
2726+# http://www.apache.org/licenses/LICENSE-2.0
2727+#
2728+# Unless required by applicable law or agreed to in writing, software
2729+# distributed under the License is distributed on an "AS IS" BASIS,
2730+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2731+# See the License for the specific language governing permissions and
2732+# limitations under the License.
2733+
2734+ADD_SUBDIRECTORY(www)
2735
2736=== added directory 'schemas/com/28msec/www'
2737=== added file 'schemas/com/28msec/www/CMakeLists.txt'
2738--- schemas/com/28msec/www/CMakeLists.txt 1970-01-01 00:00:00 +0000
2739+++ schemas/com/28msec/www/CMakeLists.txt 2012-03-18 17:41:19 +0000
2740@@ -0,0 +1,15 @@
2741+# Copyright 2006-2011 The FLWOR Foundation.
2742+#
2743+# Licensed under the Apache License, Version 2.0 (the "License");
2744+# you may not use this file except in compliance with the License.
2745+# You may obtain a copy of the License at
2746+#
2747+# http://www.apache.org/licenses/LICENSE-2.0
2748+#
2749+# Unless required by applicable law or agreed to in writing, software
2750+# distributed under the License is distributed on an "AS IS" BASIS,
2751+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2752+# See the License for the specific language governing permissions and
2753+# limitations under the License.
2754+
2755+ADD_SUBDIRECTORY(schemas)
2756
2757=== added directory 'schemas/com/28msec/www/schemas'
2758=== added file 'schemas/com/28msec/www/schemas/CMakeLists.txt'
2759--- schemas/com/28msec/www/schemas/CMakeLists.txt 1970-01-01 00:00:00 +0000
2760+++ schemas/com/28msec/www/schemas/CMakeLists.txt 2012-03-18 17:41:19 +0000
2761@@ -0,0 +1,17 @@
2762+# Copyright 2006-2011 The FLWOR Foundation.
2763+#
2764+# Licensed under the Apache License, Version 2.0 (the "License");
2765+# you may not use this file except in compliance with the License.
2766+# You may obtain a copy of the License at
2767+#
2768+# http://www.apache.org/licenses/LICENSE-2.0
2769+#
2770+# Unless required by applicable law or agreed to in writing, software
2771+# distributed under the License is distributed on an "AS IS" BASIS,
2772+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2773+# See the License for the specific language governing permissions and
2774+# limitations under the License.
2775+
2776+DECLARE_ZORBA_SCHEMA(URI "http://www.28msec.com/schemas/pul" FILE pul-mine.xsd)
2777+DECLARE_ZORBA_SCHEMA(URI "http://www.28msec.com/schemas/complete-pul" FILE complete-pul-mine.xsd)
2778+DECLARE_ZORBA_SCHEMA(URI "http://www.28msec.com/schemas/xdm" FILE xdm-mine.xsd)
2779
2780=== added file 'schemas/com/28msec/www/schemas/complete-pul-mine.xsd'
2781--- schemas/com/28msec/www/schemas/complete-pul-mine.xsd 1970-01-01 00:00:00 +0000
2782+++ schemas/com/28msec/www/schemas/complete-pul-mine.xsd 2012-03-18 17:41:19 +0000
2783@@ -0,0 +1,216 @@
2784+<?xml version="1.0" encoding="UTF-8"?>
2785+<!--
2786+ ************************************************************************
2787+ 28msec schema for representing a complete Pending Update List as XML
2788+ A complete PUL contains the necessary information for reverting changes.
2789+ ************************************************************************
2790+--><xs:schema
2791+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
2792+ targetNamespace="http://www.28msec.com/schemas/complete-pul"
2793+ xmlns:pul="http://www.28msec.com/schemas/pul"
2794+ xmlns:cpul="http://www.28msec.com/schemas/complete-pul"
2795+ xmlns:xdm="http://www.28msec.com/schemas/xdm"
2796+ elementFormDefault="qualified">
2797+
2798+ <xs:import namespace="http://www.28msec.com/schemas/xdm" schemaLocation="xdm.xsd"/>
2799+ <xs:import namespace="http://www.28msec.com/schemas/pul" schemaLocation="pul.xsd"/>
2800+
2801+ <!--
2802+ ****************
2803+ The root element
2804+ ****************
2805+ -->
2806+ <xs:element name="complete-pending-update-list">
2807+ <xs:complexType>
2808+ <xs:sequence>
2809+ <xs:choice minOccurs="0" maxOccurs="unbounded">
2810+ <xs:element name="insertBefore" type="pul:insert-type"/>
2811+ <xs:element name="insertAfter" type="pul:insert-type"/>
2812+ <xs:element name="insertInto" type="pul:insert-type"/>
2813+ <xs:element name="insertIntoAsFirst" type="pul:insert-type"/>
2814+ <xs:element name="insertIntoAsLast" type="pul:insert-type"/>
2815+ <xs:element name="insertAttributes" type="pul:insertAttributes-type"/>
2816+ <xs:element name="delete" type="cpul:complete-delete-type"/>
2817+ <xs:element name="replaceNode" type="cpul:complete-replaceNode-type"/>
2818+ <xs:element name="replaceValue" type="cpul:complete-replaceValue-type"/>
2819+ <xs:element name="replaceElementContent" type="cpul:complete-replaceElementContent-type"/>
2820+ <xs:element name="rename" type="cpul:complete-rename-type"/>
2821+ <xs:element name="put" type="pul:put-type"/>
2822+ <xs:element name="createCollection" type="pul:createCollection-type"/>
2823+ <xs:element name="insertNodesAfter" type="pul:insertNodesRelative-type"/>
2824+ <xs:element name="insertNodesBefore" type="pul:insertNodesRelative-type"/>
2825+ <xs:element name="insertNodesFirst" type="pul:insertNodesAbsolute-type"/>
2826+ <xs:element name="insertNodesLast" type="pul:insertNodesAbsolute-type"/>
2827+ <xs:element name="insertNodes" type="pul:insertNodes-type"/>
2828+ <xs:element name="deleteNodes" type="cpul:complete-deleteNodes-type"/>
2829+ <xs:element name="deleteCollection" type="cpul:complete-deleteCollection-type"/>
2830+ <xs:element name="truncateCollection" type="cpul:complete-truncateCollection-type"/>
2831+ <xs:element name="revalidate" type="pul:revalidate-type"/>
2832+ <xs:element name="createDocument" type="pul:createDocument-type"/>
2833+ <xs:element name="deleteDocument" type="cpul:complete-deleteDocument-type"/>
2834+ <xs:element name="activateForeignKeyIntegrityConstraint" type="pul:activateForeignKeyIntegrityConstraint-type"/>
2835+ <xs:element name="activateIntegrityConstraint" type="pul:activateIntegrityConstraint-type"/>
2836+ <xs:element name="deActivateIntegrityConstraint" type="cpul:complete-deActivateIntegrityConstraint-type"/>
2837+ <xs:element name="createIndex" type="pul:createIndex-type"/>
2838+ <xs:element name="deleteIndex" type="pul:deleteIndex-type"/>
2839+ <xs:element name="refreshIndex" type="pul:refreshIndex-type"/>
2840+ </xs:choice>
2841+ <xs:element name="typeUndoList" type="cpul:type-undo-list-type" minOccurs="0"/>
2842+ </xs:sequence>
2843+ </xs:complexType>
2844+ </xs:element>
2845+
2846+ <!--
2847+ *****************************************************
2848+ Definition of completed update primitives
2849+ *****************************************************
2850+ -->
2851+ <xs:complexType name="complete-delete-type">
2852+ <xs:complexContent>
2853+ <xs:extension base="pul:delete-type">
2854+ <xs:sequence>
2855+ <xs:element name="parent" type="xs:anyURI"/>
2856+ <xs:element name="left-sibling" type="xs:anyURI" minOccurs="0"/>
2857+ <xs:element name="deleted-node" type="xdm:one-node-no-namespace-type"/>
2858+ </xs:sequence>
2859+ </xs:extension>
2860+ </xs:complexContent>
2861+ </xs:complexType>
2862+
2863+ <xs:complexType name="complete-replaceNode-type">
2864+ <xs:complexContent>
2865+ <xs:extension base="pul:replaceNode-type">
2866+ <xs:sequence>
2867+ <xs:element name="parent" type="xs:anyURI"/>
2868+ <xs:element name="left-sibling" type="xs:anyURI" minOccurs="0"/>
2869+ <xs:element name="replaced-node" type="xdm:one-node-no-namespace-type"/>
2870+ </xs:sequence>
2871+ </xs:extension>
2872+ </xs:complexContent>
2873+ </xs:complexType>
2874+
2875+ <xs:complexType name="complete-replaceValue-type">
2876+ <xs:complexContent>
2877+ <xs:extension base="pul:replaceValue-type">
2878+ <xs:sequence>
2879+ <xs:element name="old-string-value" type="xs:string"/>
2880+ </xs:sequence>
2881+ </xs:extension>
2882+ </xs:complexContent>
2883+ </xs:complexType>
2884+
2885+ <xs:complexType name="complete-replaceElementContent-type">
2886+ <xs:complexContent>
2887+ <xs:extension base="pul:replaceElementContent-type">
2888+ <xs:sequence>
2889+ <xs:element name="replaced-nodes" type="xdm:children-sequence-type"/>
2890+ </xs:sequence>
2891+ </xs:extension>
2892+ </xs:complexContent>
2893+ </xs:complexType>
2894+
2895+ <xs:complexType name="complete-rename-type">
2896+ <xs:complexContent>
2897+ <xs:extension base="pul:rename-type">
2898+ <xs:sequence>
2899+ <xs:element name="oldName" type="xs:QName"/>
2900+ </xs:sequence>
2901+ </xs:extension>
2902+ </xs:complexContent>
2903+ </xs:complexType>
2904+
2905+ <xs:complexType name="complete-deleteCollection-type">
2906+ <xs:complexContent>
2907+ <xs:extension base="pul:deleteCollection-type">
2908+ <xs:sequence>
2909+ <xs:element name="old-annotations" type="pul:annotations-type"/>
2910+ <xs:element name="old-node-type" type="xs:QName" minOccurs="0"/>
2911+ <xs:element name="deleted-nodes" type="xdm:nodes-sequence-no-namespaces-type"/>
2912+ </xs:sequence>
2913+ </xs:extension>
2914+ </xs:complexContent>
2915+ </xs:complexType>
2916+
2917+ <xs:complexType name="complete-truncateCollection-type">
2918+ <xs:complexContent>
2919+ <xs:extension base="pul:deleteNodes-type">
2920+ <xs:sequence>
2921+ <xs:element name="deleted-nodes" type="xdm:nodes-sequence-no-namespaces-type"/>
2922+ </xs:sequence>
2923+ </xs:extension>
2924+ </xs:complexContent>
2925+ </xs:complexType>
2926+
2927+ <xs:complexType name="complete-deActivateIntegrityConstraint-type">
2928+ <xs:complexContent>
2929+ <xs:extension base="pul:deActivateIntegrityConstraint-type">
2930+ <xs:sequence>
2931+ <xs:choice>
2932+ <xs:sequence>
2933+ <xs:element name="from-collection-name" type="xs:QName"/>
2934+ <xs:element name="to-collection-name" type="xs:QName" minOccurs="0"/>
2935+ </xs:sequence>
2936+ <xs:element name="collection-name" type="xs:QName"/>
2937+ </xs:choice>
2938+ </xs:sequence>
2939+ </xs:extension>
2940+ </xs:complexContent>
2941+ </xs:complexType>
2942+
2943+ <xs:complexType name="complete-deleteDocument-type">
2944+ <xs:complexContent>
2945+ <xs:extension base="pul:deleteDocument-type">
2946+ <xs:sequence>
2947+ <xs:element name="deleted-document-reference" type="xs:anyURI"/>
2948+ </xs:sequence>
2949+ </xs:extension>
2950+ </xs:complexContent>
2951+ </xs:complexType>
2952+
2953+ <xs:complexType name="complete-deleteNodes-type">
2954+ <xs:complexContent>
2955+ <xs:extension base="pul:deleteNodes-type">
2956+ <xs:sequence>
2957+ <xs:element name="deleted-nodes" type="cpul:deleted-nodes-type"/>
2958+ </xs:sequence>
2959+ </xs:extension>
2960+ </xs:complexContent>
2961+ </xs:complexType>
2962+
2963+ <xs:complexType name="deleted-nodes-type">
2964+ <xs:sequence>
2965+ <xs:element name="deleted-node" minOccurs="0" maxOccurs="unbounded">
2966+ <xs:complexType>
2967+ <xs:sequence>
2968+ <xs:choice>
2969+ <xs:element ref="xdm:document"/>
2970+ <xs:element ref="xdm:element"/>
2971+ <xs:element ref="xdm:comment"/>
2972+ <xs:element ref="xdm:text"/>
2973+ <xs:element ref="xdm:processing-instruction"/>
2974+ <xs:element ref="xdm:attribute"/>
2975+ </xs:choice>
2976+ <xs:element name="left-sibling" minOccurs="0" type="xs:anyURI"/>
2977+ </xs:sequence>
2978+ </xs:complexType>
2979+ </xs:element>
2980+ </xs:sequence>
2981+ </xs:complexType>
2982+
2983+ <xs:complexType name="type-undo-list-type">
2984+ <xs:choice maxOccurs="unbounded">
2985+ <xs:element name="element-type-undo" type="cpul:type-undo-type"/>
2986+ <xs:element name="attribute-type-undo" type="cpul:type-undo-type"/>
2987+ </xs:choice>
2988+ </xs:complexType>
2989+
2990+ <xs:complexType name="type-undo-type">
2991+ <xs:sequence>
2992+ <xs:element name="target" type="xs:anyURI"/>
2993+ <xs:element name="type-name" type="xs:QName" minOccurs="0"/>
2994+ <xs:element name="value" type="xs:string" minOccurs="0"/>
2995+ </xs:sequence>
2996+ </xs:complexType>
2997+
2998+
2999+</xs:schema>
3000
3001=== added file 'schemas/com/28msec/www/schemas/complete-pul.xsd'
3002--- schemas/com/28msec/www/schemas/complete-pul.xsd 1970-01-01 00:00:00 +0000
3003+++ schemas/com/28msec/www/schemas/complete-pul.xsd 2012-03-18 17:41:19 +0000
3004@@ -0,0 +1,123 @@
3005+<?xml version="1.0" encoding="UTF-8"?>
3006+<!--
3007+ ************************************************************************
3008+ 28msec schema for representing a complete Pending Update List as XML
3009+ A complete PUL contains the necessary information for reverting changes.
3010+ ************************************************************************
3011+--><xs:schema
3012+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
3013+ targetNamespace="http://www.28msec.com/schemas/complete-pul"
3014+ xmlns:pul="http://www.28msec.com/schemas/pul"
3015+ xmlns:cpul="http://www.28msec.com/schemas/complete-pul"
3016+ xmlns:xdm="http://www.28msec.com/schemas/xdm"
3017+ elementFormDefault="qualified">
3018+
3019+ <xs:import namespace="http://www.28msec.com/schemas/xdm" schemaLocation="xdm.xsd"/>
3020+ <xs:import namespace="http://www.28msec.com/schemas/pul" schemaLocation="pul.xsd"/>
3021+
3022+ <!--
3023+ ****************
3024+ The root element
3025+ ****************
3026+ -->
3027+ <xs:element name="complete-pending-update-list">
3028+ <xs:complexType>
3029+ <xs:choice minOccurs="0" maxOccurs="unbounded">
3030+ <xs:element name="insertBefore" type="pul:insert-type"/>
3031+ <xs:element name="insertAfter" type="pul:insert-type"/>
3032+ <xs:element name="insertInto" type="pul:insert-type"/>
3033+ <xs:element name="insertIntoAsFirst" type="pul:insert-type"/>
3034+ <xs:element name="insertIntoAsLast" type="pul:insert-type"/>
3035+ <xs:element name="insertAttributes" type="pul:insertAttributes-type"/>
3036+ <xs:element name="complete-delete" type="cpul:complete-delete-type"/>
3037+ <xs:element name="complete-replaceNode" type="cpul:complete-replaceNode-type"/>
3038+ <xs:element name="complete-replaceValue" type="cpul:complete-replaceValue-type"/>
3039+ <xs:element name="complete-replaceElementContent" type="cpul:complete-replaceElementContent-type"/>
3040+ <xs:element name="complete-rename" type="cpul:complete-rename-type"/>
3041+ <xs:element name="put" type="pul:put-type"/>
3042+ <xs:element name="createCollection" type="pul:createCollection-type"/>
3043+ <xs:element name="insertNodesAfter" type="pul:insertNodesRelative-type"/>
3044+ <xs:element name="insertNodesBefore" type="pul:insertNodesRelative-type"/>
3045+ <xs:element name="insertNodesFirst" type="pul:insertNodesAbsolute-type"/>
3046+ <xs:element name="insertNodesLast" type="pul:insertNodesAbsolute-type"/>
3047+ <xs:element name="insertNodes" type="pul:insertNodes-type"/>
3048+ <xs:element name="deleteNodes" type="pul:deleteNodes-type"/>
3049+ <xs:element name="complete-deleteCollection" type="cpul:complete-deleteCollection-type"/>
3050+ <xs:element name="activateIntegrityConstraint" type="pul:activateIntegrityConstraint-type"/>
3051+ <xs:element name="deActivateIntegrityConstraint" type="pul:deActivateIntegrityConstraint-type"/>
3052+ <xs:element name="createIndex" type="pul:createIndex-type"/>
3053+ <xs:element name="deleteIndex" type="pul:deleteIndex-type"/>
3054+ <xs:element name="refreshIndex" type="pul:refreshIndex-type"/>
3055+ </xs:choice>
3056+ </xs:complexType>
3057+ </xs:element>
3058+
3059+ <!--
3060+ *****************************************************
3061+ Definition of completed update primitives
3062+ *****************************************************
3063+ -->
3064+ <xs:complexType name="complete-delete-type">
3065+ <xs:complexContent>
3066+ <xs:extension base="pul:delete-type">
3067+ <xs:sequence>
3068+ <xs:element name="parent" type="xs:anyURI"/>
3069+ <xs:element name="left-sibling" type="xs:anyURI" minOccurs="0"/>
3070+ <xs:element name="deleted-node" type="xdm:one-node-no-namespace-type"/>
3071+ </xs:sequence>
3072+ </xs:extension>
3073+ </xs:complexContent>
3074+ </xs:complexType>
3075+
3076+ <xs:complexType name="complete-replaceNode-type">
3077+ <xs:complexContent>
3078+ <xs:extension base="pul:replaceNode-type">
3079+ <xs:sequence>
3080+ <xs:element name="parent" type="xs:anyURI"/>
3081+ <xs:element name="left-sibling" type="xs:anyURI" minOccurs="0"/>
3082+ <xs:element name="replaced-node" type="xdm:one-node-no-namespace-type"/>
3083+ </xs:sequence>
3084+ </xs:extension>
3085+ </xs:complexContent>
3086+ </xs:complexType>
3087+
3088+ <xs:complexType name="complete-replaceValue-type">
3089+ <xs:complexContent>
3090+ <xs:extension base="pul:replaceValue-type">
3091+ <xs:sequence>
3092+ <xs:element name="old-string-value" type="xs:string"/>
3093+ </xs:sequence>
3094+ </xs:extension>
3095+ </xs:complexContent>
3096+ </xs:complexType>
3097+
3098+ <xs:complexType name="complete-replaceElementContent-type">
3099+ <xs:complexContent>
3100+ <xs:extension base="pul:replaceElementContent-type">
3101+ <xs:sequence>
3102+ <xs:element name="replaced-nodes" type="xdm:children-sequence-type"/>
3103+ </xs:sequence>
3104+ </xs:extension>
3105+ </xs:complexContent>
3106+ </xs:complexType>
3107+
3108+ <xs:complexType name="complete-rename-type">
3109+ <xs:complexContent>
3110+ <xs:extension base="pul:rename-type">
3111+ <xs:sequence>
3112+ <xs:element name="oldName" type="xs:QName"/>
3113+ </xs:sequence>
3114+ </xs:extension>
3115+ </xs:complexContent>
3116+ </xs:complexType>
3117+
3118+ <xs:complexType name="complete-deleteCollection-type">
3119+ <xs:complexContent>
3120+ <xs:extension base="pul:deleteCollection-type">
3121+ <xs:sequence>
3122+ <xs:element name="deleted-nodes" type="xdm:nodes-sequence-no-namespaces-type"/>
3123+ </xs:sequence>
3124+ </xs:extension>
3125+ </xs:complexContent>
3126+ </xs:complexType>
3127+</xs:schema>
3128
3129=== added file 'schemas/com/28msec/www/schemas/pul-mine.xsd'
3130--- schemas/com/28msec/www/schemas/pul-mine.xsd 1970-01-01 00:00:00 +0000
3131+++ schemas/com/28msec/www/schemas/pul-mine.xsd 2012-03-18 17:41:19 +0000
3132@@ -0,0 +1,300 @@
3133+<?xml version="1.0" encoding="UTF-8"?>
3134+<!--
3135+ ************************************************************
3136+ 28msec schema for representing a Pending Update List as XML.
3137+ ************************************************************
3138+-->
3139+<xs:schema
3140+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
3141+ targetNamespace="http://www.28msec.com/schemas/pul"
3142+ xmlns:pul="http://www.28msec.com/schemas/pul"
3143+ xmlns:xdm="http://www.28msec.com/schemas/xdm"
3144+ xmlns:xqx="http://www.w3.org/2005/XQueryX"
3145+ elementFormDefault="qualified">
3146+
3147+ <xs:import namespace="http://www.28msec.com/schemas/xdm" schemaLocation="xdm.xsd"/>
3148+ <xs:import namespace="http://www.w3.org/2005/XQueryX" schemaLocation="../../../../org/w3/www/2005/XQueryX.xsd"/>
3149+
3150+ <!--
3151+ ****************
3152+ The root element
3153+ ****************
3154+ -->
3155+ <xs:element name="pending-update-list">
3156+ <xs:complexType>
3157+ <xs:choice minOccurs="0" maxOccurs="unbounded">
3158+ <xs:element name="insertBefore" type="pul:insert-type"/>
3159+ <xs:element name="insertAfter" type="pul:insert-type"/>
3160+ <xs:element name="insertInto" type="pul:insert-type"/>
3161+ <xs:element name="insertIntoAsFirst" type="pul:insert-type"/>
3162+ <xs:element name="insertIntoAsLast" type="pul:insert-type"/>
3163+ <xs:element name="insertAttributes" type="pul:insertAttributes-type"/>
3164+ <xs:element name="delete" type="pul:delete-type"/>
3165+ <xs:element name="replaceNode" type="pul:replaceNode-type"/>
3166+ <xs:element name="replaceValue" type="pul:replaceValue-type"/>
3167+ <xs:element name="replaceElementContent" type="pul:replaceElementContent-type"/>
3168+ <xs:element name="rename" type="pul:rename-type"/>
3169+ <xs:element name="put" type="pul:put-type"/>
3170+ <xs:element name="createCollection" type="pul:createCollection-type"/>
3171+ <xs:element name="insertNodesAfter" type="pul:insertNodesRelative-type"/>
3172+ <xs:element name="insertNodesBefore" type="pul:insertNodesRelative-type"/>
3173+ <xs:element name="insertNodesFirst" type="pul:insertNodesAbsolute-type"/>
3174+ <xs:element name="insertNodesLast" type="pul:insertNodesAbsolute-type"/>
3175+ <xs:element name="insertNodes" type="pul:insertNodes-type"/>
3176+ <xs:element name="deleteNodes" type="pul:deleteNodes-type"/>
3177+ <xs:element name="deleteCollection" type="pul:deleteCollection-type"/>
3178+ <xs:element name="truncateCollection" type="pul:truncateCollection-type"/>
3179+ <xs:element name="activateIntegrityConstraint" type="pul:activateIntegrityConstraint-type"/>
3180+ <xs:element name="activateForeignKeyIntegrityConstraint" type="pul:activateForeignKeyIntegrityConstraint-type"/>
3181+ <xs:element name="deActivateIntegrityConstraint" type="pul:deActivateIntegrityConstraint-type"/>
3182+ <xs:element name="setAttributeType" type="pul:setAttributeType-type"/>
3183+ <xs:element name="setElementType" type="pul:setElementType-type"/>
3184+ <xs:element name="revalidate" type="pul:revalidate-type"/>
3185+ <xs:element name="createDocument" type="pul:createDocument-type"/>
3186+ <xs:element name="deleteDocument" type="pul:deleteDocument-type"/>
3187+ <xs:element name="createIndex" type="pul:createIndex-type"/>
3188+ <xs:element name="deleteIndex" type="pul:deleteIndex-type"/>
3189+ <xs:element name="refreshIndex" type="pul:refreshIndex-type"/>
3190+ </xs:choice>
3191+ </xs:complexType>
3192+ </xs:element>
3193+
3194+ <!--
3195+ *****************************************************
3196+ Definition of a PUL and the 11 XQUF update primitives
3197+ *****************************************************
3198+ -->
3199+ <xs:complexType name="insert-type">
3200+ <xs:sequence>
3201+ <xs:element name="target" type="xs:anyURI"/>
3202+ <xs:element name="content" type="xdm:children-sequence-type"/>
3203+ </xs:sequence>
3204+ </xs:complexType>
3205+ <xs:complexType name="insertAttributes-type">
3206+ <xs:sequence>
3207+ <xs:element name="target" type="xs:anyURI"/>
3208+ <xs:element name="content" type="xdm:attributes-sequence-type"/>
3209+ </xs:sequence>
3210+ </xs:complexType>
3211+ <xs:complexType name="delete-type">
3212+ <xs:sequence>
3213+ <xs:element name="target" type="xs:anyURI"/>
3214+ </xs:sequence>
3215+ </xs:complexType>
3216+ <!-- Must check upon delivery that:
3217+ o if target is an attribute node, all nodes in content are attributes.
3218+ o if target is a text/PI/comment/element node, all nodes in content are text/PI/comment/element nodes.
3219+ The definition of pul:children-or-attributes-only-type already makes sure that one of these two cases is met.
3220+ But one still needs to make sure that it is the right one of the two depending on the target.
3221+ -->
3222+ <xs:complexType name="replaceNode-type">
3223+ <xs:sequence>
3224+ <xs:element name="target" type="xs:anyURI"/>
3225+ <xs:element name="replacement" type="xdm:children-or-attributes-sequence-type"/>
3226+ </xs:sequence>
3227+ </xs:complexType>
3228+ <xs:complexType name="replaceValue-type">
3229+ <xs:sequence>
3230+ <xs:element name="target" type="xs:anyURI"/>
3231+ <xs:element name="string-value" type="xs:string"/>
3232+ </xs:sequence>
3233+ </xs:complexType>
3234+ <xs:complexType name="replaceElementContent-type">
3235+ <xs:sequence>
3236+ <xs:element name="target" type="xs:anyURI"/>
3237+ <xs:element name="text" type="xdm:zero-or-one-text-node-type"/>
3238+ </xs:sequence>
3239+ </xs:complexType>
3240+ <xs:complexType name="rename-type">
3241+ <xs:sequence>
3242+ <xs:element name="target" type="xs:anyURI"/>
3243+ <xs:element name="newName" type="xs:QName"/>
3244+ </xs:sequence>
3245+ </xs:complexType>
3246+ <xs:complexType name="put-type">
3247+ <xs:sequence>
3248+ <xs:element name="node" type="xdm:one-document-or-element-node-type"/>
3249+ <xs:element name="uri" type="xs:anyURI"/>
3250+ </xs:sequence>
3251+ </xs:complexType>
3252+
3253+
3254+<!--
3255+ ******************************************************
3256+ Definition of proprietary collection update primitives
3257+ ******************************************************
3258+-->
3259+ <xs:complexType name="createCollection-type">
3260+ <xs:sequence>
3261+ <xs:element name="name" type="xs:QName"/>
3262+ <xs:element name="annotations" type="pul:annotations-type"/>
3263+ <xs:element name="dynamic-collection" type="xs:boolean"/>
3264+ <xs:element name="node-type" type="xs:QName" minOccurs="0"/>
3265+ <xs:element name="nodes" type="xdm:nodes-sequence-no-namespaces-type" minOccurs="0"/>
3266+ </xs:sequence>
3267+ </xs:complexType>
3268+ <xs:complexType name="insertNodesRelative-type">
3269+ <xs:sequence>
3270+ <xs:element name="collection" type="xs:QName"/>
3271+ <xs:element name="target" type="xs:anyURI"/>
3272+ <xs:element name="nodes" type="xdm:nodes-sequence-no-namespaces-type"/>
3273+ </xs:sequence>
3274+ </xs:complexType>
3275+ <xs:complexType name="insertNodesAbsolute-type">
3276+ <xs:sequence>
3277+ <xs:element name="collection" type="xs:QName"/>
3278+ <xs:element name="nodes" type="xdm:nodes-sequence-no-namespaces-type"/>
3279+ </xs:sequence>
3280+ </xs:complexType>
3281+ <xs:complexType name="insertNodes-type">
3282+ <xs:sequence>
3283+ <xs:element name="collection" type="xs:QName"/>
3284+ <xs:element name="nodes" type="xdm:nodes-sequence-no-namespaces-type"/>
3285+ </xs:sequence>
3286+ </xs:complexType>
3287+ <xs:complexType name="deleteNodes-type">
3288+ <xs:sequence>
3289+ <xs:element name="collection" type="xs:QName"/>
3290+ <xs:element name="target" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded"/>
3291+ </xs:sequence>
3292+ </xs:complexType>
3293+ <xs:complexType name="deleteCollection-type">
3294+ <xs:sequence>
3295+ <xs:element name="collection" type="xs:QName"/>
3296+ </xs:sequence>
3297+ </xs:complexType>
3298+ <xs:complexType name="truncateCollection-type">
3299+ <xs:sequence>
3300+ <xs:element name="collection" type="xs:QName"/>
3301+ </xs:sequence>
3302+ </xs:complexType>
3303+
3304+<!--
3305+ ****************************************************************
3306+ Definition of proprietary integrity constraint update primitives
3307+ ****************************************************************
3308+-->
3309+ <xs:complexType name="activateForeignKeyIntegrityConstraint-type">
3310+ <xs:sequence>
3311+ <xs:element name="integrity-constraint-name" type="xs:QName"/>
3312+ <xs:element name="from-collection-name" type="xs:QName"/>
3313+ <xs:element name="to-collection-name" type="xs:QName"/>
3314+ </xs:sequence>
3315+ </xs:complexType>
3316+
3317+ <xs:complexType name="activateIntegrityConstraint-type">
3318+ <xs:sequence>
3319+ <xs:element name="integrity-constraint-name" type="xs:QName"/>
3320+ <xs:element name="collection-name" type="xs:QName"/>
3321+ </xs:sequence>
3322+ </xs:complexType>
3323+ <xs:complexType name="deActivateIntegrityConstraint-type">
3324+ <xs:sequence>
3325+ <xs:element name="integrity-constraint-name" type="xs:QName"/>
3326+ </xs:sequence>
3327+ </xs:complexType>
3328+
3329+<!--
3330+ *************************************************
3331+ Definition of proprietary index update primitives
3332+ *************************************************
3333+-->
3334+ <xs:complexType name="createIndex-type">
3335+ <xs:sequence>
3336+ <xs:element name="index-name" type="xs:QName"/>
3337+ </xs:sequence>
3338+ </xs:complexType>
3339+ <xs:complexType name="deleteIndex-type">
3340+ <xs:sequence>
3341+ <xs:element name="index-name" type="xs:QName"/>
3342+ </xs:sequence>
3343+ </xs:complexType>
3344+ <xs:complexType name="refreshIndex-type">
3345+ <xs:sequence>
3346+ <xs:element name="index-name" type="xs:QName"/>
3347+ </xs:sequence>
3348+ </xs:complexType>
3349+
3350+ <!--
3351+ ***********
3352+ Annotations
3353+ ***********
3354+ -->
3355+ <xs:complexType name="annotations-type">
3356+ <xs:sequence>
3357+ <xs:element name="annotation" minOccurs="0" maxOccurs="unbounded">
3358+ <xs:complexType>
3359+ <xs:sequence>
3360+ <xs:element name="name" type="xs:QName"/>
3361+ <xs:element name="literals" type="pul:literals-type" minOccurs="0"/>
3362+ </xs:sequence>
3363+ </xs:complexType>
3364+ </xs:element>
3365+ </xs:sequence>
3366+ </xs:complexType>
3367+
3368+ <xs:complexType name="literals-type">
3369+ <xs:sequence maxOccurs="unbounded">
3370+ <xs:element name="literal">
3371+ <xs:complexType>
3372+ <xs:simpleContent>
3373+ <xs:extension base="xs:string">
3374+ <xs:attribute name="type" type="xs:QName" use="required"/>
3375+ </xs:extension>
3376+ </xs:simpleContent>
3377+ </xs:complexType>
3378+ </xs:element>
3379+ </xs:sequence>
3380+ </xs:complexType>
3381+
3382+ <!--
3383+ *****
3384+ Types
3385+ *****
3386+ -->
3387+ <xs:complexType name="setAttributeType-type">
3388+ <xs:sequence>
3389+ <xs:element name="target" type="xs:anyURI"/>
3390+ <xs:element name="type-name" type="xs:QName" minOccurs="0"/>
3391+ <xs:element name="value" type="xs:string" minOccurs="0"/>
3392+ </xs:sequence>
3393+ </xs:complexType>
3394+
3395+ <xs:complexType name="setElementType-type">
3396+ <xs:sequence>
3397+ <xs:element name="target" type="xs:anyURI"/>
3398+ <xs:element name="type-name" type="xs:QName" minOccurs="0"/>
3399+ <xs:element name="value" type="xs:string" minOccurs="0"/>
3400+ </xs:sequence>
3401+ </xs:complexType>
3402+
3403+
3404+<!--
3405+ ************************************************
3406+ Definition of proprietary revalidation primitive
3407+ ************************************************
3408+-->
3409+ <xs:complexType name="revalidate-type">
3410+ <xs:sequence>
3411+ <xs:element name="target" type="xs:anyURI"/>
3412+ </xs:sequence>
3413+ </xs:complexType>
3414+
3415+<!--
3416+ *********************************************
3417+ Definition of proprietary document primitives
3418+ *********************************************
3419+-->
3420+ <xs:complexType name="createDocument-type">
3421+ <xs:sequence>
3422+ <xs:element name="uri" type="xs:anyURI"/>
3423+ <xs:element name="document-reference" type="xs:anyURI"/>
3424+ </xs:sequence>
3425+ </xs:complexType>
3426+
3427+ <xs:complexType name="deleteDocument-type">
3428+ <xs:sequence>
3429+ <xs:element name="uri" type="xs:anyURI"/>
3430+ </xs:sequence>
3431+ </xs:complexType>
3432+</xs:schema>
3433
3434=== added file 'schemas/com/28msec/www/schemas/pul.xsd'
3435--- schemas/com/28msec/www/schemas/pul.xsd 1970-01-01 00:00:00 +0000
3436+++ schemas/com/28msec/www/schemas/pul.xsd 2012-03-18 17:41:19 +0000
3437@@ -0,0 +1,212 @@
3438+<?xml version="1.0" encoding="UTF-8"?>
3439+<!--
3440+ ************************************************************
3441+ 28msec schema for representing a Pending Update List as XML.
3442+ ************************************************************
3443+-->
3444+<xs:schema
3445+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
3446+ targetNamespace="http://www.28msec.com/schemas/pul"
3447+ xmlns:pul="http://www.28msec.com/schemas/pul"
3448+ xmlns:xdm="http://www.28msec.com/schemas/xdm"
3449+ xmlns:xqx="http://www.w3.org/2005/XQueryX"
3450+ elementFormDefault="qualified">
3451+
3452+ <xs:import namespace="http://www.28msec.com/schemas/xdm" schemaLocation="xdm.xsd"/>
3453+ <xs:import namespace="http://www.w3.org/2005/XQueryX" schemaLocation="../../../../org/w3/www/2005/XQueryX.xsd"/>
3454+
3455+ <!--
3456+ ****************
3457+ The root element
3458+ ****************
3459+ -->
3460+ <xs:element name="pending-update-list">
3461+ <xs:complexType>
3462+ <xs:choice minOccurs="0" maxOccurs="unbounded">
3463+ <xs:element name="insertBefore" type="pul:insert-type"/>
3464+ <xs:element name="insertAfter" type="pul:insert-type"/>
3465+ <xs:element name="insertInto" type="pul:insert-type"/>
3466+ <xs:element name="insertIntoAsFirst" type="pul:insert-type"/>
3467+ <xs:element name="insertIntoAsLast" type="pul:insert-type"/>
3468+ <xs:element name="insertAttributes" type="pul:insertAttributes-type"/>
3469+ <xs:element name="delete" type="pul:delete-type"/>
3470+ <xs:element name="replaceNode" type="pul:replaceNode-type"/>
3471+ <xs:element name="replaceValue" type="pul:replaceValue-type"/>
3472+ <xs:element name="replaceElementContent" type="pul:replaceElementContent-type"/>
3473+ <xs:element name="rename" type="pul:rename-type"/>
3474+ <xs:element name="put" type="pul:put-type"/>
3475+ <xs:element name="createCollection" type="pul:createCollection-type"/>
3476+ <xs:element name="insertNodesAfter" type="pul:insertNodesRelative-type"/>
3477+ <xs:element name="insertNodesBefore" type="pul:insertNodesRelative-type"/>
3478+ <xs:element name="insertNodesFirst" type="pul:insertNodesAbsolute-type"/>
3479+ <xs:element name="insertNodesLast" type="pul:insertNodesAbsolute-type"/>
3480+ <xs:element name="insertNodes" type="pul:insertNodes-type"/>
3481+ <xs:element name="deleteNodes" type="pul:deleteNodes-type"/>
3482+ <xs:element name="deleteCollection" type="pul:deleteCollection-type"/>
3483+ <xs:element name="activateIntegrityConstraint" type="pul:activateIntegrityConstraint-type"/>
3484+ <xs:element name="deActivateIntegrityConstraint" type="pul:deActivateIntegrityConstraint-type"/>
3485+ <xs:element name="createIndex" type="pul:createIndex-type"/>
3486+ <xs:element name="deleteIndex" type="pul:deleteIndex-type"/>
3487+ <xs:element name="refreshIndex" type="pul:refreshIndex-type"/>
3488+ </xs:choice>
3489+ </xs:complexType>
3490+ </xs:element>
3491+
3492+ <!--
3493+ *****************************************************
3494+ Definition of a PUL and the 11 XQUF update primitives
3495+ *****************************************************
3496+ -->
3497+ <xs:complexType name="insert-type">
3498+ <xs:sequence>
3499+ <xs:element name="target" type="xs:anyURI"/>
3500+ <xs:element name="content" type="xdm:children-sequence-type"/>
3501+ </xs:sequence>
3502+ </xs:complexType>
3503+ <xs:complexType name="insertAttributes-type">
3504+ <xs:sequence>
3505+ <xs:element name="target" type="xs:anyURI"/>
3506+ <xs:element name="content" type="xdm:attributes-sequence-type"/>
3507+ </xs:sequence>
3508+ </xs:complexType>
3509+ <xs:complexType name="delete-type">
3510+ <xs:sequence>
3511+ <xs:element name="target" type="xs:anyURI"/>
3512+ </xs:sequence>
3513+ </xs:complexType>
3514+ <!-- Must check upon delivery that:
3515+ o if target is an attribute node, all nodes in content are attributes.
3516+ o if target is a text/PI/comment/element node, all nodes in content are text/PI/comment/element nodes.
3517+ The definition of pul:children-or-attributes-only-type already makes sure that one of these two cases is met.
3518+ But one still needs to make sure that it is the right one of the two depending on the target.
3519+ -->
3520+ <xs:complexType name="replaceNode-type">
3521+ <xs:sequence>
3522+ <xs:element name="target" type="xs:anyURI"/>
3523+ <xs:element name="replacement" type="xdm:children-or-attributes-sequence-type"/>
3524+ </xs:sequence>
3525+ </xs:complexType>
3526+ <xs:complexType name="replaceValue-type">
3527+ <xs:sequence>
3528+ <xs:element name="target" type="xs:anyURI"/>
3529+ <xs:element name="string-value" type="xs:string"/>
3530+ </xs:sequence>
3531+ </xs:complexType>
3532+ <xs:complexType name="replaceElementContent-type">
3533+ <xs:sequence>
3534+ <xs:element name="target" type="xs:anyURI"/>
3535+ <xs:element name="text" type="xdm:zero-or-one-text-node-type"/>
3536+ </xs:sequence>
3537+ </xs:complexType>
3538+ <xs:complexType name="rename-type">
3539+ <xs:sequence>
3540+ <xs:element name="target" type="xs:anyURI"/>
3541+ <xs:element name="newName" type="xs:QName"/>
3542+ </xs:sequence>
3543+ </xs:complexType>
3544+ <xs:complexType name="put-type">
3545+ <xs:sequence>
3546+ <xs:element name="node" type="xdm:one-document-or-element-node-type"/>
3547+ <xs:element name="uri" type="xs:anyURI"/>
3548+ </xs:sequence>
3549+ </xs:complexType>
3550+
3551+
3552+<!--
3553+ ******************************************************
3554+ Definition of proprietary collection update primitives
3555+ ******************************************************
3556+-->
3557+ <xs:complexType name="createCollection-type">
3558+ <xs:sequence>
3559+ <xs:element name="name" type="xs:QName"/>
3560+ <xs:element name="type" type="xqx:sequenceType" minOccurs="0"/>
3561+ <xs:element name="annotation" type="xqx:annotation" minOccurs="0" maxOccurs="unbounded"/>
3562+ <xs:element name="nodes" type="xdm:nodes-sequence-no-namespaces-type"/>
3563+ </xs:sequence>
3564+ </xs:complexType>
3565+ <xs:complexType name="insertNodesRelative-type">
3566+ <xs:sequence>
3567+ <xs:element name="collection" type="xs:QName"/>
3568+ <xs:element name="target" type="xs:anyURI"/>
3569+ <xs:element name="nodes" type="xdm:nodes-sequence-no-namespaces-type"/>
3570+ </xs:sequence>
3571+ </xs:complexType>
3572+ <xs:complexType name="insertNodesAbsolute-type">
3573+ <xs:sequence>
3574+ <xs:element name="collection" type="xs:QName"/>
3575+ <xs:element name="nodes" type="xdm:nodes-sequence-no-namespaces-type"/>
3576+ </xs:sequence>
3577+ </xs:complexType>
3578+ <xs:complexType name="insertNodes-type">
3579+ <xs:sequence>
3580+ <xs:element name="collection" type="xs:QName"/>
3581+ <xs:element name="nodes" type="xdm:nodes-sequence-no-namespaces-type"/>
3582+ </xs:sequence>
3583+ </xs:complexType>
3584+ <xs:complexType name="deleteNodes-type">
3585+ <xs:sequence>
3586+ <xs:element name="collection" type="xs:QName"/>
3587+ <xs:element name="target" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded"/>
3588+ </xs:sequence>
3589+ </xs:complexType>
3590+ <xs:complexType name="deleteCollection-type">
3591+ <xs:sequence>
3592+ <xs:element name="collection" type="xs:QName"/>
3593+ </xs:sequence>
3594+ </xs:complexType>
3595+
3596+<!--
3597+ ****************************************************************
3598+ Definition of proprietary integrity constraint update primitives
3599+ ****************************************************************
3600+-->
3601+ <xs:complexType name="activateIntegrityConstraint-type">
3602+ <xs:sequence>
3603+ <xs:element name="identity-constraint-name" type="xs:QName"/>
3604+ </xs:sequence>
3605+ </xs:complexType>
3606+ <xs:complexType name="deActivateIntegrityConstraint-type">
3607+ <xs:sequence>
3608+ <xs:element name="identity-constraint-name" type="xs:QName"/>
3609+ </xs:sequence>
3610+ </xs:complexType>
3611+
3612+<!--
3613+ *************************************************
3614+ Definition of proprietary index update primitives
3615+ *************************************************
3616+-->
3617+ <xs:complexType name="createIndex-type">
3618+ <xs:sequence>
3619+ <xs:element name="index-name" type="xs:QName"/>
3620+ <xs:element name="domain-expression">
3621+ <xs:complexType>
3622+ <xs:sequence>
3623+ <xs:element ref="xqx:expr"/>
3624+ </xs:sequence>
3625+ </xs:complexType>
3626+ </xs:element>
3627+ <xs:element name="key-expressions">
3628+ <xs:complexType>
3629+ <xs:sequence>
3630+ <xs:element ref="xqx:expr" maxOccurs="unbounded"/>
3631+ </xs:sequence>
3632+ </xs:complexType>
3633+ </xs:element>
3634+ <xs:element name="annotation" type="xqx:annotation" minOccurs="0" maxOccurs="unbounded"/>
3635+ </xs:sequence>
3636+ </xs:complexType>
3637+
3638+ <xs:complexType name="deleteIndex-type">
3639+ <xs:sequence>
3640+ <xs:element name="index-name" type="xs:QName"/>
3641+ </xs:sequence>
3642+ </xs:complexType>
3643+
3644+ <xs:complexType name="refreshIndex-type">
3645+ <xs:sequence>
3646+ <xs:element name="index-name" type="xs:QName"/>
3647+ </xs:sequence>
3648+ </xs:complexType>
3649+</xs:schema>
3650
3651=== added file 'schemas/com/28msec/www/schemas/xdm-mine.xsd'
3652--- schemas/com/28msec/www/schemas/xdm-mine.xsd 1970-01-01 00:00:00 +0000
3653+++ schemas/com/28msec/www/schemas/xdm-mine.xsd 2012-03-18 17:41:19 +0000
3654@@ -0,0 +1,276 @@
3655+<?xml version="1.0" encoding="UTF-8"?>
3656+<!--
3657+ ******************************************************
3658+ 28msec schema for representing an XDM instance as XML.
3659+ ******************************************************
3660+-->
3661+<xs:schema
3662+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
3663+ targetNamespace="http://www.28msec.com/schemas/xdm"
3664+ xmlns:xdm="http://www.28msec.com/schemas/xdm"
3665+ elementFormDefault="qualified">
3666+
3667+ <!--
3668+ ****************
3669+ The root element
3670+ ****************
3671+ -->
3672+ <xs:element name="sequence-of-items" type="xdm:sequence-of-items-type"/>
3673+
3674+ <!--
3675+ ************************************************
3676+ Serialization of an atomic item (type specified)
3677+ ************************************************
3678+ -->
3679+ <xs:element name="atomic-value">
3680+ <xs:complexType>
3681+ <xs:simpleContent>
3682+ <xs:extension base="xs:string">
3683+ <xs:attribute name="type" type="xs:QName"/>
3684+ </xs:extension>
3685+ </xs:simpleContent>
3686+ </xs:complexType>
3687+ </xs:element>
3688+
3689+ <!--
3690+ **********************************************************************************
3691+ XDM-to-XML Proprietary serialization: the seven kinds of nodes and their accessors
3692+ For each node kind, the accessors that are always empty are ignored.
3693+ **********************************************************************************
3694+ -->
3695+ <xs:element name="document">
3696+ <xs:complexType>
3697+ <xs:sequence>
3698+ <!--
3699+ dm:children($n as node()) as node()*
3700+
3701+ The dm:children accessor returns the children of a node as a sequence containing
3702+ zero or more nodes.
3703+ -->
3704+ <xs:element name="children" type="xdm:children-sequence-type" minOccurs="0"/>
3705+ </xs:sequence>
3706+ <!--
3707+ dm:base-uri($n as node()) as xs:anyURI?
3708+
3709+ The dm:base-uri accessor returns the base URI of a node as a sequence containing
3710+ zero or one URI reference. For more information about base URIs, see [XML Base].
3711+ -->
3712+ <xs:attribute name="base-uri" type="xs:anyURI" use="optional"/>
3713+ <!--
3714+ dm:document-uri($node as node()) as xs:anyURI?
3715+
3716+ The dm:document-uri accessor returns the absolute URI of the resource from which
3717+ the Document Node was constructed, if the absolute URI is available. If there is
3718+ no URI available, or if it cannot be made absolute when the Document Node is
3719+ constructed, or if it is used on a node other than a Document Node, the empty
3720+ sequence is returned.
3721+ -->
3722+ <xs:attribute name="document-uri" type="xs:anyURI" use="optional"/>
3723+ <!--
3724+ dm:reference-uri($node as node()) as xs:anyURI?
3725+
3726+ An additional, proprietary accessor reference-uri is used to store Sausalito's
3727+ UUID references.
3728+ -->
3729+ <xs:attribute name="reference-uri" type="xs:anyURI" use="optional"/>
3730+ </xs:complexType>
3731+ </xs:element>
3732+ <xs:element name="element">
3733+ <xs:complexType>
3734+ <xs:sequence>
3735+ <!--
3736+ dm:attributes($n as node()) as attribute()*
3737+
3738+ The dm:attributes accessor returns the attributes of a node as a sequence
3739+ containing zero or more Attribute Nodes. The order of Attribute Nodes is
3740+ stable but implementation dependent.
3741+ -->
3742+ <xs:element name="attributes" type="xdm:attributes-sequence-type" minOccurs="0"/>
3743+ <xs:element name="children" type="xdm:children-sequence-type" minOccurs="0"/>
3744+ <!--
3745+ dm:namespace-nodes($n as node()) as node()*
3746+
3747+ The dm:namespace-nodes accessor returns the dynamic, in-scope namespaces associated
3748+ with a node as a sequence containing zero or more Namespace Nodes. The order of Namespace
3749+ Nodes is stable but implementation dependent.
3750+ -->
3751+ <xs:element name="namespace-nodes" type="xdm:namespaces-sequence-type" minOccurs="0"/>
3752+ </xs:sequence>
3753+ <!--
3754+ dm:node-name($n as node()) as xs:QName?
3755+
3756+ The dm:node-name accessor returns the name of the node as a sequence of zero or one
3757+ xs:QNames. Note that the QName value includes an optional prefix as described in 3.3.3
3758+ QNames and NOTATIONS.
3759+ -->
3760+ <xs:attribute name="node-name" type="xs:QName"/>
3761+ <!--
3762+ dm:type-name($n as node()) as xs:QName?
3763+
3764+ The dm:type-name accessor returns the name of the schema type of a node as a sequence of
3765+ zero or one xs:QNames.
3766+ -->
3767+ <xs:attribute name="type-name" type="xs:QName"/>
3768+ <!--
3769+ dm:is-id($node as node()) as xs:boolean?
3770+
3771+ The dm:is-id accessor returns true if the node is an XML ID. Exactly what constitutes
3772+ an ID depends in part on how the data model was constructed, see 6.2 Element Nodes
3773+ and 6.3 Attribute Nodes.
3774+ -->
3775+ <xs:attribute name="is-id" type="xs:boolean" default="false"/>
3776+ <!--
3777+ dm:is-idrefs($node as node()) as xs:boolean?
3778+
3779+ The dm:is-idrefs accessor returns true if the node is an XML IDREF or IDREFS. Exactly
3780+ what constitutes an IDREF or IDREFS depends in part on how the data model was
3781+ constructed, see 6.2 Element Nodes and 6.3 Attribute Nodes.
3782+ -->
3783+ <xs:attribute name="is-idrefs" type="xs:boolean" default="false"/>
3784+ <!--
3785+ dm:nilled($n as node()) as xs:boolean?
3786+
3787+ The dm:nilled accessor returns true if the node is "nilled". [Schema Part 1] introduced
3788+ the nilled mechanism to signal that an element should be accepted as valid when it has
3789+ no content even when it has a content type which does not require or even necessarily
3790+ allow empty content.
3791+ -->
3792+ <xs:attribute name="nilled" type="xs:boolean" default="false"/>
3793+ <xs:attribute name="reference-uri" type="xs:anyURI" use="optional"/>
3794+ </xs:complexType>
3795+ </xs:element>
3796+ <xs:element name="attribute">
3797+ <xs:complexType>
3798+ <xs:simpleContent>
3799+ <xs:extension base="xs:string">
3800+ <xs:attribute name="node-name" type="xs:QName"/>
3801+ <xs:attribute name="type-name" type="xs:QName"/>
3802+ <xs:attribute name="is-id" type="xs:boolean" default="false"/>
3803+ <xs:attribute name="is-idrefs" type="xs:boolean" default="false"/>
3804+ <xs:attribute name="reference-uri" type="xs:anyURI" use="optional"/>
3805+ </xs:extension>
3806+ </xs:simpleContent>
3807+ </xs:complexType>
3808+ </xs:element>
3809+ <xs:element name="namespace">
3810+ <xs:complexType>
3811+ <xs:simpleContent>
3812+ <xs:extension base="xs:string">
3813+ <xs:attribute name="node-name" type="xs:QName"/>
3814+ <xs:attribute name="reference-uri" type="xs:anyURI" use="optional"/>
3815+ </xs:extension>
3816+ </xs:simpleContent>
3817+ </xs:complexType>
3818+ </xs:element>
3819+ <xs:element name="processing-instruction">
3820+ <xs:complexType>
3821+ <xs:simpleContent>
3822+ <xs:extension base="xs:string">
3823+ <xs:attribute name="node-name" type="xs:NCName"/>
3824+ <xs:attribute name="reference-uri" type="xs:anyURI" use="optional"/>
3825+ </xs:extension>
3826+ </xs:simpleContent>
3827+ </xs:complexType>
3828+ </xs:element>
3829+ <xs:element name="comment">
3830+ <xs:complexType>
3831+ <xs:simpleContent>
3832+ <xs:extension base="xs:string">
3833+ <xs:attribute name="reference-uri" type="xs:anyURI" use="optional"/>
3834+ </xs:extension>
3835+ </xs:simpleContent>
3836+ </xs:complexType>
3837+ </xs:element>
3838+ <xs:element name="text">
3839+ <xs:complexType>
3840+ <xs:simpleContent>
3841+ <xs:extension base="xs:string">
3842+ <xs:attribute name="reference-uri" type="xs:anyURI" use="optional"/>
3843+ </xs:extension>
3844+ </xs:simpleContent>
3845+ </xs:complexType>
3846+ </xs:element>
3847+
3848+ <!--
3849+ *************************************************************************************
3850+ Types that are sequences of items (restricted on the kinds of nodes that are allowed)
3851+ *************************************************************************************
3852+ -->
3853+ <xs:complexType name="sequence-of-items-type">
3854+ <xs:choice minOccurs="0" maxOccurs="unbounded">
3855+ <xs:element ref="xdm:document"/>
3856+ <xs:element ref="xdm:element"/>
3857+ <xs:element ref="xdm:comment"/>
3858+ <xs:element ref="xdm:text"/>
3859+ <xs:element ref="xdm:processing-instruction"/>
3860+ <xs:element ref="xdm:attribute"/>
3861+ <xs:element ref="xdm:namespace"/>
3862+ <xs:element ref="xdm:atomic-value"/>
3863+ </xs:choice>
3864+ </xs:complexType>
3865+
3866+ <xs:complexType name="attributes-sequence-type">
3867+ <xs:sequence minOccurs="0" maxOccurs="unbounded">
3868+ <xs:element ref="xdm:attribute"/>
3869+ </xs:sequence>
3870+ </xs:complexType>
3871+ <xs:complexType name="children-sequence-type">
3872+ <xs:choice minOccurs="0" maxOccurs="unbounded">
3873+ <xs:element ref="xdm:element"/>
3874+ <xs:element ref="xdm:comment"/>
3875+ <xs:element ref="xdm:text"/>
3876+ <xs:element ref="xdm:processing-instruction"/>
3877+ </xs:choice>
3878+ </xs:complexType>
3879+ <xs:complexType name="namespaces-sequence-type">
3880+ <xs:sequence>
3881+ <xs:element ref="xdm:namespace" minOccurs="0" maxOccurs="unbounded"/>
3882+ </xs:sequence>
3883+ </xs:complexType>
3884+
3885+ <xs:complexType name="children-or-attributes-sequence-type">
3886+ <xs:choice>
3887+ <xs:choice minOccurs="0" maxOccurs="unbounded">
3888+ <xs:element ref="xdm:element"/>
3889+ <xs:element ref="xdm:comment"/>
3890+ <xs:element ref="xdm:text"/>
3891+ <xs:element ref="xdm:processing-instruction"/>
3892+ </xs:choice>
3893+ <xs:element ref="xdm:attribute" minOccurs="0" maxOccurs="unbounded"/>
3894+ </xs:choice>
3895+ </xs:complexType>
3896+
3897+ <xs:complexType name="zero-or-one-text-node-type">
3898+ <xs:sequence>
3899+ <xs:element ref="xdm:text" minOccurs="0"/>
3900+ </xs:sequence>
3901+ </xs:complexType>
3902+ <xs:complexType name="one-document-or-element-node-type">
3903+ <xs:choice>
3904+ <xs:element ref="xdm:document"/>
3905+ <xs:element ref="xdm:element"/>
3906+ </xs:choice>
3907+ </xs:complexType>
3908+
3909+ <xs:complexType name="nodes-sequence-no-namespaces-type">
3910+ <xs:choice minOccurs="0" maxOccurs="unbounded">
3911+ <xs:element ref="xdm:document"/>
3912+ <xs:element ref="xdm:element"/>
3913+ <xs:element ref="xdm:comment"/>
3914+ <xs:element ref="xdm:text"/>
3915+ <xs:element ref="xdm:processing-instruction"/>
3916+ <xs:element ref="xdm:attribute"/>
3917+ </xs:choice>
3918+ </xs:complexType>
3919+
3920+ <xs:complexType name="one-node-no-namespace-type">
3921+ <xs:choice>
3922+ <xs:element ref="xdm:document"/>
3923+ <xs:element ref="xdm:element"/>
3924+ <xs:element ref="xdm:comment"/>
3925+ <xs:element ref="xdm:text"/>
3926+ <xs:element ref="xdm:processing-instruction"/>
3927+ <xs:element ref="xdm:attribute"/>
3928+ </xs:choice>
3929+ </xs:complexType>
3930+</xs:schema>
3931
3932=== added file 'schemas/com/28msec/www/schemas/xdm.xsd'
3933--- schemas/com/28msec/www/schemas/xdm.xsd 1970-01-01 00:00:00 +0000
3934+++ schemas/com/28msec/www/schemas/xdm.xsd 2012-03-18 17:41:19 +0000
3935@@ -0,0 +1,276 @@
3936+<?xml version="1.0" encoding="UTF-8"?>
3937+<!--
3938+ ******************************************************
3939+ 28msec schema for representing an XDM instance as XML.
3940+ ******************************************************
3941+-->
3942+<xs:schema
3943+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
3944+ targetNamespace="http://www.28msec.com/schemas/xdm"
3945+ xmlns:xdm="http://www.28msec.com/schemas/xdm"
3946+ elementFormDefault="qualified">
3947+
3948+ <!--
3949+ ****************
3950+ The root element
3951+ ****************
3952+ -->
3953+ <xs:element name="sequence-of-items" type="xdm:sequence-of-items-type"/>
3954+
3955+ <!--
3956+ ************************************************
3957+ Serialization of an atomic item (type specified)
3958+ ************************************************
3959+ -->
3960+ <xs:element name="atomic-value">
3961+ <xs:complexType>
3962+ <xs:simpleContent>
3963+ <xs:extension base="xs:string">
3964+ <xs:attribute name="type" type="xs:QName"/>
3965+ </xs:extension>
3966+ </xs:simpleContent>
3967+ </xs:complexType>
3968+ </xs:element>
3969+
3970+ <!--
3971+ **********************************************************************************
3972+ XDM-to-XML Proprietary serialization: the seven kinds of nodes and their accessors
3973+ For each node kind, the accessors that are always empty are ignored.
3974+ **********************************************************************************
3975+ -->
3976+ <xs:element name="document">
3977+ <xs:complexType>
3978+ <xs:sequence>
3979+ <!--
3980+ dm:children($n as node()) as node()*
3981+
3982+ The dm:children accessor returns the children of a node as a sequence containing
3983+ zero or more nodes.
3984+ -->
3985+ <xs:element name="children" type="xdm:children-sequence-type" minOccurs="0"/>
3986+ </xs:sequence>
3987+ <!--
3988+ dm:base-uri($n as node()) as xs:anyURI?
3989+
3990+ The dm:base-uri accessor returns the base URI of a node as a sequence containing
3991+ zero or one URI reference. For more information about base URIs, see [XML Base].
3992+ -->
3993+ <xs:attribute name="base-uri" type="xs:anyURI" use="optional"/>
3994+ <!--
3995+ dm:document-uri($node as node()) as xs:anyURI?
3996+
3997+ The dm:document-uri accessor returns the absolute URI of the resource from which
3998+ the Document Node was constructed, if the absolute URI is available. If there is
3999+ no URI available, or if it cannot be made absolute when the Document Node is
4000+ constructed, or if it is used on a node other than a Document Node, the empty
4001+ sequence is returned.
4002+ -->
4003+ <xs:attribute name="document-uri" type="xs:anyURI" use="optional"/>
4004+ <!--
4005+ dm:reference-uri($node as node()) as xs:anyURI?
4006+
4007+ An additional, proprietary accessor reference-uri is used to store Sausalito's
4008+ UUID references.
4009+ -->
4010+ <xs:attribute name="reference-uri" type="xs:anyURI" use="optional"/>
4011+ </xs:complexType>
4012+ </xs:element>
4013+ <xs:element name="element">
4014+ <xs:complexType>
4015+ <xs:sequence>
4016+ <!--
4017+ dm:attributes($n as node()) as attribute()*
4018+
4019+ The dm:attributes accessor returns the attributes of a node as a sequence
4020+ containing zero or more Attribute Nodes. The order of Attribute Nodes is
4021+ stable but implementation dependent.
4022+ -->
4023+ <xs:element name="attributes" type="xdm:attributes-sequence-type" minOccurs="0"/>
4024+ <xs:element name="children" type="xdm:children-sequence-type" minOccurs="0"/>
4025+ <!--
4026+ dm:namespace-nodes($n as node()) as node()*
4027+
4028+ The dm:namespace-nodes accessor returns the dynamic, in-scope namespaces associated
4029+ with a node as a sequence containing zero or more Namespace Nodes. The order of Namespace
4030+ Nodes is stable but implementation dependent.
4031+ -->
4032+ <xs:element name="namespace-nodes" type="xdm:namespaces-sequence-type" minOccurs="0"/>
4033+ </xs:sequence>
4034+ <!--
4035+ dm:node-name($n as node()) as xs:QName?
4036+
4037+ The dm:node-name accessor returns the name of the node as a sequence of zero or one
4038+ xs:QNames. Note that the QName value includes an optional prefix as described in 3.3.3
4039+ QNames and NOTATIONS.
4040+ -->
4041+ <xs:attribute name="node-name" type="xs:QName"/>
4042+ <!--
4043+ dm:type-name($n as node()) as xs:QName?
4044+
4045+ The dm:type-name accessor returns the name of the schema type of a node as a sequence of
4046+ zero or one xs:QNames.
4047+ -->
4048+ <xs:attribute name="type-name" type="xs:QName"/>
4049+ <!--
4050+ dm:is-id($node as node()) as xs:boolean?
4051+
4052+ The dm:is-id accessor returns true if the node is an XML ID. Exactly what constitutes
4053+ an ID depends in part on how the data model was constructed, see 6.2 Element Nodes
4054+ and 6.3 Attribute Nodes.
4055+ -->
4056+ <xs:attribute name="is-id" type="xs:boolean" default="false"/>
4057+ <!--
4058+ dm:is-idrefs($node as node()) as xs:boolean?
4059+
4060+ The dm:is-idrefs accessor returns true if the node is an XML IDREF or IDREFS. Exactly
4061+ what constitutes an IDREF or IDREFS depends in part on how the data model was
4062+ constructed, see 6.2 Element Nodes and 6.3 Attribute Nodes.
4063+ -->
4064+ <xs:attribute name="is-idrefs" type="xs:boolean" default="false"/>
4065+ <!--
4066+ dm:nilled($n as node()) as xs:boolean?
4067+
4068+ The dm:nilled accessor returns true if the node is "nilled". [Schema Part 1] introduced
4069+ the nilled mechanism to signal that an element should be accepted as valid when it has
4070+ no content even when it has a content type which does not require or even necessarily
4071+ allow empty content.
4072+ -->
4073+ <xs:attribute name="nilled" type="xs:boolean" default="false"/>
4074+ <xs:attribute name="reference-uri" type="xs:anyURI" use="optional"/>
4075+ </xs:complexType>
4076+ </xs:element>
4077+ <xs:element name="attribute">
4078+ <xs:complexType>
4079+ <xs:simpleContent>
4080+ <xs:extension base="xs:string">
4081+ <xs:attribute name="node-name" type="xs:QName"/>
4082+ <xs:attribute name="type-name" type="xs:QName"/>
4083+ <xs:attribute name="is-id" type="xs:boolean" default="false"/>
4084+ <xs:attribute name="is-idrefs" type="xs:boolean" default="false"/>
4085+ <xs:attribute name="reference-uri" type="xs:anyURI" use="optional"/>
4086+ </xs:extension>
4087+ </xs:simpleContent>
4088+ </xs:complexType>
4089+ </xs:element>
4090+ <xs:element name="namespace">
4091+ <xs:complexType>
4092+ <xs:simpleContent>
4093+ <xs:extension base="xs:string">
4094+ <xs:attribute name="node-name" type="xs:QName"/>
4095+ <xs:attribute name="reference-uri" type="xs:anyURI" use="optional"/>
4096+ </xs:extension>
4097+ </xs:simpleContent>
4098+ </xs:complexType>
4099+ </xs:element>
4100+ <xs:element name="processing-instruction">
4101+ <xs:complexType>
4102+ <xs:simpleContent>
4103+ <xs:extension base="xs:string">
4104+ <xs:attribute name="node-name" type="xs:NCName"/>
4105+ <xs:attribute name="reference-uri" type="xs:anyURI" use="optional"/>
4106+ </xs:extension>
4107+ </xs:simpleContent>
4108+ </xs:complexType>
4109+ </xs:element>
4110+ <xs:element name="comment">
4111+ <xs:complexType>
4112+ <xs:simpleContent>
4113+ <xs:extension base="xs:string">
4114+ <xs:attribute name="reference-uri" type="xs:anyURI" use="optional"/>
4115+ </xs:extension>
4116+ </xs:simpleContent>
4117+ </xs:complexType>
4118+ </xs:element>
4119+ <xs:element name="text">
4120+ <xs:complexType>
4121+ <xs:simpleContent>
4122+ <xs:extension base="xs:string">
4123+ <xs:attribute name="reference-uri" type="xs:anyURI" use="optional"/>
4124+ </xs:extension>
4125+ </xs:simpleContent>
4126+ </xs:complexType>
4127+ </xs:element>
4128+
4129+ <!--
4130+ *************************************************************************************
4131+ Types that are sequences of items (restricted on the kinds of nodes that are allowed)
4132+ *************************************************************************************
4133+ -->
4134+ <xs:complexType name="sequence-of-items-type">
4135+ <xs:choice minOccurs="0" maxOccurs="unbounded">
4136+ <xs:element ref="xdm:document"/>
4137+ <xs:element ref="xdm:element"/>
4138+ <xs:element ref="xdm:comment"/>
4139+ <xs:element ref="xdm:text"/>
4140+ <xs:element ref="xdm:processing-instruction"/>
4141+ <xs:element ref="xdm:attribute"/>
4142+ <xs:element ref="xdm:namespace"/>
4143+ <xs:element ref="xdm:atomic-value"/>
4144+ </xs:choice>
4145+ </xs:complexType>
4146+
4147+ <xs:complexType name="attributes-sequence-type">
4148+ <xs:sequence minOccurs="0" maxOccurs="unbounded">
4149+ <xs:element ref="xdm:attribute"/>
4150+ </xs:sequence>
4151+ </xs:complexType>
4152+ <xs:complexType name="children-sequence-type">
4153+ <xs:choice minOccurs="0" maxOccurs="unbounded">
4154+ <xs:element ref="xdm:element"/>
4155+ <xs:element ref="xdm:comment"/>
4156+ <xs:element ref="xdm:text"/>
4157+ <xs:element ref="xdm:processing-instruction"/>
4158+ </xs:choice>
4159+ </xs:complexType>
4160+ <xs:complexType name="namespaces-sequence-type">
4161+ <xs:sequence>
4162+ <xs:element ref="xdm:namespace" minOccurs="0" maxOccurs="unbounded"/>
4163+ </xs:sequence>
4164+ </xs:complexType>
4165+
4166+ <xs:complexType name="children-or-attributes-sequence-type">
4167+ <xs:choice>
4168+ <xs:choice minOccurs="0" maxOccurs="unbounded">
4169+ <xs:element ref="xdm:element"/>
4170+ <xs:element ref="xdm:comment"/>
4171+ <xs:element ref="xdm:text"/>
4172+ <xs:element ref="xdm:processing-instruction"/>
4173+ </xs:choice>
4174+ <xs:element ref="xdm:attribute" minOccurs="0" maxOccurs="unbounded"/>
4175+ </xs:choice>
4176+ </xs:complexType>
4177+
4178+ <xs:complexType name="zero-or-one-text-node-type">
4179+ <xs:sequence>
4180+ <xs:element ref="xdm:text" minOccurs="0"/>
4181+ </xs:sequence>
4182+ </xs:complexType>
4183+ <xs:complexType name="one-document-or-element-node-type">
4184+ <xs:choice>
4185+ <xs:element ref="xdm:document"/>
4186+ <xs:element ref="xdm:element"/>
4187+ </xs:choice>
4188+ </xs:complexType>
4189+
4190+ <xs:complexType name="nodes-sequence-no-namespaces-type">
4191+ <xs:choice minOccurs="0" maxOccurs="unbounded">
4192+ <xs:element ref="xdm:document"/>
4193+ <xs:element ref="xdm:element"/>
4194+ <xs:element ref="xdm:comment"/>
4195+ <xs:element ref="xdm:text"/>
4196+ <xs:element ref="xdm:processing-instruction"/>
4197+ <xs:element ref="xdm:attribute"/>
4198+ </xs:choice>
4199+ </xs:complexType>
4200+
4201+ <xs:complexType name="one-node-no-namespace-type">
4202+ <xs:choice>
4203+ <xs:element ref="xdm:document"/>
4204+ <xs:element ref="xdm:element"/>
4205+ <xs:element ref="xdm:comment"/>
4206+ <xs:element ref="xdm:text"/>
4207+ <xs:element ref="xdm:processing-instruction"/>
4208+ <xs:element ref="xdm:attribute"/>
4209+ </xs:choice>
4210+ </xs:complexType>
4211+</xs:schema>
4212
4213=== added file 'schemas/com/CMakeLists.txt'
4214--- schemas/com/CMakeLists.txt 1970-01-01 00:00:00 +0000
4215+++ schemas/com/CMakeLists.txt 2012-03-18 17:41:19 +0000
4216@@ -0,0 +1,15 @@
4217+# Copyright 2006-2011 The FLWOR Foundation.
4218+#
4219+# Licensed under the Apache License, Version 2.0 (the "License");
4220+# you may not use this file except in compliance with the License.
4221+# You may obtain a copy of the License at
4222+#
4223+# http://www.apache.org/licenses/LICENSE-2.0
4224+#
4225+# Unless required by applicable law or agreed to in writing, software
4226+# distributed under the License is distributed on an "AS IS" BASIS,
4227+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
4228+# See the License for the specific language governing permissions and
4229+# limitations under the License.
4230+
4231+ADD_SUBDIRECTORY(28msec)
4232
4233=== added directory 'schemas/org'
4234=== added file 'schemas/org/CMakeLists.txt'
4235--- schemas/org/CMakeLists.txt 1970-01-01 00:00:00 +0000
4236+++ schemas/org/CMakeLists.txt 2012-03-18 17:41:19 +0000
4237@@ -0,0 +1,15 @@
4238+# Copyright 2006-2011 The FLWOR Foundation.
4239+#
4240+# Licensed under the Apache License, Version 2.0 (the "License");
4241+# you may not use this file except in compliance with the License.
4242+# You may obtain a copy of the License at
4243+#
4244+# http://www.apache.org/licenses/LICENSE-2.0
4245+#
4246+# Unless required by applicable law or agreed to in writing, software
4247+# distributed under the License is distributed on an "AS IS" BASIS,
4248+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
4249+# See the License for the specific language governing permissions and
4250+# limitations under the License.
4251+
4252+ADD_SUBDIRECTORY(w3)
4253
4254=== added directory 'schemas/org/w3'
4255=== added file 'schemas/org/w3/CMakeLists.txt'
4256--- schemas/org/w3/CMakeLists.txt 1970-01-01 00:00:00 +0000
4257+++ schemas/org/w3/CMakeLists.txt 2012-03-18 17:41:19 +0000
4258@@ -0,0 +1,15 @@
4259+# Copyright 2006-2011 The FLWOR Foundation.
4260+#
4261+# Licensed under the Apache License, Version 2.0 (the "License");
4262+# you may not use this file except in compliance with the License.
4263+# You may obtain a copy of the License at
4264+#
4265+# http://www.apache.org/licenses/LICENSE-2.0
4266+#
4267+# Unless required by applicable law or agreed to in writing, software
4268+# distributed under the License is distributed on an "AS IS" BASIS,
4269+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
4270+# See the License for the specific language governing permissions and
4271+# limitations under the License.
4272+
4273+ADD_SUBDIRECTORY(www)
4274
4275=== added directory 'schemas/org/w3/www'
4276=== added directory 'schemas/org/w3/www/2005'
4277=== added file 'schemas/org/w3/www/2005/CMakeLists.txt'
4278--- schemas/org/w3/www/2005/CMakeLists.txt 1970-01-01 00:00:00 +0000
4279+++ schemas/org/w3/www/2005/CMakeLists.txt 2012-03-18 17:41:19 +0000
4280@@ -0,0 +1,15 @@
4281+# Copyright 2006-2011 The FLWOR Foundation.
4282+#
4283+# Licensed under the Apache License, Version 2.0 (the "License");
4284+# you may not use this file except in compliance with the License.
4285+# You may obtain a copy of the License at
4286+#
4287+# http://www.apache.org/licenses/LICENSE-2.0
4288+#
4289+# Unless required by applicable law or agreed to in writing, software
4290+# distributed under the License is distributed on an "AS IS" BASIS,
4291+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
4292+# See the License for the specific language governing permissions and
4293+# limitations under the License.
4294+
4295+DECLARE_ZORBA_SCHEMA(URI "http://www.w3.org/2005/XQueryX" FILE XQueryX.xsd)
4296
4297=== added file 'schemas/org/w3/www/2005/XQueryX.xsd'
4298--- schemas/org/w3/www/2005/XQueryX.xsd 1970-01-01 00:00:00 +0000
4299+++ schemas/org/w3/www/2005/XQueryX.xsd 2012-03-18 17:41:19 +0000
4300@@ -0,0 +1,1962 @@
4301+<?xml version="1.0"?>
4302+<!-- ================================================================================ -->
4303+<!-- NOTES TO READERS OF THIS SCHEMA: -->
4304+<!-- The default value for both minOccurs and maxOccurs is "1". -->
4305+<!-- The XQueryX schema has been designed to provide the ability to extend definitions -->
4306+<!-- of top-level elements in extensions such as Full-Text and the Update Facility. -->
4307+<!-- The nature of the modification is to define named complex types and redefine -->
4308+<!-- those top-level elements in terms of the named complex types. -->
4309+<!-- ================================================================================ -->
4310+<!-- Changes from Recommendation (edition 1): -->
4311+<!-- * Element defs using anon complex types changed to use named types (bug #4924) -->
4312+<!-- * In Example 4, replaced xqx:parentheziedExpr with xqx:sequenceExpr (bug #4963) -->
4313+<!-- * In XSLT stylesheet, deleted template for xqx:parenthesizedExpr (bug #4963) -->
4314+<!-- * Replaced link to grammar applet with correct link (bug #5323) -->
4315+<!-- * In XSLT stylesheet, corrected template for xqx:namespaceDeclaration (bug #5343) -->
4316+<!-- Changes from Recommendation (edition 2): -->
4317+<!-- * Added support for new Windowing clause in FLWOR expression -->
4318+<!-- * Added support for new Group By Clause in FLWOR expression -->
4319+<!-- * Added support for new Count Clause in FLWOR expression -->
4320+<!-- * Added support for keyword "outer" on for expression -->
4321+<!-- * Modified structure of FLWOR clause per "simplified FLWOR expressions" -->
4322+<!-- * Modified validation syntax per Bugzilla Bug 5472 -->
4323+<!-- * Modified function declaration so that external functions can be nondeterminstic -->
4324+<!-- * Modified variable declaration so external variables can have an initial value -->
4325+<!-- * Added support for new try-catch expression -->
4326+<!-- * Added support for new decimal formatting declaration -->
4327+<!-- * Added support for encoding in the version declaration -->
4328+<!-- * Added support for new context item declaration -->
4329+<!-- * Added support for computed namespace constructor -->
4330+<!-- * Made changes triggered by Bugzilla Bugs 6309, 6310, and 6311 -->
4331+<!-- * Modified errlist syntax per Bugzilla Bug 7053 -->
4332+<!-- * Added support for public/private functions -->
4333+<!-- * Replaced "outer for" support with support for "allowing empty" -->
4334+<!-- * Added support for higher-order functions -->
4335+<!-- * Added support for value-based "switch" expression -->
4336+<!-- * Use pattern to prohibit "#)" in pragma contents per Bugzilla Bug 2711 -->
4337+<!-- * Changed functionItemExpr child element QName to be functionName for consistency -->
4338+<!-- * Replaced "public", "private", and "[non]deterministic" with %-annotations -->
4339+<!-- * Added EQName to permit "URI-literal":NCNAME as alternative to NCName:NCName -->
4340+<!-- * Changed type of atomicType to EQName, so it's really atomicOrUnionType -->
4341+<!-- ================================================================================ -->
4342+<!-- Errata applied: -->
4343+<!-- XQX.E1 - Editorial (Bugzilla Bug 4924) -->
4344+<!-- XQX.E7 - Substantive (Bugzilla Bug 2711) -->
4345+<!-- ================================================================================ -->
4346+<!-- Modifications: -->
4347+<!-- 2008-07-30 - Add XQuery 1.1 grouping and windowing support -->
4348+<!-- 2008-09-18 - Add XQuery 1.1 count and outer-for support, simplified FLWOR -->
4349+<!-- 2008-09-27 - Add validation type, nondeterministic function declarations, -->
4350+<!-- initial values for external variables, try-catch expression -->
4351+<!-- 2008-11-25 - Add support for number formatting, Snelson's version declaration -->
4352+<!-- proposal, context item declaration, computed namespace constructor,-->
4353+<!-- fixes for validate expression, and change to allow the count -->
4354+<!-- clause to only be an intermediate expression -->
4355+<!-- 2009-01-13 - Bugs 6309 and 6310 (fixes to details of certain windowing clauses -->
4356+<!-- 2009-03-03 - tumblingWindowClause syntax now matches slidingWindowClause syntax -->
4357+<!-- 2009-09-06 - Modified errlist syntax per Bugzilla Bug 7053 -->
4358+<!-- 2009-10-09 - Added support for private/public functions -->
4359+<!-- Replace "outer for" with "allowing empty" -->
4360+<!-- 2009-10-22 - Add support for higher-order functions & switch expression -->
4361+<!-- 2010-04-06 - Changed functionItemExpr child QName -> functionName (consistency) -->
4362+<!-- 2010-05-10 - Added %-annotation support for varDecl and functionDecl -->
4363+<!-- 2010-06-23 - Added support for partial function application -->
4364+<!-- 2011-02-02 - Added support for EQNames and atomicOrUnionType -->
4365+<!-- 2011-05-04 - Updated structure of catch component of try-catch expression -->
4366+<!-- 2011-05-04 - Updated validationexpr, mode/type alternatives, type is EQName -->
4367+<!-- ================================================================================ -->
4368+
4369+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
4370+ xmlns="http://www.w3.org/2005/XQueryX"
4371+ targetNamespace="http://www.w3.org/2005/XQueryX"
4372+ elementFormDefault="qualified" attributeFormDefault="qualified">
4373+
4374+
4375+<!-- A few helper declarations -->
4376+ <xsd:complexType name="emptyContent"/>
4377+
4378+ <xsd:element name="NCName" type="xsd:NCName"/>
4379+
4380+ <xsd:complexType name="QName">
4381+ <xsd:simpleContent>
4382+ <xsd:extension base="xsd:NCName">
4383+ <xsd:attribute name="prefix" type="xsd:NCName" use="optional"/>
4384+ </xsd:extension>
4385+ </xsd:simpleContent>
4386+ </xsd:complexType>
4387+
4388+ <xsd:complexType name="EQName">
4389+ <xsd:simpleContent>
4390+ <xsd:extension base="xsd:NCName">
4391+ <xsd:attribute name="prefix" type="xsd:NCName" use="optional"/>
4392+ <xsd:attribute name="URI" type="xsd:string" use="optional"/>
4393+ </xsd:extension>
4394+ </xsd:simpleContent>
4395+ </xsd:complexType>
4396+
4397+<!-- The base expression class -->
4398+ <xsd:complexType name="expr"/>
4399+
4400+ <xsd:element name="expr" type="expr" abstract="true"/>
4401+
4402+
4403+<!-- A list of expressions -->
4404+ <xsd:complexType name="exprList">
4405+ <xsd:sequence>
4406+ <xsd:element ref="expr" minOccurs="0" maxOccurs="unbounded"/>
4407+ </xsd:sequence>
4408+ </xsd:complexType>
4409+
4410+<!-- A list of expressions or placeholders -->
4411+<!-- 2010-06-23 - Added support for partial function application -->
4412+ <xsd:complexType name="exprOrPlaceholderList">
4413+ <xsd:sequence>
4414+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
4415+ <xsd:element ref="expr"/>
4416+ <xsd:element name="argumentPlaceholder" type="emptyContent"/>
4417+ </xsd:choice>
4418+ </xsd:sequence>
4419+ </xsd:complexType>
4420+
4421+<!-- A type to be used by elements that comprise an optional expr -->
4422+ <xsd:complexType name="exprWrapperOptional">
4423+ <xsd:sequence>
4424+ <xsd:element ref="expr" minOccurs="0"/>
4425+ </xsd:sequence>
4426+ </xsd:complexType>
4427+
4428+<!-- Simple wrapper class -->
4429+ <xsd:complexType name="exprWrapper">
4430+ <xsd:sequence>
4431+ <xsd:element ref="expr"/>
4432+ </xsd:sequence>
4433+ </xsd:complexType>
4434+
4435+<!-- constant expressions. We have 4 different subclasses for this -->
4436+ <xsd:complexType name="constantExpr">
4437+ <xsd:complexContent>
4438+ <xsd:extension base="expr">
4439+ <xsd:sequence>
4440+ <xsd:element name="value" type="xsd:anyType"/>
4441+ </xsd:sequence>
4442+ </xsd:extension>
4443+ </xsd:complexContent>
4444+ </xsd:complexType>
4445+
4446+ <xsd:element name="constantExpr" type="constantExpr" abstract="true"
4447+ substitutionGroup="expr"/>
4448+
4449+
4450+ <xsd:complexType name="integerConstantExpr">
4451+ <xsd:complexContent>
4452+ <xsd:restriction base="constantExpr">
4453+ <xsd:sequence>
4454+ <xsd:element name="value" type="xsd:integer"/>
4455+ </xsd:sequence>
4456+ </xsd:restriction>
4457+ </xsd:complexContent>
4458+ </xsd:complexType>
4459+
4460+ <xsd:element name="integerConstantExpr" type="integerConstantExpr"
4461+ substitutionGroup="constantExpr"/>
4462+
4463+
4464+ <xsd:complexType name="decimalConstantExpr">
4465+ <xsd:complexContent>
4466+ <xsd:restriction base="constantExpr">
4467+ <xsd:sequence>
4468+ <xsd:element name="value" type="xsd:decimal"/>
4469+ </xsd:sequence>
4470+ </xsd:restriction>
4471+ </xsd:complexContent>
4472+ </xsd:complexType>
4473+
4474+ <xsd:element name="decimalConstantExpr" type="decimalConstantExpr"
4475+ substitutionGroup="constantExpr"/>
4476+
4477+
4478+ <xsd:complexType name="doubleConstantExpr">
4479+ <xsd:complexContent>
4480+ <xsd:restriction base="constantExpr">
4481+ <xsd:sequence>
4482+ <xsd:element name="value" type="xsd:double"/>
4483+ </xsd:sequence>
4484+ </xsd:restriction>
4485+ </xsd:complexContent>
4486+ </xsd:complexType>
4487+
4488+ <xsd:element name="doubleConstantExpr" type="doubleConstantExpr"
4489+ substitutionGroup="constantExpr"/>
4490+
4491+
4492+ <xsd:complexType name="stringConstantExpr">
4493+ <xsd:complexContent>
4494+ <xsd:restriction base="constantExpr">
4495+ <xsd:sequence>
4496+ <xsd:element name="value" type="xsd:string"/>
4497+ </xsd:sequence>
4498+ </xsd:restriction>
4499+ </xsd:complexContent>
4500+ </xsd:complexType>
4501+
4502+ <xsd:element name="stringConstantExpr" type="stringConstantExpr"
4503+ substitutionGroup="constantExpr"/>
4504+
4505+
4506+<!-- Variables -->
4507+ <xsd:complexType name="varRef">
4508+ <xsd:complexContent>
4509+ <xsd:extension base="expr">
4510+ <xsd:sequence>
4511+ <xsd:element name="name" type="EQName"/>
4512+ </xsd:sequence>
4513+ </xsd:extension>
4514+ </xsd:complexContent>
4515+ </xsd:complexType>
4516+
4517+ <xsd:element name="varRef" type="varRef" substitutionGroup="expr"/>
4518+
4519+
4520+<!-- root and context-item expressions -->
4521+<!-- rootExpr deleted per Bugzilla Bug #2523 -->
4522+ <xsd:complexType name="contextItemExpr">
4523+ <xsd:complexContent>
4524+ <xsd:extension base="expr"/>
4525+ </xsd:complexContent>
4526+ </xsd:complexType>
4527+
4528+ <xsd:element name="contextItemExpr" type="contextItemExpr"
4529+ substitutionGroup="expr"/>
4530+
4531+
4532+<!-- Pragmas and extension expressions -->
4533+<!-- 2010-01-01, JM replaced pragmaContents elem def'n with one that has a pattern -->
4534+ <xsd:complexType name="pragma">
4535+ <xsd:sequence>
4536+ <xsd:element name="pragmaName" type="EQName"/>
4537+ <xsd:element name="pragmaContents">
4538+ <xsd:simpleType>
4539+ <xsd:restriction base="xsd:string">
4540+ <xsd:pattern value="(([^#]|#+[^\)#])*#*)"/>
4541+ </xsd:restriction>
4542+ </xsd:simpleType>
4543+ </xsd:element>
4544+ </xsd:sequence>
4545+ </xsd:complexType>
4546+
4547+ <xsd:element name="pragma" type="pragma"/>
4548+
4549+
4550+ <xsd:complexType name="extensionExpr">
4551+ <xsd:complexContent>
4552+ <xsd:extension base="expr">
4553+ <xsd:sequence>
4554+ <xsd:element ref="pragma" maxOccurs="unbounded"/>
4555+ <xsd:element name="argExpr" type="exprWrapper" minOccurs="0"/>
4556+ </xsd:sequence>
4557+ </xsd:extension>
4558+ </xsd:complexContent>
4559+ </xsd:complexType>
4560+
4561+ <xsd:element name="extensionExpr" type="extensionExpr"
4562+ substitutionGroup="expr"/>
4563+
4564+
4565+<!-- Function call expressions -->
4566+<!-- 2010-06-23 - Added support for partial function application -->
4567+ <xsd:complexType name="functionCallExpr">
4568+ <xsd:complexContent>
4569+ <xsd:extension base="expr">
4570+ <xsd:sequence>
4571+ <xsd:element name="functionName" type="EQName"/>
4572+ <xsd:element name="arguments" type="exprOrPlaceholderList" minOccurs="0"/>
4573+ </xsd:sequence>
4574+ </xsd:extension>
4575+ </xsd:complexContent>
4576+ </xsd:complexType>
4577+
4578+ <xsd:element name="functionCallExpr" type="functionCallExpr"
4579+ substitutionGroup="expr"/>
4580+
4581+
4582+<!-- Constructor functions -->
4583+ <xsd:complexType name="constructorFunctionExpr">
4584+ <xsd:complexContent>
4585+ <xsd:extension base="expr">
4586+ <xsd:sequence>
4587+ <xsd:element name="typeName" type="EQName"/>
4588+ <xsd:element name="argExpr" type="exprWrapper"/>
4589+ </xsd:sequence>
4590+ </xsd:extension>
4591+ </xsd:complexContent>
4592+ </xsd:complexType>
4593+
4594+ <xsd:element name="constructorFunctionExpr" type="constructorFunctionExpr"
4595+ substitutionGroup="expr"/>
4596+
4597+
4598+<!-- Sequence expressions -->
4599+ <xsd:complexType name="sequenceExpr">
4600+ <xsd:complexContent>
4601+ <xsd:extension base="expr">
4602+ <xsd:sequence>
4603+ <xsd:element ref="expr" minOccurs="0" maxOccurs="unbounded"/>
4604+ </xsd:sequence>
4605+ </xsd:extension>
4606+ </xsd:complexContent>
4607+ </xsd:complexType>
4608+
4609+ <xsd:element name="sequenceExpr" type="sequenceExpr" substitutionGroup="expr"/>
4610+
4611+
4612+ <xsd:complexType name="rangeSequenceExpr">
4613+ <xsd:complexContent>
4614+ <xsd:extension base="expr">
4615+ <xsd:sequence>
4616+ <xsd:element name="startExpr" type="exprWrapper"/>
4617+ <xsd:element name="endExpr" type="exprWrapper"/>
4618+ </xsd:sequence>
4619+ </xsd:extension>
4620+ </xsd:complexContent>
4621+ </xsd:complexType>
4622+
4623+ <xsd:element name="rangeSequenceExpr" type="rangeSequenceExpr"
4624+ substitutionGroup="expr"/>
4625+
4626+
4627+<!-- Builtin operator expressions -->
4628+ <xsd:complexType name="operatorExpr">
4629+ <xsd:complexContent>
4630+ <xsd:extension base="expr"/>
4631+ </xsd:complexContent>
4632+ </xsd:complexType>
4633+
4634+
4635+ <xsd:complexType name="unaryOperatorExpr">
4636+ <xsd:complexContent>
4637+ <xsd:extension base="operatorExpr">
4638+ <xsd:sequence>
4639+ <xsd:element name="operand" type="exprWrapper"/>
4640+ </xsd:sequence>
4641+ </xsd:extension>
4642+ </xsd:complexContent>
4643+ </xsd:complexType>
4644+
4645+
4646+ <xsd:complexType name="binaryOperatorExpr">
4647+ <xsd:complexContent>
4648+ <xsd:extension base="operatorExpr">
4649+ <xsd:sequence>
4650+ <xsd:element name="firstOperand" type="exprWrapper"/>
4651+ <xsd:element name="secondOperand" type="exprWrapper"/>
4652+ </xsd:sequence>
4653+ </xsd:extension>
4654+ </xsd:complexContent>
4655+ </xsd:complexType>
4656+
4657+
4658+ <xsd:element name="operatorExpr" type="operatorExpr"
4659+ abstract="true" substitutionGroup="expr"/>
4660+
4661+ <xsd:element name="arithmeticOp" type="operatorExpr"
4662+ abstract="true" substitutionGroup="operatorExpr"/>
4663+
4664+ <xsd:element name="addOp" type="binaryOperatorExpr"
4665+ substitutionGroup="arithmeticOp"/>
4666+
4667+ <xsd:element name="subtractOp" type="binaryOperatorExpr"
4668+ substitutionGroup="arithmeticOp"/>
4669+
4670+ <xsd:element name="multiplyOp" type="binaryOperatorExpr"
4671+ substitutionGroup="arithmeticOp"/>
4672+
4673+ <xsd:element name="divOp" type="binaryOperatorExpr"
4674+ substitutionGroup="arithmeticOp"/>
4675+
4676+ <xsd:element name="idivOp" type="binaryOperatorExpr"
4677+ substitutionGroup="arithmeticOp"/>
4678+
4679+ <xsd:element name="modOp" type="binaryOperatorExpr"
4680+ substitutionGroup="arithmeticOp"/>
4681+
4682+ <xsd:element name="unaryMinusOp" type="unaryOperatorExpr"
4683+ substitutionGroup="arithmeticOp"/>
4684+
4685+ <xsd:element name="unaryPlusOp" type="unaryOperatorExpr"
4686+ substitutionGroup="arithmeticOp"/>
4687+
4688+ <xsd:element name="comparisonOp" type="binaryOperatorExpr" abstract="true"
4689+ substitutionGroup="operatorExpr"/>
4690+
4691+ <xsd:element name="valueComparisonOp" type="binaryOperatorExpr" abstract="true"
4692+ substitutionGroup="operatorExpr"/>
4693+
4694+ <xsd:element name="eqOp" type="binaryOperatorExpr"
4695+ substitutionGroup="valueComparisonOp"/>
4696+
4697+ <xsd:element name="neOp" type="binaryOperatorExpr"
4698+ substitutionGroup="valueComparisonOp"/>
4699+
4700+ <xsd:element name="gtOp" type="binaryOperatorExpr"
4701+ substitutionGroup="valueComparisonOp"/>
4702+
4703+ <xsd:element name="geOp" type="binaryOperatorExpr"
4704+ substitutionGroup="valueComparisonOp"/>
4705+
4706+ <xsd:element name="ltOp" type="binaryOperatorExpr"
4707+ substitutionGroup="valueComparisonOp"/>
4708+
4709+ <xsd:element name="leOp" type="binaryOperatorExpr"
4710+ substitutionGroup="valueComparisonOp"/>
4711+
4712+ <xsd:element name="generalComparisonOp" type="binaryOperatorExpr" abstract="true"
4713+ substitutionGroup="operatorExpr"/>
4714+
4715+ <xsd:element name="equalOp" type="binaryOperatorExpr"
4716+ substitutionGroup="generalComparisonOp"/>
4717+
4718+ <xsd:element name="notEqualOp" type="binaryOperatorExpr"
4719+ substitutionGroup="generalComparisonOp"/>
4720+
4721+ <xsd:element name="lessThanOp" type="binaryOperatorExpr"
4722+ substitutionGroup="generalComparisonOp"/>
4723+
4724+ <xsd:element name="lessThanOrEqualOp" type="binaryOperatorExpr"
4725+ substitutionGroup="generalComparisonOp"/>
4726+
4727+ <xsd:element name="greaterThanOp" type="binaryOperatorExpr"
4728+ substitutionGroup="generalComparisonOp"/>
4729+
4730+ <xsd:element name="greaterThanOrEqualOp" type="binaryOperatorExpr"
4731+ substitutionGroup="generalComparisonOp"/>
4732+
4733+ <xsd:element name="nodeComparisonOp" type="binaryOperatorExpr" abstract="true"
4734+ substitutionGroup="operatorExpr"/>
4735+
4736+ <xsd:element name="isOp" type="binaryOperatorExpr"
4737+ substitutionGroup="nodeComparisonOp"/>
4738+
4739+ <xsd:element name="orderComparisonOp" type="binaryOperatorExpr" abstract="true"
4740+ substitutionGroup="operatorExpr"/>
4741+
4742+ <xsd:element name="nodeBeforeOp" type="binaryOperatorExpr"
4743+ substitutionGroup="orderComparisonOp"/>
4744+
4745+ <xsd:element name="nodeAfterOp" type="binaryOperatorExpr"
4746+ substitutionGroup="orderComparisonOp"/>
4747+
4748+ <xsd:element name="logicalOp" type="binaryOperatorExpr" abstract="true"
4749+ substitutionGroup="operatorExpr"/>
4750+
4751+ <xsd:element name="andOp" type="binaryOperatorExpr"
4752+ substitutionGroup="logicalOp"/>
4753+
4754+ <xsd:element name="orOp" type="binaryOperatorExpr"
4755+ substitutionGroup="logicalOp"/>
4756+
4757+ <xsd:element name="setOp" type="binaryOperatorExpr"
4758+ abstract="true" substitutionGroup="operatorExpr"/>
4759+
4760+ <xsd:element name="unionOp" type="binaryOperatorExpr"
4761+ substitutionGroup="setOp"/>
4762+
4763+ <xsd:element name="intersectOp" type="binaryOperatorExpr"
4764+ substitutionGroup="setOp"/>
4765+
4766+ <xsd:element name="exceptOp" type="binaryOperatorExpr"
4767+ substitutionGroup="setOp"/>
4768+
4769+
4770+<!-- Basic typenames -->
4771+<!-- By changing the type attribute from QName to EQName, this is now atomicOrUnionType -->
4772+<!-- However, for backwards compatibility w/XQueryX 1.0, the name had to stay the same-->
4773+ <xsd:element name="atomicType" type="EQName" substitutionGroup="itemType"/>
4774+
4775+
4776+<!-- Used in castable expression and cast expression -->
4777+ <xsd:complexType name="singleType">
4778+ <xsd:sequence>
4779+ <xsd:element ref="atomicType"/>
4780+ <xsd:element name="optional" type="emptyContent" minOccurs="0"/>
4781+ </xsd:sequence>
4782+ </xsd:complexType>
4783+
4784+ <xsd:element name="singleType" type="singleType"/>
4785+
4786+
4787+<!-- Item type schema types and elements -->
4788+ <xsd:element name="itemType" abstract="true"/>
4789+
4790+
4791+ <xsd:complexType name="emptyItemTypeContent"/>
4792+
4793+ <xsd:element name="anyItemType" type="emptyItemTypeContent"
4794+ substitutionGroup="itemType"/>
4795+
4796+
4797+ <xsd:simpleType name="occurrenceIndicator">
4798+ <xsd:restriction base="xsd:string">
4799+ <xsd:enumeration value="?"/>
4800+ <xsd:enumeration value="*"/>
4801+ <xsd:enumeration value="+"/>
4802+ </xsd:restriction>
4803+ </xsd:simpleType>
4804+
4805+
4806+<!-- Sequence type -->
4807+ <xsd:complexType name="sequenceType">
4808+ <xsd:choice>
4809+ <xsd:element name="voidSequenceType" type="emptyContent"/>
4810+ <xsd:sequence>
4811+ <xsd:element ref="itemType"/>
4812+ <xsd:element name="occurrenceIndicator" type="occurrenceIndicator"
4813+ minOccurs="0"/>
4814+ </xsd:sequence>
4815+ </xsd:choice>
4816+ </xsd:complexType>
4817+
4818+ <xsd:element name="sequenceType" type="sequenceType"/>
4819+
4820+ <xsd:element name="typeDeclaration" type="sequenceType"/>
4821+
4822+
4823+<!-- Represents a "typed" variable (for clause, let clause etc) -->
4824+ <xsd:complexType name="typedVariableBinding">
4825+ <xsd:sequence>
4826+ <xsd:element name="varName" type="EQName"/>
4827+ <xsd:element ref="typeDeclaration" minOccurs="0"/>
4828+ </xsd:sequence>
4829+ </xsd:complexType>
4830+
4831+ <xsd:element name="typedVariableBinding" type="typedVariableBinding"/>
4832+
4833+
4834+<!-- Represents an untyped variable for the "at" clause in a for clause -->
4835+ <xsd:element name="positionalVariableBinding" type="EQName"/>
4836+
4837+ <xsd:element name="variableBinding" type="EQName"/>
4838+
4839+
4840+<!-- Represents all variable bindings in a for or let clause except typed and -->
4841+<!-- positional variable bindings -->
4842+ <xsd:element name="forLetClauseItemExtensions" abstract="true"/>
4843+
4844+
4845+<!-- Major syntax productions: FLWOR clause components -->
4846+<!-- for clause -->
4847+ <xsd:complexType name="forClauseItem">
4848+ <xsd:sequence>
4849+ <xsd:element ref="typedVariableBinding"/>
4850+ <xsd:element name="allowingEmpty" type="emptyContent"
4851+ minOccurs="0"/>
4852+ <xsd:element ref="positionalVariableBinding" minOccurs="0" maxOccurs="1"/>
4853+ <xsd:element ref="forLetClauseItemExtensions" minOccurs="0"
4854+ maxOccurs="unbounded"/>
4855+ <xsd:element name="forExpr" type="exprWrapper"/>
4856+ </xsd:sequence>
4857+ </xsd:complexType>
4858+
4859+ <xsd:element name="forClauseItem" type="forClauseItem"/>
4860+
4861+
4862+ <xsd:complexType name="forClause">
4863+ <xsd:sequence>
4864+ <xsd:element ref="forClauseItem" minOccurs="1" maxOccurs="unbounded"/>
4865+ </xsd:sequence>
4866+ </xsd:complexType>
4867+
4868+ <xsd:element name="forClause" type="forClause"/>
4869+
4870+
4871+<!-- let clause -->
4872+ <xsd:complexType name="letClauseItem">
4873+ <xsd:sequence>
4874+ <xsd:choice>
4875+ <xsd:sequence>
4876+ <xsd:element ref="typedVariableBinding"/>
4877+ <xsd:element ref="forLetClauseItemExtensions"
4878+ minOccurs="0" maxOccurs="unbounded"/>
4879+ </xsd:sequence>
4880+ <xsd:element ref="forLetClauseItemExtensions"
4881+ minOccurs="0" maxOccurs="unbounded"/>
4882+ </xsd:choice>
4883+ <xsd:element name="letExpr" type="exprWrapper"/>
4884+ </xsd:sequence>
4885+ </xsd:complexType>
4886+
4887+ <xsd:element name="letClauseItem" type="letClauseItem"/>
4888+
4889+
4890+ <xsd:complexType name="letClause">
4891+ <xsd:sequence>
4892+ <xsd:element ref="letClauseItem" maxOccurs="unbounded"/>
4893+ </xsd:sequence>
4894+ </xsd:complexType>
4895+
4896+ <xsd:element name="letClause" type="letClause"/>
4897+
4898+
4899+<!-- This is the windowClause (part of FLWOR expression) -->
4900+<!-- It corresponds to the following XQuery grammar -->
4901+<!-- WindowClause ::= "for" (TumblingWindowClause | SlidingWindowClause) -->
4902+ <xsd:complexType name="windowClause">
4903+ <xsd:choice>
4904+ <xsd:element ref="tumblingWindowClause"/>
4905+ <xsd:element ref="slidingWindowClause"/>
4906+ </xsd:choice>
4907+ </xsd:complexType>
4908+
4909+ <xsd:element name="windowClause" type="windowClause"/>
4910+
4911+
4912+<!-- This is the tumblingWindowClause -->
4913+<!-- It corresponds to the following XQuery grammar -->
4914+<!-- TumblingWindowClause ::= "tumbling" "window" "$" VarName TypeDeclaration? -->
4915+<!-- "in" ExprSingle WindowStartCondition WindowEndCondition? -->
4916+ <xsd:complexType name="tumblingWindowClause">
4917+ <xsd:sequence>
4918+ <xsd:element ref="typedVariableBinding"/>
4919+ <xsd:element name="bindingSequence" type="exprWrapper"/>
4920+ <xsd:element ref="windowStartCondition"/>
4921+ <xsd:element ref="windowEndCondition" minOccurs="0"/>
4922+ </xsd:sequence>
4923+ </xsd:complexType>
4924+
4925+ <xsd:element name="tumblingWindowClause" type="tumblingWindowClause"/>
4926+
4927+
4928+<!-- This is the slidingWindowClause -->
4929+<!-- It corresponds to the following XQuery grammar -->
4930+<!-- SlidingWindowClause ::= "sliding" "window" "$" VarName TypeDeclaration? -->
4931+<!-- "in" ExprSingle WindowStartCondition WindowEndCondition -->
4932+ <xsd:complexType name="slidingWindowClause">
4933+ <xsd:sequence>
4934+ <xsd:element ref="typedVariableBinding"/>
4935+ <xsd:element name="bindingSequence" type="exprWrapper"/>
4936+ <xsd:element ref="windowStartCondition"/>
4937+ <xsd:element ref="windowEndCondition"/>
4938+ </xsd:sequence>
4939+ </xsd:complexType>
4940+
4941+ <xsd:element name="slidingWindowClause" type="slidingWindowClause"/>
4942+
4943+
4944+<!-- windowStartCondition -->
4945+<!-- Corresponds to the following XQuery grammar -->
4946+<!-- WindowStartCondition ::= "start" WindowVars "when" ExprSingle -->
4947+ <xsd:complexType name="windowStartCondition">
4948+ <xsd:sequence>
4949+ <xsd:element ref="windowVars" minOccurs="0"/>
4950+ <xsd:element name="winStartExpr" type="exprWrapper"/>
4951+ </xsd:sequence>
4952+ </xsd:complexType>
4953+
4954+ <xsd:element name="windowStartCondition" type="windowStartCondition"/>
4955+
4956+
4957+<!-- windowEndCondition -->
4958+<!-- Corresponds to the following XQuery grammar -->
4959+<!-- WindowEndCondition ::= "only"? "end" WindowVars "when" ExprSingle -->
4960+ <xsd:complexType name="windowEndCondition">
4961+ <xsd:sequence>
4962+ <xsd:element ref="windowVars" minOccurs="0"/>
4963+ <xsd:element name="winEndExpr" type="exprWrapper"/>
4964+ </xsd:sequence>
4965+ <xsd:attribute name="onlyEnd" type="xsd:boolean" default="false"/>
4966+ </xsd:complexType>
4967+
4968+ <xsd:element name="windowEndCondition" type="windowEndCondition"/>
4969+
4970+
4971+<!-- windowVars -->
4972+<!-- Corresponds to the following XQuery grammar -->
4973+<!-- WindowVars ::= ("$" \)? PositionalVar? ("previous" "$" PreviousItem)? -->
4974+<!-- ("next" "$" NextItem)? -->
4975+ <xsd:complexType name="windowVars">
4976+ <xsd:sequence>
4977+ <xsd:element name="currentItem" type="EQName" minOccurs="0"/>
4978+ <xsd:element ref="positionalVariableBinding" minOccurs="0"/>
4979+ <xsd:element name="previousItem" type="EQName" minOccurs="0"/>
4980+ <xsd:element name="nextItem" type="EQName" minOccurs="0"/>
4981+ </xsd:sequence>
4982+ </xsd:complexType>
4983+
4984+ <xsd:element name="windowVars" type="windowVars"/>
4985+
4986+
4987+<!-- countClause (part of FLWOR expression) -->
4988+ <xsd:complexType name="countClause">
4989+ <xsd:sequence>
4990+ <xsd:element ref="varRef"/>
4991+ </xsd:sequence>
4992+ </xsd:complexType>
4993+
4994+ <xsd:element name="countClause" type="countClause"/>
4995+
4996+
4997+<!-- whereClause (part of FLWOR expression) -->
4998+ <xsd:element name="whereClause" type="exprWrapper"/>
4999+
5000+
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches