dsp-tools 0.9.13__py3-none-any.whl → 18.3.0.post13__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- dsp_tools/__init__.py +5 -0
- dsp_tools/cli/args.py +47 -0
- dsp_tools/cli/call_action.py +85 -0
- dsp_tools/cli/call_action_files_only.py +101 -0
- dsp_tools/cli/call_action_with_network.py +207 -0
- dsp_tools/cli/create_parsers.py +479 -0
- dsp_tools/cli/entry_point.py +322 -0
- dsp_tools/cli/utils.py +87 -0
- dsp_tools/clients/CLAUDE.md +420 -0
- dsp_tools/clients/authentication_client.py +14 -0
- dsp_tools/clients/authentication_client_live.py +66 -0
- dsp_tools/clients/connection.py +35 -0
- dsp_tools/clients/connection_live.py +233 -0
- dsp_tools/clients/fuseki_metrics.py +60 -0
- dsp_tools/clients/group_user_clients.py +35 -0
- dsp_tools/clients/group_user_clients_live.py +181 -0
- dsp_tools/clients/legal_info_client.py +23 -0
- dsp_tools/clients/legal_info_client_live.py +132 -0
- dsp_tools/clients/list_client.py +49 -0
- dsp_tools/clients/list_client_live.py +166 -0
- dsp_tools/clients/metadata_client.py +24 -0
- dsp_tools/clients/metadata_client_live.py +47 -0
- dsp_tools/clients/ontology_clients.py +49 -0
- dsp_tools/clients/ontology_create_client_live.py +166 -0
- dsp_tools/clients/ontology_get_client_live.py +80 -0
- dsp_tools/clients/permissions_client.py +68 -0
- dsp_tools/clients/project_client.py +16 -0
- dsp_tools/clients/project_client_live.py +66 -0
- dsp_tools/commands/create/communicate_problems.py +24 -0
- dsp_tools/commands/create/create.py +134 -0
- dsp_tools/commands/create/create_on_server/cardinalities.py +111 -0
- dsp_tools/commands/create/create_on_server/classes.py +99 -0
- dsp_tools/commands/create/create_on_server/complete_ontologies.py +116 -0
- dsp_tools/commands/create/create_on_server/default_permissions.py +134 -0
- dsp_tools/commands/create/create_on_server/group_users.py +165 -0
- dsp_tools/commands/create/create_on_server/lists.py +163 -0
- dsp_tools/commands/create/create_on_server/mappers.py +12 -0
- dsp_tools/commands/create/create_on_server/onto_utils.py +74 -0
- dsp_tools/commands/create/create_on_server/ontology.py +52 -0
- dsp_tools/commands/create/create_on_server/project.py +68 -0
- dsp_tools/commands/create/create_on_server/properties.py +119 -0
- dsp_tools/commands/create/exceptions.py +29 -0
- dsp_tools/commands/create/lists_only.py +66 -0
- dsp_tools/commands/create/models/create_problems.py +87 -0
- dsp_tools/commands/create/models/parsed_ontology.py +88 -0
- dsp_tools/commands/create/models/parsed_project.py +81 -0
- dsp_tools/commands/create/models/rdf_ontology.py +12 -0
- dsp_tools/commands/create/models/server_project_info.py +100 -0
- dsp_tools/commands/create/parsing/parse_lists.py +45 -0
- dsp_tools/commands/create/parsing/parse_ontology.py +243 -0
- dsp_tools/commands/create/parsing/parse_project.py +149 -0
- dsp_tools/commands/create/parsing/parsing_utils.py +40 -0
- dsp_tools/commands/create/project_validate.py +595 -0
- dsp_tools/commands/create/serialisation/ontology.py +119 -0
- dsp_tools/commands/create/serialisation/project.py +44 -0
- dsp_tools/commands/excel2json/CLAUDE.md +101 -0
- dsp_tools/commands/excel2json/json_header.py +321 -0
- dsp_tools/commands/excel2json/lists/__init__.py +0 -0
- dsp_tools/commands/excel2json/lists/compliance_checks.py +292 -0
- dsp_tools/commands/excel2json/lists/make_lists.py +247 -0
- dsp_tools/commands/excel2json/lists/models/__init__.py +0 -0
- dsp_tools/commands/excel2json/lists/models/deserialise.py +30 -0
- dsp_tools/commands/excel2json/lists/models/input_error.py +216 -0
- dsp_tools/commands/excel2json/lists/models/serialise.py +57 -0
- dsp_tools/commands/excel2json/lists/utils.py +81 -0
- dsp_tools/commands/excel2json/models/__init__.py +0 -0
- dsp_tools/commands/excel2json/models/input_error.py +416 -0
- dsp_tools/commands/excel2json/models/json_header.py +175 -0
- dsp_tools/commands/excel2json/models/list_node_name.py +16 -0
- dsp_tools/commands/excel2json/models/ontology.py +76 -0
- dsp_tools/commands/excel2json/old_lists.py +328 -0
- dsp_tools/commands/excel2json/project.py +280 -0
- dsp_tools/commands/excel2json/properties.py +370 -0
- dsp_tools/commands/excel2json/resources.py +336 -0
- dsp_tools/commands/excel2json/utils.py +352 -0
- dsp_tools/commands/excel2xml/__init__.py +7 -0
- dsp_tools/commands/excel2xml/excel2xml_cli.py +523 -0
- dsp_tools/commands/excel2xml/excel2xml_lib.py +1953 -0
- dsp_tools/commands/excel2xml/propertyelement.py +47 -0
- dsp_tools/commands/get/__init__.py +0 -0
- dsp_tools/commands/get/get.py +166 -0
- dsp_tools/commands/get/get_permissions.py +257 -0
- dsp_tools/commands/get/get_permissions_legacy.py +89 -0
- dsp_tools/commands/get/legacy_models/__init__.py +0 -0
- dsp_tools/commands/get/legacy_models/context.py +318 -0
- dsp_tools/commands/get/legacy_models/group.py +241 -0
- dsp_tools/commands/get/legacy_models/helpers.py +47 -0
- dsp_tools/commands/get/legacy_models/listnode.py +390 -0
- dsp_tools/commands/get/legacy_models/model.py +12 -0
- dsp_tools/commands/get/legacy_models/ontology.py +324 -0
- dsp_tools/commands/get/legacy_models/project.py +366 -0
- dsp_tools/commands/get/legacy_models/propertyclass.py +417 -0
- dsp_tools/commands/get/legacy_models/resourceclass.py +676 -0
- dsp_tools/commands/get/legacy_models/user.py +438 -0
- dsp_tools/commands/get/models/__init__.py +0 -0
- dsp_tools/commands/get/models/permissions_models.py +10 -0
- dsp_tools/commands/id2iri.py +258 -0
- dsp_tools/commands/ingest_xmlupload/__init__.py +0 -0
- dsp_tools/commands/ingest_xmlupload/bulk_ingest_client.py +178 -0
- dsp_tools/commands/ingest_xmlupload/create_resources/__init__.py +0 -0
- dsp_tools/commands/ingest_xmlupload/create_resources/apply_ingest_id.py +69 -0
- dsp_tools/commands/ingest_xmlupload/create_resources/upload_xml.py +166 -0
- dsp_tools/commands/ingest_xmlupload/create_resources/user_information.py +121 -0
- dsp_tools/commands/ingest_xmlupload/ingest_files/__init__.py +0 -0
- dsp_tools/commands/ingest_xmlupload/ingest_files/ingest_files.py +64 -0
- dsp_tools/commands/ingest_xmlupload/upload_files/__init__.py +0 -0
- dsp_tools/commands/ingest_xmlupload/upload_files/filechecker.py +20 -0
- dsp_tools/commands/ingest_xmlupload/upload_files/input_error.py +57 -0
- dsp_tools/commands/ingest_xmlupload/upload_files/upload_failures.py +66 -0
- dsp_tools/commands/ingest_xmlupload/upload_files/upload_files.py +67 -0
- dsp_tools/commands/resume_xmlupload/__init__.py +0 -0
- dsp_tools/commands/resume_xmlupload/resume_xmlupload.py +96 -0
- dsp_tools/commands/start_stack.py +428 -0
- dsp_tools/commands/update_legal/CLAUDE.md +344 -0
- dsp_tools/commands/update_legal/__init__.py +0 -0
- dsp_tools/commands/update_legal/core.py +182 -0
- dsp_tools/commands/update_legal/csv_operations.py +135 -0
- dsp_tools/commands/update_legal/models.py +87 -0
- dsp_tools/commands/update_legal/xml_operations.py +247 -0
- dsp_tools/commands/validate_data/CLAUDE.md +159 -0
- dsp_tools/commands/validate_data/__init__.py +0 -0
- dsp_tools/commands/validate_data/constants.py +59 -0
- dsp_tools/commands/validate_data/mappers.py +143 -0
- dsp_tools/commands/validate_data/models/__init__.py +0 -0
- dsp_tools/commands/validate_data/models/api_responses.py +45 -0
- dsp_tools/commands/validate_data/models/input_problems.py +119 -0
- dsp_tools/commands/validate_data/models/rdf_like_data.py +117 -0
- dsp_tools/commands/validate_data/models/validation.py +106 -0
- dsp_tools/commands/validate_data/prepare_data/__init__.py +0 -0
- dsp_tools/commands/validate_data/prepare_data/get_rdf_like_data.py +296 -0
- dsp_tools/commands/validate_data/prepare_data/make_data_graph.py +91 -0
- dsp_tools/commands/validate_data/prepare_data/prepare_data.py +184 -0
- dsp_tools/commands/validate_data/process_validation_report/__init__.py +0 -0
- dsp_tools/commands/validate_data/process_validation_report/get_user_validation_message.py +358 -0
- dsp_tools/commands/validate_data/process_validation_report/query_validation_result.py +507 -0
- dsp_tools/commands/validate_data/process_validation_report/reformat_validation_results.py +150 -0
- dsp_tools/commands/validate_data/shacl_cli_validator.py +70 -0
- dsp_tools/commands/validate_data/sparql/__init__.py +0 -0
- dsp_tools/commands/validate_data/sparql/cardinality_shacl.py +209 -0
- dsp_tools/commands/validate_data/sparql/construct_shacl.py +92 -0
- dsp_tools/commands/validate_data/sparql/legal_info_shacl.py +36 -0
- dsp_tools/commands/validate_data/sparql/value_shacl.py +357 -0
- dsp_tools/commands/validate_data/utils.py +59 -0
- dsp_tools/commands/validate_data/validate_data.py +283 -0
- dsp_tools/commands/validate_data/validation/__init__.py +0 -0
- dsp_tools/commands/validate_data/validation/check_duplicate_files.py +55 -0
- dsp_tools/commands/validate_data/validation/check_for_unknown_classes.py +67 -0
- dsp_tools/commands/validate_data/validation/get_validation_report.py +94 -0
- dsp_tools/commands/validate_data/validation/validate_ontology.py +107 -0
- dsp_tools/commands/xmlupload/CLAUDE.md +292 -0
- dsp_tools/commands/xmlupload/__init__.py +0 -0
- dsp_tools/commands/xmlupload/iri_resolver.py +21 -0
- dsp_tools/commands/xmlupload/make_rdf_graph/__init__.py +0 -0
- dsp_tools/commands/xmlupload/make_rdf_graph/constants.py +63 -0
- dsp_tools/commands/xmlupload/make_rdf_graph/jsonld_utils.py +44 -0
- dsp_tools/commands/xmlupload/make_rdf_graph/make_file_value.py +77 -0
- dsp_tools/commands/xmlupload/make_rdf_graph/make_resource_and_values.py +114 -0
- dsp_tools/commands/xmlupload/make_rdf_graph/make_values.py +262 -0
- dsp_tools/commands/xmlupload/models/__init__.py +0 -0
- dsp_tools/commands/xmlupload/models/bitstream_info.py +18 -0
- dsp_tools/commands/xmlupload/models/formatted_text_value.py +10 -0
- dsp_tools/commands/xmlupload/models/ingest.py +143 -0
- dsp_tools/commands/xmlupload/models/input_problems.py +58 -0
- dsp_tools/commands/xmlupload/models/lookup_models.py +21 -0
- dsp_tools/commands/xmlupload/models/permission.py +45 -0
- dsp_tools/commands/xmlupload/models/permissions_parsed.py +93 -0
- dsp_tools/commands/xmlupload/models/processed/__init__.py +0 -0
- dsp_tools/commands/xmlupload/models/processed/file_values.py +29 -0
- dsp_tools/commands/xmlupload/models/processed/res.py +27 -0
- dsp_tools/commands/xmlupload/models/processed/values.py +101 -0
- dsp_tools/commands/xmlupload/models/rdf_models.py +26 -0
- dsp_tools/commands/xmlupload/models/upload_clients.py +14 -0
- dsp_tools/commands/xmlupload/models/upload_state.py +20 -0
- dsp_tools/commands/xmlupload/prepare_xml_input/__init__.py +0 -0
- dsp_tools/commands/xmlupload/prepare_xml_input/ark2iri.py +55 -0
- dsp_tools/commands/xmlupload/prepare_xml_input/get_processed_resources.py +252 -0
- dsp_tools/commands/xmlupload/prepare_xml_input/iiif_uri_validator.py +50 -0
- dsp_tools/commands/xmlupload/prepare_xml_input/list_client.py +120 -0
- dsp_tools/commands/xmlupload/prepare_xml_input/prepare_xml_input.py +67 -0
- dsp_tools/commands/xmlupload/prepare_xml_input/read_validate_xml_file.py +58 -0
- dsp_tools/commands/xmlupload/prepare_xml_input/transform_input_values.py +118 -0
- dsp_tools/commands/xmlupload/resource_create_client.py +25 -0
- dsp_tools/commands/xmlupload/richtext_id2iri.py +37 -0
- dsp_tools/commands/xmlupload/stash/__init__.py +0 -0
- dsp_tools/commands/xmlupload/stash/analyse_circular_reference_graph.py +236 -0
- dsp_tools/commands/xmlupload/stash/create_info_for_graph.py +53 -0
- dsp_tools/commands/xmlupload/stash/graph_models.py +87 -0
- dsp_tools/commands/xmlupload/stash/stash_circular_references.py +68 -0
- dsp_tools/commands/xmlupload/stash/stash_models.py +109 -0
- dsp_tools/commands/xmlupload/stash/upload_stashed_resptr_props.py +106 -0
- dsp_tools/commands/xmlupload/stash/upload_stashed_xml_texts.py +196 -0
- dsp_tools/commands/xmlupload/upload_config.py +76 -0
- dsp_tools/commands/xmlupload/write_diagnostic_info.py +27 -0
- dsp_tools/commands/xmlupload/xmlupload.py +516 -0
- dsp_tools/config/__init__.py +0 -0
- dsp_tools/config/logger_config.py +69 -0
- dsp_tools/config/warnings_config.py +32 -0
- dsp_tools/error/__init__.py +0 -0
- dsp_tools/error/custom_warnings.py +39 -0
- dsp_tools/error/exceptions.py +204 -0
- dsp_tools/error/problems.py +10 -0
- dsp_tools/error/xmllib_errors.py +20 -0
- dsp_tools/error/xmllib_warnings.py +54 -0
- dsp_tools/error/xmllib_warnings_util.py +159 -0
- dsp_tools/error/xsd_validation_error_msg.py +19 -0
- dsp_tools/legacy_models/__init__.py +0 -0
- dsp_tools/legacy_models/datetimestamp.py +81 -0
- dsp_tools/legacy_models/langstring.py +253 -0
- dsp_tools/legacy_models/projectContext.py +49 -0
- dsp_tools/py.typed +0 -0
- dsp_tools/resources/schema/data.xsd +648 -0
- dsp_tools/resources/schema/lists-only.json +72 -0
- dsp_tools/resources/schema/project.json +1258 -0
- dsp_tools/resources/schema/properties-only.json +874 -0
- dsp_tools/resources/schema/resources-only.json +140 -0
- dsp_tools/resources/start-stack/docker-compose.override-host.j2 +11 -0
- dsp_tools/resources/start-stack/docker-compose.override.yml +11 -0
- dsp_tools/resources/start-stack/docker-compose.yml +88 -0
- dsp_tools/resources/start-stack/dsp-app-config.json +45 -0
- dsp_tools/resources/start-stack/dsp-app-config.override-host.j2 +26 -0
- dsp_tools/resources/validate_data/api-shapes-resource-cardinalities.ttl +191 -0
- dsp_tools/resources/validate_data/api-shapes.ttl +804 -0
- dsp_tools/resources/validate_data/shacl-cli-image.yml +4 -0
- dsp_tools/resources/validate_data/validate-ontology.ttl +99 -0
- dsp_tools/utils/__init__.py +0 -0
- dsp_tools/utils/ansi_colors.py +32 -0
- dsp_tools/utils/data_formats/__init__.py +0 -0
- dsp_tools/utils/data_formats/date_util.py +166 -0
- dsp_tools/utils/data_formats/iri_util.py +30 -0
- dsp_tools/utils/data_formats/shared.py +81 -0
- dsp_tools/utils/data_formats/uri_util.py +76 -0
- dsp_tools/utils/fuseki_bloating.py +63 -0
- dsp_tools/utils/json_parsing.py +22 -0
- dsp_tools/utils/rdf_constants.py +42 -0
- dsp_tools/utils/rdflib_utils.py +10 -0
- dsp_tools/utils/replace_id_with_iri.py +66 -0
- dsp_tools/utils/request_utils.py +238 -0
- dsp_tools/utils/xml_parsing/__init__.py +0 -0
- dsp_tools/utils/xml_parsing/get_lookups.py +32 -0
- dsp_tools/utils/xml_parsing/get_parsed_resources.py +325 -0
- dsp_tools/utils/xml_parsing/models/__init__.py +0 -0
- dsp_tools/utils/xml_parsing/models/parsed_resource.py +76 -0
- dsp_tools/utils/xml_parsing/parse_clean_validate_xml.py +137 -0
- dsp_tools/xmllib/CLAUDE.md +302 -0
- dsp_tools/xmllib/__init__.py +49 -0
- dsp_tools/xmllib/general_functions.py +877 -0
- dsp_tools/xmllib/internal/__init__.py +0 -0
- dsp_tools/xmllib/internal/checkers.py +162 -0
- dsp_tools/xmllib/internal/circumvent_circular_imports.py +36 -0
- dsp_tools/xmllib/internal/constants.py +46 -0
- dsp_tools/xmllib/internal/input_converters.py +155 -0
- dsp_tools/xmllib/internal/serialise_file_value.py +57 -0
- dsp_tools/xmllib/internal/serialise_resource.py +177 -0
- dsp_tools/xmllib/internal/serialise_values.py +152 -0
- dsp_tools/xmllib/internal/type_aliases.py +11 -0
- dsp_tools/xmllib/models/__init__.py +0 -0
- dsp_tools/xmllib/models/config_options.py +28 -0
- dsp_tools/xmllib/models/date_formats.py +48 -0
- dsp_tools/xmllib/models/dsp_base_resources.py +1542 -0
- dsp_tools/xmllib/models/internal/__init__.py +0 -0
- dsp_tools/xmllib/models/internal/file_values.py +172 -0
- dsp_tools/xmllib/models/internal/geometry.py +162 -0
- dsp_tools/xmllib/models/internal/migration_metadata.py +55 -0
- dsp_tools/xmllib/models/internal/serialise_permissions.py +66 -0
- dsp_tools/xmllib/models/internal/values.py +342 -0
- dsp_tools/xmllib/models/licenses/__init__.py +0 -0
- dsp_tools/xmllib/models/licenses/other.py +59 -0
- dsp_tools/xmllib/models/licenses/recommended.py +107 -0
- dsp_tools/xmllib/models/permissions.py +41 -0
- dsp_tools/xmllib/models/res.py +1782 -0
- dsp_tools/xmllib/models/root.py +348 -0
- dsp_tools/xmllib/value_checkers.py +434 -0
- dsp_tools/xmllib/value_converters.py +777 -0
- dsp_tools-18.3.0.post13.dist-info/METADATA +90 -0
- dsp_tools-18.3.0.post13.dist-info/RECORD +286 -0
- dsp_tools-18.3.0.post13.dist-info/WHEEL +4 -0
- dsp_tools-18.3.0.post13.dist-info/entry_points.txt +3 -0
- dsp_tools-0.9.13.dist-info/LICENSE +0 -674
- dsp_tools-0.9.13.dist-info/METADATA +0 -144
- dsp_tools-0.9.13.dist-info/RECORD +0 -71
- dsp_tools-0.9.13.dist-info/WHEEL +0 -5
- dsp_tools-0.9.13.dist-info/entry_points.txt +0 -3
- dsp_tools-0.9.13.dist-info/top_level.txt +0 -1
- dsplib/models/connection.py +0 -272
- dsplib/models/group.py +0 -296
- dsplib/models/helpers.py +0 -505
- dsplib/models/langstring.py +0 -277
- dsplib/models/listnode.py +0 -578
- dsplib/models/model.py +0 -20
- dsplib/models/ontology.py +0 -448
- dsplib/models/permission.py +0 -112
- dsplib/models/project.py +0 -547
- dsplib/models/propertyclass.py +0 -505
- dsplib/models/resource.py +0 -366
- dsplib/models/resourceclass.py +0 -810
- dsplib/models/sipi.py +0 -30
- dsplib/models/user.py +0 -731
- dsplib/models/value.py +0 -1000
- dsplib/utils/knora-data-schema.xsd +0 -454
- dsplib/utils/knora-schema-lists.json +0 -83
- dsplib/utils/knora-schema.json +0 -434
- dsplib/utils/onto_commons.py +0 -24
- dsplib/utils/onto_create_lists.py +0 -73
- dsplib/utils/onto_create_ontology.py +0 -442
- dsplib/utils/onto_get.py +0 -58
- dsplib/utils/onto_validate.py +0 -33
- dsplib/utils/xml_upload.py +0 -539
- dsplib/widgets/doublepassword.py +0 -80
- knora/MLS-import-libraries.py +0 -84
- knora/dsp_tools.py +0 -96
- knora/dsplib/models/connection.py +0 -272
- knora/dsplib/models/group.py +0 -296
- knora/dsplib/models/helpers.py +0 -506
- knora/dsplib/models/langstring.py +0 -277
- knora/dsplib/models/listnode.py +0 -578
- knora/dsplib/models/model.py +0 -20
- knora/dsplib/models/ontology.py +0 -448
- knora/dsplib/models/permission.py +0 -112
- knora/dsplib/models/project.py +0 -583
- knora/dsplib/models/propertyclass.py +0 -505
- knora/dsplib/models/resource.py +0 -416
- knora/dsplib/models/resourceclass.py +0 -811
- knora/dsplib/models/sipi.py +0 -35
- knora/dsplib/models/user.py +0 -731
- knora/dsplib/models/value.py +0 -1000
- knora/dsplib/utils/knora-data-schema.xsd +0 -464
- knora/dsplib/utils/knora-schema-lists.json +0 -83
- knora/dsplib/utils/knora-schema.json +0 -444
- knora/dsplib/utils/onto_commons.py +0 -24
- knora/dsplib/utils/onto_create_lists.py +0 -73
- knora/dsplib/utils/onto_create_ontology.py +0 -451
- knora/dsplib/utils/onto_get.py +0 -58
- knora/dsplib/utils/onto_validate.py +0 -33
- knora/dsplib/utils/xml_upload.py +0 -540
- knora/dsplib/widgets/doublepassword.py +0 -80
- knora/knora.py +0 -2108
- knora/test.py +0 -99
- knora/testit.py +0 -76
- knora/xml2knora.py +0 -633
- {dsplib → dsp_tools/cli}/__init__.py +0 -0
- {dsplib/models → dsp_tools/clients}/__init__.py +0 -0
- {dsplib/utils → dsp_tools/commands}/__init__.py +0 -0
- {dsplib/widgets → dsp_tools/commands/create}/__init__.py +0 -0
- {knora → dsp_tools/commands/create/create_on_server}/__init__.py +0 -0
- {knora/dsplib → dsp_tools/commands/create/models}/__init__.py +0 -0
- {knora/dsplib/models → dsp_tools/commands/create/parsing}/__init__.py +0 -0
- {knora/dsplib/utils → dsp_tools/commands/create/serialisation}/__init__.py +0 -0
- {knora/dsplib/widgets → dsp_tools/commands/excel2json}/__init__.py +0 -0
|
@@ -0,0 +1,648 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<xs:schema xmlns="https://dasch.swiss/schema"
|
|
3
|
+
xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
|
4
|
+
targetNamespace="https://dasch.swiss/schema"
|
|
5
|
+
elementFormDefault="qualified">
|
|
6
|
+
|
|
7
|
+
<!-- nonEmptyString
|
|
8
|
+
Data of type xs:string are not modified by the XML processor,
|
|
9
|
+
so the xs:pattern is applied to the original string
|
|
10
|
+
-->
|
|
11
|
+
<xs:simpleType name="nonEmptyString">
|
|
12
|
+
<xs:restriction base="xs:string">
|
|
13
|
+
<xs:minLength value="1"/>
|
|
14
|
+
<xs:pattern value=".*\S+.*"/>
|
|
15
|
+
</xs:restriction>
|
|
16
|
+
</xs:simpleType>
|
|
17
|
+
|
|
18
|
+
<!-- nonEmptyString_pretty_printed
|
|
19
|
+
xs:token is derived from string, but before the xs:pattern is applied,
|
|
20
|
+
the XML processor removes line feeds, carriage returns, tabs, leading and trailing spaces, and multiple spaces.
|
|
21
|
+
-->
|
|
22
|
+
<xs:simpleType name="nonEmptyString_pretty_printed">
|
|
23
|
+
<xs:restriction base="xs:token">
|
|
24
|
+
<xs:minLength value="1"/>
|
|
25
|
+
<xs:pattern value=".*\S+.*"/>
|
|
26
|
+
</xs:restriction>
|
|
27
|
+
</xs:simpleType>
|
|
28
|
+
|
|
29
|
+
<!-- data type for resrefs "ID|ID|..." -->
|
|
30
|
+
<xs:simpleType name="resrefs_type">
|
|
31
|
+
<xs:restriction base="xs:string">
|
|
32
|
+
<xs:pattern value="([^|]+)(\|[^|]+)*"/>
|
|
33
|
+
</xs:restriction>
|
|
34
|
+
</xs:simpleType>
|
|
35
|
+
|
|
36
|
+
<!-- data type for resptr tags -->
|
|
37
|
+
<xs:simpleType name="resptr_datatype">
|
|
38
|
+
<xs:restriction base="xs:string">
|
|
39
|
+
<xs:pattern value="([a-zA-Zàáâäèéêëìíîïòóôöùúûüçñß_][a-zA-Zàáâäèéêëìíîïòóôöùúûüçñß_\d.\-]*)|(http://rdfh\.ch/[\dA-F]{4}/\S+)"/>
|
|
40
|
+
</xs:restriction>
|
|
41
|
+
</xs:simpleType>
|
|
42
|
+
|
|
43
|
+
<!-- group type for allow..." -->
|
|
44
|
+
<xs:simpleType name="group_types">
|
|
45
|
+
<xs:restriction base="xs:string">
|
|
46
|
+
<xs:pattern
|
|
47
|
+
value="(UnknownUser|KnownUser|ProjectMember|Creator|ProjectAdmin|SystemAdmin|([\w\-]+)?:([\w\- ]+))"/>
|
|
48
|
+
</xs:restriction>
|
|
49
|
+
</xs:simpleType>
|
|
50
|
+
|
|
51
|
+
<!-- data type for knora date -->
|
|
52
|
+
<xs:simpleType name="knoradate_type">
|
|
53
|
+
<xs:restriction base="xs:string">
|
|
54
|
+
<xs:pattern
|
|
55
|
+
value="((GREGORIAN:|JULIAN:)?(CE:|BCE:|AD:|BC:)?(\d{1,4})(-\d{1,2})?(-\d{1,2})?((:CE|:BCE|:AD|:BC)?(:\d{1,4})(-\d{1,2})?(-\d{1,2})?)?)|((ISLAMIC:)(\d{1,4})(-\d{1,2})?(-\d{1,2})?(:\d{1,4})(-\d{1,2})?(-\d{1,2})?)"/>
|
|
56
|
+
</xs:restriction>
|
|
57
|
+
</xs:simpleType>
|
|
58
|
+
|
|
59
|
+
<!-- data type for knora time -->
|
|
60
|
+
<xs:simpleType name="knoratime_type">
|
|
61
|
+
<xs:restriction base="xs:string">
|
|
62
|
+
<xs:pattern
|
|
63
|
+
value="\d{4}-[0-1]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d(\.\d{1,12})?(Z|[+-][0-1]\d:[0-5]\d)"/>
|
|
64
|
+
</xs:restriction>
|
|
65
|
+
</xs:simpleType>
|
|
66
|
+
|
|
67
|
+
<!-- data type for knora color -->
|
|
68
|
+
<xs:simpleType name="knoracolor_type">
|
|
69
|
+
<xs:restriction base="xs:string">
|
|
70
|
+
<xs:pattern value="#([0-9a-fA-F]{3}){1,2}"/>
|
|
71
|
+
</xs:restriction>
|
|
72
|
+
</xs:simpleType>
|
|
73
|
+
|
|
74
|
+
<!-- data type for knora uri -->
|
|
75
|
+
<xs:simpleType name="knorauri_type">
|
|
76
|
+
<xs:restriction base="xs:string">
|
|
77
|
+
<xs:pattern value="([a-z][a-z0-9+.\-]*):(//([\w_.\-~:\[\]]+)(:\d{0,6})?)(/[\w_.\-:~%()!@,;/=*&'+]*)*(\?[\w_.\-:~%()!@,;/=*&'+]+)*(#[\w_.\-:~%()!@,;/=*&'+]*)?"/>
|
|
78
|
+
</xs:restriction>
|
|
79
|
+
</xs:simpleType>
|
|
80
|
+
|
|
81
|
+
<!-- data type for property and resource class names (no whitespace allowed) -->
|
|
82
|
+
<xs:simpleType name="string_without_space">
|
|
83
|
+
<xs:restriction base="xs:string">
|
|
84
|
+
<xs:pattern value="[^\s]+"/>
|
|
85
|
+
</xs:restriction>
|
|
86
|
+
</xs:simpleType>
|
|
87
|
+
|
|
88
|
+
<!-- encoding types -->
|
|
89
|
+
<xs:simpleType name="encoding_types">
|
|
90
|
+
<xs:restriction base="xs:string">
|
|
91
|
+
<xs:enumeration value="utf8"/>
|
|
92
|
+
<xs:enumeration value="xml"/>
|
|
93
|
+
</xs:restriction>
|
|
94
|
+
</xs:simpleType>
|
|
95
|
+
|
|
96
|
+
<!-- text value type -->
|
|
97
|
+
<xs:complexType name="text_type" mixed="true">
|
|
98
|
+
<xs:sequence>
|
|
99
|
+
<xs:any processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
|
|
100
|
+
</xs:sequence>
|
|
101
|
+
<xs:attribute name="encoding" type="encoding_types" use="required"/>
|
|
102
|
+
<xs:attribute name="resrefs" type="resrefs_type"/>
|
|
103
|
+
<xs:attribute name="comment" type="xs:string"/>
|
|
104
|
+
<xs:attribute name="permissions" type="xs:IDREF" use="optional"/>
|
|
105
|
+
</xs:complexType>
|
|
106
|
+
|
|
107
|
+
<!-- xml encoding value type -->
|
|
108
|
+
<xs:complexType name="xml_encoding_text_type" mixed="true">
|
|
109
|
+
<xs:sequence>
|
|
110
|
+
<xs:any processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
|
|
111
|
+
</xs:sequence>
|
|
112
|
+
<xs:attribute name="encoding" fixed="xml" use="required"/>
|
|
113
|
+
<xs:attribute name="resrefs" type="resrefs_type"/>
|
|
114
|
+
<xs:attribute name="comment" type="xs:string"/>
|
|
115
|
+
<xs:attribute name="permissions" type="xs:IDREF" use="optional"/>
|
|
116
|
+
</xs:complexType>
|
|
117
|
+
|
|
118
|
+
<!-- formatted text type -->
|
|
119
|
+
<xs:complexType name="formatted_text_type" mixed="true">
|
|
120
|
+
<xs:sequence>
|
|
121
|
+
<xs:any processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
|
|
122
|
+
</xs:sequence>
|
|
123
|
+
<xs:attribute name="comment" type="xs:string"/>
|
|
124
|
+
<xs:attribute name="permissions" type="xs:IDREF" use="optional"/>
|
|
125
|
+
</xs:complexType>
|
|
126
|
+
|
|
127
|
+
<!-- unformatted text type -->
|
|
128
|
+
<xs:complexType name="unformatted_text_type">
|
|
129
|
+
<xs:simpleContent>
|
|
130
|
+
<xs:extension base="nonEmptyString">
|
|
131
|
+
<xs:attribute name="comment" type="xs:string"/>
|
|
132
|
+
<xs:attribute name="permissions" type="xs:IDREF" use="optional"/>
|
|
133
|
+
</xs:extension>
|
|
134
|
+
</xs:simpleContent>
|
|
135
|
+
</xs:complexType>
|
|
136
|
+
|
|
137
|
+
<!-- color value type -->
|
|
138
|
+
<xs:complexType name="color_type">
|
|
139
|
+
<xs:simpleContent>
|
|
140
|
+
<xs:extension base="knoracolor_type">
|
|
141
|
+
<xs:attribute name="comment" type="xs:string"/>
|
|
142
|
+
<xs:attribute name="permissions" type="xs:IDREF" use="optional"/>
|
|
143
|
+
</xs:extension>
|
|
144
|
+
</xs:simpleContent>
|
|
145
|
+
</xs:complexType>
|
|
146
|
+
|
|
147
|
+
<!-- date value type -->
|
|
148
|
+
<xs:complexType name="date_type">
|
|
149
|
+
<xs:simpleContent>
|
|
150
|
+
<xs:extension base="knoradate_type">
|
|
151
|
+
<xs:attribute name="comment" type="xs:string"/>
|
|
152
|
+
<xs:attribute name="permissions" type="xs:IDREF" use="optional"/>
|
|
153
|
+
</xs:extension>
|
|
154
|
+
</xs:simpleContent>
|
|
155
|
+
</xs:complexType>
|
|
156
|
+
|
|
157
|
+
<!-- float value type -->
|
|
158
|
+
<xs:complexType name="float_type">
|
|
159
|
+
<xs:simpleContent>
|
|
160
|
+
<xs:extension base="xs:float">
|
|
161
|
+
<xs:attribute name="comment" type="xs:string"/>
|
|
162
|
+
<xs:attribute name="permissions" type="xs:IDREF" use="optional"/>
|
|
163
|
+
</xs:extension>
|
|
164
|
+
</xs:simpleContent>
|
|
165
|
+
</xs:complexType>
|
|
166
|
+
|
|
167
|
+
<!-- geometry value type -->
|
|
168
|
+
<xs:complexType name="geometry_type">
|
|
169
|
+
<xs:simpleContent>
|
|
170
|
+
<xs:extension base="xs:string">
|
|
171
|
+
<xs:attribute name="comment" type="xs:string"/>
|
|
172
|
+
<xs:attribute name="permissions" type="xs:IDREF" use="optional"/>
|
|
173
|
+
</xs:extension>
|
|
174
|
+
</xs:simpleContent>
|
|
175
|
+
</xs:complexType>
|
|
176
|
+
|
|
177
|
+
<!-- geoname value type -->
|
|
178
|
+
<xs:complexType name="geoname_type">
|
|
179
|
+
<xs:simpleContent>
|
|
180
|
+
<xs:extension base="nonEmptyString">
|
|
181
|
+
<xs:attribute name="comment" type="xs:string"/>
|
|
182
|
+
<xs:attribute name="permissions" type="xs:IDREF" use="optional"/>
|
|
183
|
+
</xs:extension>
|
|
184
|
+
</xs:simpleContent>
|
|
185
|
+
</xs:complexType>
|
|
186
|
+
|
|
187
|
+
<!-- list value type -->
|
|
188
|
+
<xs:complexType name="list_type">
|
|
189
|
+
<xs:simpleContent>
|
|
190
|
+
<xs:extension base="nonEmptyString">
|
|
191
|
+
<xs:attribute name="comment" type="xs:string"/>
|
|
192
|
+
<xs:attribute name="permissions" type="xs:IDREF" use="optional"/>
|
|
193
|
+
</xs:extension>
|
|
194
|
+
</xs:simpleContent>
|
|
195
|
+
</xs:complexType>
|
|
196
|
+
|
|
197
|
+
<!-- integer value type -->
|
|
198
|
+
<xs:complexType name="integer_type">
|
|
199
|
+
<xs:simpleContent>
|
|
200
|
+
<xs:extension base="xs:integer">
|
|
201
|
+
<xs:attribute name="comment" type="xs:string"/>
|
|
202
|
+
<xs:attribute name="permissions" type="xs:IDREF" use="optional"/>
|
|
203
|
+
</xs:extension>
|
|
204
|
+
</xs:simpleContent>
|
|
205
|
+
</xs:complexType>
|
|
206
|
+
|
|
207
|
+
<!-- hasSegmentBounds value type -->
|
|
208
|
+
<xs:complexType name="hasSegmentBounds_type">
|
|
209
|
+
<xs:sequence />
|
|
210
|
+
<xs:attribute name="comment" type="xs:string"/>
|
|
211
|
+
<xs:attribute name="permissions" type="xs:IDREF" use="optional"/>
|
|
212
|
+
<xs:attribute name="segment_start" type="xs:double" use="required"/>
|
|
213
|
+
<xs:attribute name="segment_end" type="xs:double" use="required"/>
|
|
214
|
+
</xs:complexType>
|
|
215
|
+
|
|
216
|
+
<!-- period value type -->
|
|
217
|
+
<xs:complexType name="period_type">
|
|
218
|
+
<xs:simpleContent>
|
|
219
|
+
<xs:extension base="nonEmptyString">
|
|
220
|
+
<xs:attribute name="comment" type="xs:string"/>
|
|
221
|
+
<xs:attribute name="permissions" type="xs:IDREF" use="optional"/>
|
|
222
|
+
</xs:extension>
|
|
223
|
+
</xs:simpleContent>
|
|
224
|
+
</xs:complexType>
|
|
225
|
+
|
|
226
|
+
<!-- resptr_type (link to other resource) value type -->
|
|
227
|
+
<xs:complexType name="resptr_type">
|
|
228
|
+
<xs:simpleContent>
|
|
229
|
+
<xs:extension base="resptr_datatype">
|
|
230
|
+
<xs:attribute name="comment" type="xs:string"/>
|
|
231
|
+
<xs:attribute name="permissions" type="xs:IDREF" use="optional"/>
|
|
232
|
+
</xs:extension>
|
|
233
|
+
</xs:simpleContent>
|
|
234
|
+
</xs:complexType>
|
|
235
|
+
|
|
236
|
+
<!-- time value type -->
|
|
237
|
+
<xs:complexType name="time_type">
|
|
238
|
+
<xs:simpleContent>
|
|
239
|
+
<xs:extension base="knoratime_type">
|
|
240
|
+
<xs:attribute name="comment" type="xs:string"/>
|
|
241
|
+
<xs:attribute name="permissions" type="xs:IDREF" use="optional"/>
|
|
242
|
+
</xs:extension>
|
|
243
|
+
</xs:simpleContent>
|
|
244
|
+
</xs:complexType>
|
|
245
|
+
|
|
246
|
+
<!-- decimal value type -->
|
|
247
|
+
<xs:complexType name="decimal_type">
|
|
248
|
+
<xs:simpleContent>
|
|
249
|
+
<xs:extension base="xs:decimal">
|
|
250
|
+
<xs:attribute name="comment" type="xs:string"/>
|
|
251
|
+
<xs:attribute name="permissions" type="xs:IDREF" use="optional"/>
|
|
252
|
+
</xs:extension>
|
|
253
|
+
</xs:simpleContent>
|
|
254
|
+
</xs:complexType>
|
|
255
|
+
|
|
256
|
+
<!-- uri value type -->
|
|
257
|
+
<xs:complexType name="uri_type">
|
|
258
|
+
<xs:simpleContent>
|
|
259
|
+
<xs:extension base="knorauri_type">
|
|
260
|
+
<xs:attribute name="comment" type="xs:string"/>
|
|
261
|
+
<xs:attribute name="permissions" type="xs:IDREF" use="optional"/>
|
|
262
|
+
</xs:extension>
|
|
263
|
+
</xs:simpleContent>
|
|
264
|
+
</xs:complexType>
|
|
265
|
+
|
|
266
|
+
<!-- boolean value type-->
|
|
267
|
+
<xs:complexType name="boolean_type">
|
|
268
|
+
<xs:simpleContent>
|
|
269
|
+
<xs:extension base="xs:boolean">
|
|
270
|
+
<xs:attribute name="comment" type="xs:string"/>
|
|
271
|
+
<xs:attribute name="permissions" type="xs:IDREF" use="optional"/>
|
|
272
|
+
</xs:extension>
|
|
273
|
+
</xs:simpleContent>
|
|
274
|
+
</xs:complexType>
|
|
275
|
+
|
|
276
|
+
<!-- textprop_type -->
|
|
277
|
+
<xs:complexType name="textprop_type">
|
|
278
|
+
<xs:sequence>
|
|
279
|
+
<xs:element name="text" type="text_type" minOccurs="1" maxOccurs="unbounded"/>
|
|
280
|
+
</xs:sequence>
|
|
281
|
+
<xs:attribute name="name" type="string_without_space" use="required"/>
|
|
282
|
+
</xs:complexType>
|
|
283
|
+
|
|
284
|
+
<!-- colorprop_type -->
|
|
285
|
+
<xs:complexType name="colorprop_type">
|
|
286
|
+
<xs:sequence>
|
|
287
|
+
<xs:element name="color" type="color_type" minOccurs="1" maxOccurs="unbounded"/>
|
|
288
|
+
</xs:sequence>
|
|
289
|
+
<xs:attribute name="name" type="string_without_space" use="required"/>
|
|
290
|
+
</xs:complexType>
|
|
291
|
+
|
|
292
|
+
<!-- dateprop_type -->
|
|
293
|
+
<xs:complexType name="dateprop_type">
|
|
294
|
+
<xs:sequence>
|
|
295
|
+
<xs:element name="date" type="date_type" minOccurs="1" maxOccurs="unbounded"/>
|
|
296
|
+
</xs:sequence>
|
|
297
|
+
<xs:attribute name="name" type="string_without_space" use="required"/>
|
|
298
|
+
</xs:complexType>
|
|
299
|
+
|
|
300
|
+
<!-- floatprop_type -->
|
|
301
|
+
<xs:complexType name="floatprop_type">
|
|
302
|
+
<xs:sequence>
|
|
303
|
+
<xs:element name="float" type="float_type" minOccurs="1" maxOccurs="unbounded"/>
|
|
304
|
+
</xs:sequence>
|
|
305
|
+
<xs:attribute name="name" type="string_without_space" use="required"/>
|
|
306
|
+
</xs:complexType>
|
|
307
|
+
|
|
308
|
+
<!-- geonameprop_type -->
|
|
309
|
+
<xs:complexType name="geonameprop_type">
|
|
310
|
+
<xs:sequence>
|
|
311
|
+
<xs:element name="geoname" type="geoname_type" minOccurs="1" maxOccurs="unbounded"/>
|
|
312
|
+
</xs:sequence>
|
|
313
|
+
<xs:attribute name="name" type="string_without_space" use="required"/>
|
|
314
|
+
</xs:complexType>
|
|
315
|
+
|
|
316
|
+
<!-- listprop_type -->
|
|
317
|
+
<xs:complexType name="listprop_type">
|
|
318
|
+
<xs:sequence>
|
|
319
|
+
<xs:element name="list" type="list_type" minOccurs="1" maxOccurs="unbounded"/>
|
|
320
|
+
</xs:sequence>
|
|
321
|
+
<xs:attribute name="name" type="string_without_space" use="required"/>
|
|
322
|
+
<xs:attribute name="list" type="xs:string" use="required"/>
|
|
323
|
+
</xs:complexType>
|
|
324
|
+
|
|
325
|
+
<!-- integerprop_type -->
|
|
326
|
+
<xs:complexType name="integerprop_type">
|
|
327
|
+
<xs:sequence>
|
|
328
|
+
<xs:element name="integer" type="integer_type" minOccurs="1" maxOccurs="unbounded"/>
|
|
329
|
+
</xs:sequence>
|
|
330
|
+
<xs:attribute name="name" type="string_without_space" use="required"/>
|
|
331
|
+
</xs:complexType>
|
|
332
|
+
|
|
333
|
+
<!-- periodprop_type -->
|
|
334
|
+
<xs:complexType name="periodprop_type">
|
|
335
|
+
<xs:sequence>
|
|
336
|
+
<xs:element name="period" type="period_type" minOccurs="1" maxOccurs="unbounded"/>
|
|
337
|
+
</xs:sequence>
|
|
338
|
+
<xs:attribute name="name" type="string_without_space" use="required"/>
|
|
339
|
+
</xs:complexType>
|
|
340
|
+
|
|
341
|
+
<!-- resptrprop_type -->
|
|
342
|
+
<xs:complexType name="resptrprop_type">
|
|
343
|
+
<xs:sequence>
|
|
344
|
+
<xs:element name="resptr" type="resptr_type" minOccurs="1" maxOccurs="unbounded"/>
|
|
345
|
+
</xs:sequence>
|
|
346
|
+
<xs:attribute name="name" type="string_without_space" use="required"/>
|
|
347
|
+
</xs:complexType>
|
|
348
|
+
|
|
349
|
+
<!-- timeprop_type -->
|
|
350
|
+
<xs:complexType name="timeprop_type">
|
|
351
|
+
<xs:sequence>
|
|
352
|
+
<xs:element name="time" type="time_type" minOccurs="1" maxOccurs="unbounded"/>
|
|
353
|
+
</xs:sequence>
|
|
354
|
+
<xs:attribute name="name" type="string_without_space" use="required"/>
|
|
355
|
+
</xs:complexType>
|
|
356
|
+
|
|
357
|
+
<!-- decimalprop_type -->
|
|
358
|
+
<xs:complexType name="decimalprop_type">
|
|
359
|
+
<xs:sequence>
|
|
360
|
+
<xs:element name="decimal" type="decimal_type" minOccurs="1" maxOccurs="unbounded"/>
|
|
361
|
+
</xs:sequence>
|
|
362
|
+
<xs:attribute name="name" type="string_without_space" use="required"/>
|
|
363
|
+
</xs:complexType>
|
|
364
|
+
|
|
365
|
+
<!-- uriprop_type -->
|
|
366
|
+
<xs:complexType name="uriprop_type">
|
|
367
|
+
<xs:sequence>
|
|
368
|
+
<xs:element name="uri" type="uri_type" minOccurs="1" maxOccurs="unbounded"/>
|
|
369
|
+
</xs:sequence>
|
|
370
|
+
<xs:attribute name="name" type="string_without_space" use="required"/>
|
|
371
|
+
</xs:complexType>
|
|
372
|
+
|
|
373
|
+
<!-- booleanprop_type -->
|
|
374
|
+
<xs:complexType name="booleanprop_type">
|
|
375
|
+
<xs:sequence>
|
|
376
|
+
<xs:element name="boolean" type="boolean_type" minOccurs="1" maxOccurs="1"/>
|
|
377
|
+
</xs:sequence>
|
|
378
|
+
<xs:attribute name="name" type="string_without_space" use="required"/>
|
|
379
|
+
</xs:complexType>
|
|
380
|
+
|
|
381
|
+
<!-- builtin_hasComment_prop_type -->
|
|
382
|
+
<xs:complexType name="builtin_hasComment_prop_type">
|
|
383
|
+
<xs:sequence>
|
|
384
|
+
<xs:element name="text" type="xml_encoding_text_type" minOccurs="1" maxOccurs="unbounded"/>
|
|
385
|
+
</xs:sequence>
|
|
386
|
+
<xs:attribute name="name" type="xs:string" use="required" fixed="hasComment"/>
|
|
387
|
+
</xs:complexType>
|
|
388
|
+
|
|
389
|
+
<!-- builtin_hasGeometry_prop_type -->
|
|
390
|
+
<xs:complexType name="builtin_hasGeometry_prop_type">
|
|
391
|
+
<xs:sequence>
|
|
392
|
+
<xs:element name="geometry" type="geometry_type" minOccurs="1" maxOccurs="1"/>
|
|
393
|
+
</xs:sequence>
|
|
394
|
+
<xs:attribute name="name" type="xs:string" use="required" fixed="hasGeometry"/>
|
|
395
|
+
</xs:complexType>
|
|
396
|
+
|
|
397
|
+
<!-- builtin_isRegionOf_prop_type -->
|
|
398
|
+
<xs:complexType name="builtin_isRegionOf_prop_type">
|
|
399
|
+
<xs:sequence>
|
|
400
|
+
<xs:element name="resptr" type="resptr_type" minOccurs="1" maxOccurs="1"/>
|
|
401
|
+
</xs:sequence>
|
|
402
|
+
<xs:attribute name="name" type="xs:string" use="required" fixed="isRegionOf"/>
|
|
403
|
+
</xs:complexType>
|
|
404
|
+
|
|
405
|
+
<!-- builtin_hasLinkTo_prop_type -->
|
|
406
|
+
<xs:complexType name="builtin_hasLinkTo_prop_type">
|
|
407
|
+
<xs:sequence>
|
|
408
|
+
<xs:element name="resptr" type="resptr_type" minOccurs="1" maxOccurs="unbounded"/>
|
|
409
|
+
</xs:sequence>
|
|
410
|
+
<xs:attribute name="name" type="xs:string" use="required" fixed="hasLinkTo"/>
|
|
411
|
+
</xs:complexType>
|
|
412
|
+
|
|
413
|
+
<!-- builtin_hasColor_prop_type -->
|
|
414
|
+
<xs:complexType name="builtin_hasColor_prop_type">
|
|
415
|
+
<xs:sequence>
|
|
416
|
+
<xs:element name="color" type="color_type" minOccurs="1" maxOccurs="1"/>
|
|
417
|
+
</xs:sequence>
|
|
418
|
+
<xs:attribute name="name" type="xs:string" use="required" fixed="hasColor"/>
|
|
419
|
+
</xs:complexType>
|
|
420
|
+
|
|
421
|
+
<!-- bitstream tag -->
|
|
422
|
+
<xs:complexType name="bitstream_type">
|
|
423
|
+
<xs:simpleContent>
|
|
424
|
+
<xs:extension base="nonEmptyString_pretty_printed">
|
|
425
|
+
<xs:attribute name="permissions" type="xs:IDREF" use="optional"/>
|
|
426
|
+
<xs:attribute name="license" type="xs:string" use="optional"/>
|
|
427
|
+
<xs:attribute name="copyright-holder" type="xs:string" use="optional"/>
|
|
428
|
+
<xs:attribute name="authorship-id" type="xs:IDREF" use="optional"/>
|
|
429
|
+
</xs:extension>
|
|
430
|
+
</xs:simpleContent>
|
|
431
|
+
</xs:complexType>
|
|
432
|
+
|
|
433
|
+
<!-- iiif-uri tag -->
|
|
434
|
+
<xs:complexType name="iiif_uri_type">
|
|
435
|
+
<xs:simpleContent>
|
|
436
|
+
<xs:extension base="nonEmptyString_pretty_printed">
|
|
437
|
+
<xs:attribute name="permissions" type="xs:IDREF" use="optional"/>
|
|
438
|
+
<xs:attribute name="license" type="xs:string" use="optional"/>
|
|
439
|
+
<xs:attribute name="copyright-holder" type="xs:string" use="optional"/>
|
|
440
|
+
<xs:attribute name="authorship-id" type="xs:IDREF" use="optional"/>
|
|
441
|
+
</xs:extension>
|
|
442
|
+
</xs:simpleContent>
|
|
443
|
+
</xs:complexType>
|
|
444
|
+
|
|
445
|
+
<!-- resource tag -->
|
|
446
|
+
<xs:complexType name="resource_type">
|
|
447
|
+
<xs:sequence>
|
|
448
|
+
<xs:choice minOccurs="0" maxOccurs="1">
|
|
449
|
+
<xs:element name="bitstream" type="bitstream_type"/>
|
|
450
|
+
<xs:element name="iiif-uri" type="iiif_uri_type"/>
|
|
451
|
+
</xs:choice>
|
|
452
|
+
<xs:choice maxOccurs="unbounded">
|
|
453
|
+
<xs:element name="text-prop" type="textprop_type" minOccurs="0" maxOccurs="unbounded"/>
|
|
454
|
+
<xs:element name="color-prop" type="colorprop_type" minOccurs="0" maxOccurs="unbounded"/>
|
|
455
|
+
<xs:element name="date-prop" type="dateprop_type" minOccurs="0" maxOccurs="unbounded"/>
|
|
456
|
+
<xs:element name="geoname-prop" type="geonameprop_type" minOccurs="0" maxOccurs="unbounded"/>
|
|
457
|
+
<xs:element name="list-prop" type="listprop_type" minOccurs="0" maxOccurs="unbounded"/>
|
|
458
|
+
<xs:element name="integer-prop" type="integerprop_type" minOccurs="0" maxOccurs="unbounded"/>
|
|
459
|
+
<xs:element name="period-prop" type="periodprop_type" minOccurs="0" maxOccurs="unbounded"/>
|
|
460
|
+
<xs:element name="resptr-prop" type="resptrprop_type" minOccurs="0" maxOccurs="unbounded"/>
|
|
461
|
+
<xs:element name="time-prop" type="timeprop_type" minOccurs="0" maxOccurs="unbounded"/>
|
|
462
|
+
<xs:element name="decimal-prop" type="decimalprop_type" minOccurs="0" maxOccurs="unbounded"/>
|
|
463
|
+
<xs:element name="uri-prop" type="uriprop_type" minOccurs="0" maxOccurs="unbounded"/>
|
|
464
|
+
<xs:element name="boolean-prop" type="booleanprop_type" minOccurs="0" maxOccurs="unbounded"/>
|
|
465
|
+
</xs:choice>
|
|
466
|
+
</xs:sequence>
|
|
467
|
+
<xs:attribute name="label" use="required">
|
|
468
|
+
<xs:simpleType>
|
|
469
|
+
<xs:restriction base="xs:string">
|
|
470
|
+
<xs:minLength value="1"/>
|
|
471
|
+
</xs:restriction>
|
|
472
|
+
</xs:simpleType>
|
|
473
|
+
</xs:attribute>
|
|
474
|
+
<xs:attribute name="restype" type="string_without_space" use="required"/>
|
|
475
|
+
<xs:attribute name="id" type="xs:ID" use="required"/>
|
|
476
|
+
<xs:attribute name="permissions" type="xs:IDREF" use="optional"/>
|
|
477
|
+
<xs:attribute name="iri" type="xs:string" use="optional"/>
|
|
478
|
+
<xs:attribute name="ark" type="xs:string" use="optional"/>
|
|
479
|
+
<xs:attribute name="creation_date" type="xs:dateTime" use="optional"/>
|
|
480
|
+
</xs:complexType>
|
|
481
|
+
|
|
482
|
+
<!-- region tag -->
|
|
483
|
+
<xs:complexType name="region_type">
|
|
484
|
+
<xs:all>
|
|
485
|
+
<xs:element name="text-prop" type="builtin_hasComment_prop_type" minOccurs="0"/>
|
|
486
|
+
<xs:element name="resptr-prop" type="builtin_isRegionOf_prop_type" minOccurs="1" maxOccurs="1"/>
|
|
487
|
+
<xs:element name="geometry-prop" type="builtin_hasGeometry_prop_type" minOccurs="1" maxOccurs="1"/>
|
|
488
|
+
<xs:element name="color-prop" type="builtin_hasColor_prop_type" minOccurs="1" maxOccurs="1"/>
|
|
489
|
+
</xs:all>
|
|
490
|
+
<xs:attribute name="label" type="xs:string" use="required"/>
|
|
491
|
+
<xs:attribute name="id" type="xs:ID" use="required"/>
|
|
492
|
+
<xs:attribute name="permissions" type="xs:IDREF" use="optional"/>
|
|
493
|
+
<xs:attribute name="iri" type="xs:string" use="optional"/>
|
|
494
|
+
<xs:attribute name="ark" type="xs:string" use="optional"/>
|
|
495
|
+
<xs:attribute name="creation_date" type="xs:dateTime" use="optional"/>
|
|
496
|
+
</xs:complexType>
|
|
497
|
+
|
|
498
|
+
<!-- link tag -->
|
|
499
|
+
<xs:complexType name="link_type">
|
|
500
|
+
<xs:all>
|
|
501
|
+
<xs:element name="text-prop" type="builtin_hasComment_prop_type" minOccurs="0" maxOccurs="1"/>
|
|
502
|
+
<xs:element name="resptr-prop" type="builtin_hasLinkTo_prop_type" minOccurs="1" maxOccurs="1"/>
|
|
503
|
+
</xs:all>
|
|
504
|
+
<xs:attribute name="label" type="xs:string" use="required"/>
|
|
505
|
+
<xs:attribute name="id" type="xs:ID" use="required"/>
|
|
506
|
+
<xs:attribute name="permissions" type="xs:IDREF" use="optional"/>
|
|
507
|
+
<xs:attribute name="iri" type="xs:string" use="optional"/>
|
|
508
|
+
<xs:attribute name="ark" type="xs:string" use="optional"/>
|
|
509
|
+
<xs:attribute name="creation_date" type="xs:dateTime" use="optional"/>
|
|
510
|
+
</xs:complexType>
|
|
511
|
+
|
|
512
|
+
<!-- video-segment tag -->
|
|
513
|
+
<xs:complexType name="video_segment_type">
|
|
514
|
+
<xs:sequence>
|
|
515
|
+
<xs:element name="isSegmentOf" type="resptr_type" minOccurs="1" maxOccurs="1"/>
|
|
516
|
+
<xs:element name="hasSegmentBounds" type="hasSegmentBounds_type" minOccurs="1" maxOccurs="1"/>
|
|
517
|
+
<xs:element name="hasTitle" type="unformatted_text_type" minOccurs="0" maxOccurs="1"/>
|
|
518
|
+
<xs:element name="hasComment" type="formatted_text_type" minOccurs="0" maxOccurs="unbounded"/>
|
|
519
|
+
<xs:element name="hasDescription" type="formatted_text_type" minOccurs="0" maxOccurs="unbounded"/>
|
|
520
|
+
<xs:element name="hasKeyword" type="unformatted_text_type" minOccurs="0" maxOccurs="unbounded"/>
|
|
521
|
+
<xs:element name="relatesTo" type="resptr_type" minOccurs="0" maxOccurs="unbounded"/>
|
|
522
|
+
</xs:sequence>
|
|
523
|
+
<xs:attribute name="label" type="xs:string" use="required"/>
|
|
524
|
+
<xs:attribute name="id" type="xs:ID" use="required"/>
|
|
525
|
+
<xs:attribute name="permissions" type="xs:IDREF" use="optional"/>
|
|
526
|
+
<xs:attribute name="creation_date" type="xs:dateTime" use="optional"/>
|
|
527
|
+
</xs:complexType>
|
|
528
|
+
|
|
529
|
+
<!-- audio-segment tag -->
|
|
530
|
+
<xs:complexType name="audio_segment_type">
|
|
531
|
+
<xs:sequence>
|
|
532
|
+
<xs:element name="isSegmentOf" type="resptr_type" minOccurs="1" maxOccurs="1"/>
|
|
533
|
+
<xs:element name="hasSegmentBounds" type="hasSegmentBounds_type" minOccurs="1" maxOccurs="1"/>
|
|
534
|
+
<xs:element name="hasTitle" type="unformatted_text_type" minOccurs="0" maxOccurs="1"/>
|
|
535
|
+
<xs:element name="hasComment" type="formatted_text_type" minOccurs="0" maxOccurs="unbounded"/>
|
|
536
|
+
<xs:element name="hasDescription" type="formatted_text_type" minOccurs="0" maxOccurs="unbounded"/>
|
|
537
|
+
<xs:element name="hasKeyword" type="unformatted_text_type" minOccurs="0" maxOccurs="unbounded"/>
|
|
538
|
+
<xs:element name="relatesTo" type="resptr_type" minOccurs="0" maxOccurs="unbounded"/>
|
|
539
|
+
</xs:sequence>
|
|
540
|
+
<xs:attribute name="label" type="xs:string" use="required"/>
|
|
541
|
+
<xs:attribute name="id" type="xs:ID" use="required"/>
|
|
542
|
+
<xs:attribute name="permissions" type="xs:IDREF" use="optional"/>
|
|
543
|
+
<xs:attribute name="creation_date" type="xs:dateTime" use="optional"/>
|
|
544
|
+
</xs:complexType>
|
|
545
|
+
|
|
546
|
+
<!-- data type for knora shortcode -->
|
|
547
|
+
<xs:simpleType name="knorashortcode_type">
|
|
548
|
+
<xs:restriction base="xs:string">
|
|
549
|
+
<xs:pattern value="[0-9a-fA-F]{4}"/>
|
|
550
|
+
</xs:restriction>
|
|
551
|
+
</xs:simpleType>
|
|
552
|
+
|
|
553
|
+
<!-- data type for valid permissions_type" -->
|
|
554
|
+
<xs:simpleType name="valid_permissions_type">
|
|
555
|
+
<xs:restriction base="xs:string">
|
|
556
|
+
<xs:enumeration value="RV"/>
|
|
557
|
+
<xs:enumeration value="V"/>
|
|
558
|
+
<xs:enumeration value="M"/>
|
|
559
|
+
<xs:enumeration value="D"/>
|
|
560
|
+
<xs:enumeration value="CR"/>
|
|
561
|
+
</xs:restriction>
|
|
562
|
+
</xs:simpleType>
|
|
563
|
+
|
|
564
|
+
<!-- allow_type -->
|
|
565
|
+
<xs:complexType name="allow_type">
|
|
566
|
+
<xs:simpleContent>
|
|
567
|
+
<xs:extension base="valid_permissions_type">
|
|
568
|
+
<xs:attribute name="group" type="group_types" use="required"/>
|
|
569
|
+
</xs:extension>
|
|
570
|
+
</xs:simpleContent>
|
|
571
|
+
</xs:complexType>
|
|
572
|
+
|
|
573
|
+
<!-- permissions tag -->
|
|
574
|
+
<xs:complexType name="permissions_type" mixed="true">
|
|
575
|
+
<xs:sequence>
|
|
576
|
+
<xs:element name="allow" type="allow_type" minOccurs="1" maxOccurs="unbounded"/>
|
|
577
|
+
</xs:sequence>
|
|
578
|
+
<xs:attribute name="id" type="xs:ID" use="required"/>
|
|
579
|
+
</xs:complexType>
|
|
580
|
+
|
|
581
|
+
<!-- authorship tag -->
|
|
582
|
+
<xs:complexType name="authorship_type" mixed="true">
|
|
583
|
+
<xs:sequence>
|
|
584
|
+
<xs:element name="author" type="nonEmptyString_pretty_printed" minOccurs="1" maxOccurs="unbounded"/>
|
|
585
|
+
</xs:sequence>
|
|
586
|
+
<xs:attribute name="id" type="xs:ID" use="required"/>
|
|
587
|
+
</xs:complexType>
|
|
588
|
+
|
|
589
|
+
<!-- complete document -->
|
|
590
|
+
<xs:element name="knora">
|
|
591
|
+
<xs:complexType>
|
|
592
|
+
<xs:sequence>
|
|
593
|
+
<xs:choice maxOccurs="unbounded">
|
|
594
|
+
<xs:element name="permissions" type="permissions_type" minOccurs="0" maxOccurs="unbounded"/>
|
|
595
|
+
<xs:element name="authorship" type="authorship_type" minOccurs="0" maxOccurs="unbounded"/>
|
|
596
|
+
</xs:choice>
|
|
597
|
+
<xs:choice maxOccurs="unbounded">
|
|
598
|
+
<xs:element name="resource" type="resource_type" minOccurs="1" maxOccurs="unbounded">
|
|
599
|
+
<xs:unique name="UniqueNameAttr_Resource">
|
|
600
|
+
<xs:selector xpath=".//*"/>
|
|
601
|
+
<xs:field xpath="@name"/>
|
|
602
|
+
</xs:unique>
|
|
603
|
+
</xs:element>
|
|
604
|
+
<xs:element name="region" type="region_type" minOccurs="0" maxOccurs="unbounded">
|
|
605
|
+
<xs:unique name="UniqueNameAttr_Region">
|
|
606
|
+
<xs:selector xpath=".//*"/>
|
|
607
|
+
<xs:field xpath="@name"/>
|
|
608
|
+
</xs:unique>
|
|
609
|
+
</xs:element>
|
|
610
|
+
<xs:element name="link" type="link_type" minOccurs="0" maxOccurs="unbounded">
|
|
611
|
+
<xs:unique name="UniqueNameAttr_Link">
|
|
612
|
+
<xs:selector xpath=".//*"/>
|
|
613
|
+
<xs:field xpath="@name"/>
|
|
614
|
+
</xs:unique>
|
|
615
|
+
</xs:element>
|
|
616
|
+
<xs:element name="video-segment" type="video_segment_type" minOccurs="0" maxOccurs="unbounded"/>
|
|
617
|
+
<xs:element name="audio-segment" type="audio_segment_type" minOccurs="0" maxOccurs="unbounded"/>
|
|
618
|
+
</xs:choice>
|
|
619
|
+
</xs:sequence>
|
|
620
|
+
<xs:attribute name="default-ontology" type="xs:string"/>
|
|
621
|
+
<xs:attribute name="shortcode" type="knorashortcode_type"/>
|
|
622
|
+
</xs:complexType>
|
|
623
|
+
<xs:key name="permissionsId">
|
|
624
|
+
<xs:selector xpath="./permissions"/>
|
|
625
|
+
<xs:field xpath="@id"/>
|
|
626
|
+
</xs:key>
|
|
627
|
+
<xs:keyref name="permissionsIdref" refer="permissionsId">
|
|
628
|
+
<xs:selector xpath="resource"/>
|
|
629
|
+
<xs:field xpath="@permissions"/>
|
|
630
|
+
</xs:keyref>
|
|
631
|
+
<xs:key name="authorshipId">
|
|
632
|
+
<xs:selector xpath="./authorship"/>
|
|
633
|
+
<xs:field xpath="@id"/>
|
|
634
|
+
</xs:key>
|
|
635
|
+
<xs:keyref name="authorshipIdref" refer="authorshipId">
|
|
636
|
+
<xs:selector xpath="resource"/>
|
|
637
|
+
<xs:field xpath="@authorship-id"/>
|
|
638
|
+
</xs:keyref>
|
|
639
|
+
<xs:unique name="IRI_attribute_of_resource_must_be_unique">
|
|
640
|
+
<xs:selector xpath=".//*"/>
|
|
641
|
+
<xs:field xpath="@iri"/>
|
|
642
|
+
</xs:unique>
|
|
643
|
+
<xs:unique name="ARK_attribute_of_resource_must_be_unique">
|
|
644
|
+
<xs:selector xpath=".//*"/>
|
|
645
|
+
<xs:field xpath="@ark"/>
|
|
646
|
+
</xs:unique>
|
|
647
|
+
</xs:element>
|
|
648
|
+
</xs:schema>
|