Skip to content

Commit 9039834

Browse files
tw4lsevein
authored andcommitted
Add tool namespaces that are inside PREMISObjects
1 parent 31b83e7 commit 9039834

File tree

2 files changed

+34
-7
lines changed

2 files changed

+34
-7
lines changed

metsrw/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444

4545
LOGGER = logging.getLogger(__name__)
4646
LOGGER.addHandler(logging.NullHandler())
47-
__version__ = "0.3.21"
47+
__version__ = "0.3.22"
4848

4949
__all__ = [
5050
"Agent",

metsrw/plugins/premisrw/utils.py

Lines changed: 33 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,22 @@
33

44
XSI_NAMESPACE = "http://www.w3.org/2001/XMLSchema-instance"
55

6+
TOOL_NAMESPACES = {
7+
"xlink": "http://www.w3.org/1999/xlink",
8+
"fits": "http://hul.harvard.edu/ois/xml/ns/fits/fits_output",
9+
"MediaInfo": "https://mediaarea.net/mediainfo",
10+
}
11+
612
# PREMIS v. 2.1
713
PREMIS_2_1_VERSION = "2.1"
814
PREMIS_2_1_NAMESPACE = "info:lc/xmlns/premis-v1"
915
PREMIS_2_1_XSD = "http://www.loc.gov/standards/premis/v2/premis-v2-1.xsd"
1016
PREMIS_2_1_SCHEMA_LOCATION = "{} {}".format(PREMIS_2_1_NAMESPACE, PREMIS_2_1_XSD)
11-
PREMIS_2_1_NAMESPACES = {"premis": PREMIS_2_1_NAMESPACE, "xsi": XSI_NAMESPACE}
17+
PREMIS_2_1_NAMESPACES = {
18+
"premis": PREMIS_2_1_NAMESPACE,
19+
"xsi": XSI_NAMESPACE,
20+
}
21+
PREMIS_2_1_NAMESPACES.update(TOOL_NAMESPACES)
1222
PREMIS_2_1_META = {
1323
"xsi:schema_location": PREMIS_2_1_SCHEMA_LOCATION,
1424
"version": PREMIS_2_1_VERSION,
@@ -19,7 +29,11 @@
1929
PREMIS_2_2_NAMESPACE = "info:lc/xmlns/premis-v2"
2030
PREMIS_2_2_XSD = "http://www.loc.gov/standards/premis/v2/premis-v2-2.xsd"
2131
PREMIS_2_2_SCHEMA_LOCATION = "{} {}".format(PREMIS_2_2_NAMESPACE, PREMIS_2_2_XSD)
22-
PREMIS_2_2_NAMESPACES = {"premis": PREMIS_2_2_NAMESPACE, "xsi": XSI_NAMESPACE}
32+
PREMIS_2_2_NAMESPACES = {
33+
"premis": PREMIS_2_2_NAMESPACE,
34+
"xsi": XSI_NAMESPACE,
35+
}
36+
PREMIS_2_2_NAMESPACES.update(TOOL_NAMESPACES)
2337
PREMIS_2_2_META = {
2438
"xsi:schema_location": PREMIS_2_2_SCHEMA_LOCATION,
2539
"version": PREMIS_2_2_VERSION,
@@ -30,16 +44,29 @@
3044
PREMIS_3_0_NAMESPACE = "http://www.loc.gov/premis/v3"
3145
PREMIS_3_0_XSD = "http://www.loc.gov/standards/premis/v3/premis.xsd"
3246
PREMIS_3_0_SCHEMA_LOCATION = "{} {}".format(PREMIS_3_0_NAMESPACE, PREMIS_3_0_XSD)
33-
PREMIS_3_0_NAMESPACES = {"premis": PREMIS_3_0_NAMESPACE, "xsi": XSI_NAMESPACE}
47+
PREMIS_3_0_NAMESPACES = {
48+
"premis": PREMIS_3_0_NAMESPACE,
49+
"xsi": XSI_NAMESPACE,
50+
}
51+
PREMIS_3_0_NAMESPACES.update(TOOL_NAMESPACES)
3452
PREMIS_3_0_META = {
3553
"xsi:schema_location": PREMIS_3_0_SCHEMA_LOCATION,
3654
"version": PREMIS_3_0_VERSION,
3755
}
3856

3957
PREMIS_VERSIONS_MAP = {
40-
PREMIS_2_1_VERSION: {"namespaces": PREMIS_2_2_NAMESPACES, "meta": PREMIS_2_1_META},
41-
PREMIS_2_2_VERSION: {"namespaces": PREMIS_2_2_NAMESPACES, "meta": PREMIS_2_2_META},
42-
PREMIS_3_0_VERSION: {"namespaces": PREMIS_3_0_NAMESPACES, "meta": PREMIS_3_0_META},
58+
PREMIS_2_1_VERSION: {
59+
"namespaces": PREMIS_2_2_NAMESPACES,
60+
"meta": PREMIS_2_1_META,
61+
},
62+
PREMIS_2_2_VERSION: {
63+
"namespaces": PREMIS_2_2_NAMESPACES,
64+
"meta": PREMIS_2_2_META,
65+
},
66+
PREMIS_3_0_VERSION: {
67+
"namespaces": PREMIS_3_0_NAMESPACES,
68+
"meta": PREMIS_3_0_META,
69+
},
4370
}
4471

4572
# Treat PREMIS v. 2.2 as the default (for now).

0 commit comments

Comments
 (0)