[PATCH 03 of 11 seda V2] [SEDA 2.1] Implement new LegalStatus management information

Sylvain Thenault sylvain.thenault at logilab.fr
Fri Mar 3 11:22:36 CET 2017


# HG changeset patch
# User Sylvain Thénault <sylvain.thenault at logilab.fr>
# Date 1488532861 -3600
#      Fri Mar 03 10:21:01 2017 +0100
# Node ID 317b5c7b3d49730164bbe9842d09b7d44bb39bd2
# Parent  83e093bfa6b9e2462d5e6f925b466177402a8464
[SEDA 2.1] Implement new LegalStatus management information

diff --git a/cubicweb_seda/dataimport.py b/cubicweb_seda/dataimport.py
--- a/cubicweb_seda/dataimport.py
+++ b/cubicweb_seda/dataimport.py
@@ -43,10 +43,13 @@ LCSV_FILES = (
      'seda_unit', 'SEDAWeight',
      'measurement_weight_units_type.csv'),
     (u'SEDA 2 : Types de mot-clé',
      'seda_keyword_type_to', (),
      'code_keyword_type.csv'),
+    (u'SEDA 2 : Status légaux',
+     'seda_legal_status_to', (),
+     'legal_status.csv'),
     (u'SEDA : Niveaux de description',
      'seda_description_level', (),
      'level_type.csv'),
     # schemes extracted from SEDA 2 XSD, completed to support earlier SEDA versions
     (u'SEDA : Sort final',
diff --git a/cubicweb_seda/entities/generated.py b/cubicweb_seda/entities/generated.py
--- a/cubicweb_seda/entities/generated.py
+++ b/cubicweb_seda/entities/generated.py
@@ -151,10 +151,15 @@ class SEDAArchiveUnit(SEDAAnyEntity):
 class SEDAServiceLevel(SEDAAnyEntity):
     __regid__ = 'SEDAServiceLevel'
     fetch_attrs, cw_fetch_order = fetch_config(['user_cardinality', 'service_level', 'user_annotation'])
     value_attr = 'service_level'
 
+class SEDALegalStatus(SEDAAnyEntity):
+    __regid__ = 'SEDALegalStatus'
+    fetch_attrs, cw_fetch_order = fetch_config(['user_cardinality'])
+    value_attr = None
+
 class SEDAStorageRule(SEDAAnyEntity):
     __regid__ = 'SEDAStorageRule'
     fetch_attrs, cw_fetch_order = fetch_config(['user_cardinality'])
     value_attr = None
 
diff --git a/cubicweb_seda/i18n/en.po b/cubicweb_seda/i18n/en.po
--- a/cubicweb_seda/i18n/en.po
+++ b/cubicweb_seda/i18n/en.po
@@ -348,10 +348,13 @@ msgid "New SEDALanguage"
 msgstr ""
 
 msgid "New SEDALastModified"
 msgstr ""
 
+msgid "New SEDALegalStatus"
+msgstr ""
+
 msgid "New SEDALength"
 msgstr ""
 
 msgid "New SEDAMimeType"
 msgstr ""
@@ -1273,10 +1276,20 @@ msgid "SEDALastModified"
 msgstr ""
 
 msgid "SEDALastModified_plural"
 msgstr ""
 
+msgid "SEDALegalStatus"
+msgstr ""
+
+msgctxt "inlined:SEDAArchiveTransfer.seda_legal_status_from.object"
+msgid "SEDALegalStatus"
+msgstr ""
+
+msgid "SEDALegalStatus_plural"
+msgstr ""
+
 msgid "SEDALength"
 msgstr ""
 
 msgid "SEDALength_plural"
 msgstr ""
@@ -2435,10 +2448,16 @@ msgid "This SEDALastModified"
 msgstr ""
 
 msgid "This SEDALastModified:"
 msgstr ""
 
+msgid "This SEDALegalStatus"
+msgstr ""
+
+msgid "This SEDALegalStatus:"
+msgstr ""
+
 msgid "This SEDALength"
 msgstr ""
 
 msgid "This SEDALength:"
 msgstr ""
@@ -3297,10 +3316,17 @@ msgid "add a SEDALanguage"
 msgstr ""
 
 msgid "add a SEDALastModified"
 msgstr ""
 
+msgid "add a SEDALegalStatus"
+msgstr ""
+
+msgctxt "inlined:SEDAArchiveTransfer.seda_legal_status_from.object"
+msgid "add a SEDALegalStatus"
+msgstr ""
+
 msgid "add a SEDALength"
 msgstr ""
 
 msgid "add a SEDAMimeType"
 msgstr ""
@@ -4154,10 +4180,14 @@ msgstr ""
 
 msgctxt "SEDALastModified"
 msgid "container"
 msgstr ""
 
+msgctxt "SEDALegalStatus"
+msgid "container"
+msgstr ""
+
 msgctxt "SEDALength"
 msgid "container"
 msgstr ""
 
 msgctxt "SEDAMimeType"
@@ -6356,10 +6386,38 @@ msgstr ""
 
 msgctxt "SEDABinaryDataObject"
 msgid "seda_last_modified_object"
 msgstr ""
 
+msgid "seda_legal_status_from"
+msgstr ""
+
+msgctxt "SEDALegalStatus"
+msgid "seda_legal_status_from"
+msgstr ""
+
+msgid "seda_legal_status_from_object"
+msgstr ""
+
+msgctxt "SEDAArchiveTransfer"
+msgid "seda_legal_status_from_object"
+msgstr ""
+
+msgid "seda_legal_status_to"
+msgstr ""
+
+msgctxt "SEDALegalStatus"
+msgid "seda_legal_status_to"
+msgstr ""
+
+msgid "seda_legal_status_to_object"
+msgstr ""
+
+msgctxt "Concept"
+msgid "seda_legal_status_to_object"
+msgstr ""
+
 msgid "seda_length"
 msgstr ""
 
 msgctxt "SEDALength"
 msgid "seda_length"
@@ -7990,10 +8048,14 @@ msgstr ""
 
 msgctxt "SEDALastModified"
 msgid "user_annotation"
 msgstr ""
 
+msgctxt "SEDALegalStatus"
+msgid "user_annotation"
+msgstr ""
+
 msgctxt "SEDALength"
 msgid "user_annotation"
 msgstr ""
 
 msgctxt "SEDAMimeType"
@@ -8489,10 +8551,14 @@ msgstr ""
 
 msgctxt "SEDALastModified"
 msgid "user_cardinality"
 msgstr ""
 
+msgctxt "SEDALegalStatus"
+msgid "user_cardinality"
+msgstr ""
+
 msgctxt "SEDALength"
 msgid "user_cardinality"
 msgstr ""
 
 msgctxt "SEDAMimeType"
diff --git a/cubicweb_seda/i18n/fr.po b/cubicweb_seda/i18n/fr.po
--- a/cubicweb_seda/i18n/fr.po
+++ b/cubicweb_seda/i18n/fr.po
@@ -355,10 +355,13 @@ msgid "New SEDALanguage"
 msgstr ""
 
 msgid "New SEDALastModified"
 msgstr ""
 
+msgid "New SEDALegalStatus"
+msgstr ""
+
 msgid "New SEDALength"
 msgstr ""
 
 msgid "New SEDAMimeType"
 msgstr ""
@@ -1283,10 +1286,20 @@ msgid "SEDALastModified"
 msgstr ""
 
 msgid "SEDALastModified_plural"
 msgstr ""
 
+msgid "SEDALegalStatus"
+msgstr ""
+
+msgctxt "inlined:SEDAArchiveTransfer.seda_legal_status_from.object"
+msgid "SEDALegalStatus"
+msgstr ""
+
+msgid "SEDALegalStatus_plural"
+msgstr ""
+
 msgid "SEDALength"
 msgstr ""
 
 msgid "SEDALength_plural"
 msgstr ""
@@ -2447,10 +2460,16 @@ msgid "This SEDALastModified"
 msgstr ""
 
 msgid "This SEDALastModified:"
 msgstr ""
 
+msgid "This SEDALegalStatus"
+msgstr ""
+
+msgid "This SEDALegalStatus:"
+msgstr ""
+
 msgid "This SEDALength"
 msgstr ""
 
 msgid "This SEDALength:"
 msgstr ""
@@ -3311,10 +3330,17 @@ msgid "add a SEDALanguage"
 msgstr ""
 
 msgid "add a SEDALastModified"
 msgstr ""
 
+msgid "add a SEDALegalStatus"
+msgstr ""
+
+msgctxt "inlined:SEDAArchiveTransfer.seda_legal_status_from.object"
+msgid "add a SEDALegalStatus"
+msgstr ""
+
 msgid "add a SEDALength"
 msgstr ""
 
 msgid "add a SEDAMimeType"
 msgstr ""
@@ -4168,10 +4194,14 @@ msgstr ""
 
 msgctxt "SEDALastModified"
 msgid "container"
 msgstr ""
 
+msgctxt "SEDALegalStatus"
+msgid "container"
+msgstr ""
+
 msgctxt "SEDALength"
 msgid "container"
 msgstr ""
 
 msgctxt "SEDAMimeType"
@@ -6377,10 +6407,38 @@ msgstr "date de la dernière modificatio
 
 msgctxt "SEDABinaryDataObject"
 msgid "seda_last_modified_object"
 msgstr ""
 
+msgid "seda_legal_status_from"
+msgstr ""
+
+msgctxt "SEDALegalStatus"
+msgid "seda_legal_status_from"
+msgstr ""
+
+msgid "seda_legal_status_from_object"
+msgstr "statut légal"
+
+msgctxt "SEDAArchiveTransfer"
+msgid "seda_legal_status_from_object"
+msgstr ""
+
+msgid "seda_legal_status_to"
+msgstr "valeur"
+
+msgctxt "SEDALegalStatus"
+msgid "seda_legal_status_to"
+msgstr ""
+
+msgid "seda_legal_status_to_object"
+msgstr ""
+
+msgctxt "Concept"
+msgid "seda_legal_status_to_object"
+msgstr ""
+
 msgid "seda_length"
 msgstr ""
 
 msgctxt "SEDALength"
 msgid "seda_length"
@@ -8017,10 +8075,14 @@ msgstr ""
 
 msgctxt "SEDALastModified"
 msgid "user_annotation"
 msgstr ""
 
+msgctxt "SEDALegalStatus"
+msgid "user_annotation"
+msgstr ""
+
 msgctxt "SEDALength"
 msgid "user_annotation"
 msgstr ""
 
 msgctxt "SEDAMimeType"
@@ -8516,10 +8578,14 @@ msgstr ""
 
 msgctxt "SEDALastModified"
 msgid "user_cardinality"
 msgstr ""
 
+msgctxt "SEDALegalStatus"
+msgid "user_cardinality"
+msgstr ""
+
 msgctxt "SEDALength"
 msgid "user_cardinality"
 msgstr ""
 
 msgctxt "SEDAMimeType"
diff --git a/cubicweb_seda/migration/0.8.0_Any.py b/cubicweb_seda/migration/0.8.0_Any.py
--- a/cubicweb_seda/migration/0.8.0_Any.py
+++ b/cubicweb_seda/migration/0.8.0_Any.py
@@ -1,1 +1,9 @@
+from cubicweb_seda.dataimport import import_seda_schemes, LCSV_FILES
+
+add_entity_type('SEDALegalStatus')
+
+lcsv_files = [file_def for file_def in LCSV_FILES
+              if file_def[-1] == 'legal_status.csv']
+import_seda_schemes(cnx, lcsv_files=lcsv_files)
+
 drop_relation_type('seda_reply_code_list_version')
diff --git a/cubicweb_seda/migration/data/legal_status.csv b/cubicweb_seda/migration/data/legal_status.csv
new file mode 100644
--- /dev/null
+++ b/cubicweb_seda/migration/data/legal_status.csv
@@ -0,0 +1,6 @@
+#;$id;Valeur;définition
+type;url;string;string
+lang;;seda;fr
+url;skos:Concept;skos:prefLabel;skos:prefLabel
+;;Public Archive;Archive publique
+;;Private Archive;Archive privée
diff --git a/cubicweb_seda/schema/seda2.py b/cubicweb_seda/schema/seda2.py
--- a/cubicweb_seda/schema/seda2.py
+++ b/cubicweb_seda/schema/seda2.py
@@ -550,10 +550,35 @@ class archive_transfer_service_level(Rel
     inlined = True
     constraints = []
 
 @seda_profile_element(cardinalities=['0..1', '1'], default_cardinality='0..1',
                       annotable=True)
+class SEDALegalStatus(EntityType):
+    u""""""
+
+
+class archive_transfer_legal_status_from(RelationDefinition):
+    name = 'seda_legal_status_from'
+    subject = 'SEDALegalStatus'
+    object = 'SEDAArchiveTransfer'
+    cardinality = '1?'
+    composite = fulltext_container = 'object'
+    inlined = True
+    constraints = []
+
+class legal_status_legal_status_to(RelationDefinition):
+    name = 'seda_legal_status_to'
+    subject = 'SEDALegalStatus'
+    object = 'Concept'
+    cardinality = '?*'
+    composite = fulltext_container = None
+    inlined = True
+    constraints = [RQLConstraint('O in_scheme CS, CS scheme_relation_type CR, CR name "seda_legal_status_to"')]
+
+
+ at seda_profile_element(cardinalities=['0..1', '1'], default_cardinality='0..1',
+                      annotable=True)
 class SEDAStorageRule(EntityType):
     u""""""
 
 
 class archive_transfer_storage_rule(RelationDefinition):
diff --git a/cubicweb_seda/views/archivetransfer.py b/cubicweb_seda/views/archivetransfer.py
--- a/cubicweb_seda/views/archivetransfer.py
+++ b/cubicweb_seda/views/archivetransfer.py
@@ -36,11 +36,12 @@ at_ordered_fields = [
     ('seda_transferring_agency', 'subject'),
     ('seda_transfer_request_reply_identifier', 'object'),
     ('seda_comment', 'object'),
     ('seda_signature', 'object'),
     ('seda_archival_agreement', 'object'),
-    ('seda_service_level', 'object')]
+    ('seda_service_level', 'object'),
+    ('seda_legal_status_from', 'object')]
 
 pvs = uicfg.primaryview_section
 pvdc = uicfg.primaryview_display_ctrl
 rec = uicfg.reledit_ctrl
 afs = uicfg.autoform_section
diff --git a/cubicweb_seda/views/uicfg.py b/cubicweb_seda/views/uicfg.py
--- a/cubicweb_seda/views/uicfg.py
+++ b/cubicweb_seda/views/uicfg.py
@@ -70,10 +70,11 @@ ives['SEDAVersion'] = 'subobject'
 ives['SEDARelationship'] = 'subobject'
 ives['SEDATag'] = 'subobject'
 ives['SEDAAltStorageRulePreventInheritance'] = 'subobject'
 ives['SEDAWriter'] = 'subobject'
 ives['SEDAAccessRuleCodeListVersion'] = 'subobject'
+ives['SEDALegalStatus'] = 'subobject'
 ives['SEDADisseminationRule'] = 'subobject'
 ives['SEDAAddressee'] = 'subobject'
 ives['SEDAReferences'] = 'subobject'
 ives['SEDADataObjectVersionCodeListVersion'] = 'subobject'
 ives['SEDAAuthorizedAgent'] = 'subobject'
@@ -238,10 +239,14 @@ abaa.tag_subject_of(('*', 'seda_compress
 abaa.tag_object_of(('*', 'seda_compressed', '*'), False)
 abaa.tag_subject_of(('*', 'seda_archive_unit', '*'), False)
 abaa.tag_object_of(('*', 'seda_archive_unit', '*'), False)
 abaa.tag_subject_of(('*', 'seda_service_level', '*'), False)
 abaa.tag_object_of(('*', 'seda_service_level', '*'), False)
+abaa.tag_subject_of(('*', 'seda_legal_status_from', '*'), False)
+abaa.tag_object_of(('*', 'seda_legal_status_from', '*'), False)
+abaa.tag_object_of(('*', 'seda_legal_status_to', '*'), False)
+abaa.tag_subject_of(('*', 'seda_legal_status_to', '*'), False)
 abaa.tag_subject_of(('*', 'seda_storage_rule', '*'), False)
 abaa.tag_object_of(('*', 'seda_storage_rule', '*'), False)
 abaa.tag_subject_of(('*', 'seda_appraisal_rule', '*'), False)
 abaa.tag_object_of(('*', 'seda_appraisal_rule', '*'), False)
 abaa.tag_subject_of(('*', 'seda_access_rule', '*'), False)
@@ -647,10 +652,14 @@ afs.tag_subject_of(('*', 'seda_compresse
 afs.tag_object_of(('*', 'seda_compressed', '*'), 'main', 'inlined')
 afs.tag_subject_of(('*', 'seda_archive_unit', '*'), 'main', 'hidden')
 afs.tag_object_of(('*', 'seda_archive_unit', '*'), 'main', 'hidden')
 afs.tag_subject_of(('*', 'seda_service_level', '*'), 'main', 'hidden')
 afs.tag_object_of(('*', 'seda_service_level', '*'), 'main', 'inlined')
+afs.tag_subject_of(('*', 'seda_legal_status_from', '*'), 'main', 'hidden')
+afs.tag_object_of(('*', 'seda_legal_status_from', '*'), 'main', 'inlined')
+afs.tag_object_of(('*', 'seda_legal_status_to', '*'), 'main', 'hidden')
+afs.tag_subject_of(('*', 'seda_legal_status_to', '*'), 'main', 'attributes')
 afs.tag_subject_of(('*', 'seda_storage_rule', '*'), 'main', 'hidden')
 afs.tag_object_of(('*', 'seda_storage_rule', '*'), 'main', 'hidden')
 afs.tag_subject_of(('*', 'seda_appraisal_rule', '*'), 'main', 'hidden')
 afs.tag_object_of(('*', 'seda_appraisal_rule', '*'), 'main', 'hidden')
 afs.tag_subject_of(('*', 'seda_access_rule', '*'), 'main', 'hidden')
@@ -980,10 +989,11 @@ pvs.tag_object_of(('*', 'seda_physical_d
 pvs.tag_subject_of(('*', 'seda_relationship', '*'), 'hidden')
 pvs.tag_object_of(('*', 'seda_relationship', '*'), 'hidden')
 pvs.tag_object_of(('*', 'seda_data_object_version_to', '*'), 'hidden')
 pvs.tag_subject_of(('*', 'seda_archive_unit', '*'), 'hidden')
 pvs.tag_object_of(('*', 'seda_archive_unit', '*'), 'hidden')
+pvs.tag_object_of(('*', 'seda_legal_status_to', '*'), 'hidden')
 pvs.tag_subject_of(('*', 'seda_storage_rule', '*'), 'hidden')
 pvs.tag_object_of(('*', 'seda_storage_rule', '*'), 'hidden')
 pvs.tag_subject_of(('*', 'seda_appraisal_rule', '*'), 'hidden')
 pvs.tag_object_of(('*', 'seda_appraisal_rule', '*'), 'hidden')
 pvs.tag_subject_of(('*', 'seda_access_rule', '*'), 'hidden')
@@ -1140,10 +1150,12 @@ rec.tag_subject_of(('*', 'seda_data_obje
 rec.tag_subject_of(('*', 'seda_alt_binary_data_object_attachment', '*'), {'novalue_label': '<no value specified>'})
 rec.tag_subject_of(('*', 'compressed', '*'), {'novalue_label': '<no value specified>'})
 rec.tag_object_of(('*', 'seda_compressed', '*'), {'novalue_label': ' '})
 rec.tag_subject_of(('*', 'service_level', '*'), {'novalue_label': '<no value specified>'})
 rec.tag_object_of(('*', 'seda_service_level', '*'), {'novalue_label': ' '})
+rec.tag_object_of(('*', 'seda_legal_status_from', '*'), {'novalue_label': ' '})
+rec.tag_subject_of(('*', 'seda_legal_status_to', '*'), {'novalue_label': '<no value specified>'})
 rec.tag_object_of(('*', 'seda_storage_rule', '*'), {'novalue_label': ' '})
 rec.tag_object_of(('*', 'seda_appraisal_rule', '*'), {'novalue_label': ' '})
 rec.tag_object_of(('*', 'seda_access_rule', '*'), {'novalue_label': ' '})
 rec.tag_object_of(('*', 'seda_dissemination_rule', '*'), {'novalue_label': ' '})
 rec.tag_object_of(('*', 'seda_reuse_rule', '*'), {'novalue_label': ' '})
diff --git a/cubicweb_seda/xsd.py b/cubicweb_seda/xsd.py
--- a/cubicweb_seda/xsd.py
+++ b/cubicweb_seda/xsd.py
@@ -134,10 +134,11 @@ XSD2YAMS = {
     'ClassificationLevel': 'Concept',
     'FinalAction': 'Concept',
     'Encoding': 'Concept',
     'MimeType': 'Concept',
     'EventType': 'Concept',
+    'LegalStatus': 'Concept',
     'KeywordType': 'Concept',
     'KeywordReference': 'Concept',
     'CompressionAlgorithm': 'Concept',
     'MeasurementUnits': 'Concept',
     'MeasurementWeightUnits': 'Concept',
diff --git a/cubicweb_seda/xsd/seda-2.0-main.xsd b/cubicweb_seda/xsd/seda-2.0-main.xsd
--- a/cubicweb_seda/xsd/seda-2.0-main.xsd
+++ b/cubicweb_seda/xsd/seda-2.0-main.xsd
@@ -136,18 +136,36 @@
             <xsd:element name="ServiceLevel" type="IdentifierType" minOccurs="0">
                 <xsd:annotation>
                     <xsd:documentation>Niveau de service applicable aux unités d’archives.</xsd:documentation>
                 </xsd:annotation>
             </xsd:element>
+            <xsd:element name="LegalStatus" type="LegalStatusType" minOccurs="0">
+                <xsd:annotation>
+                    <xsd:documentation>Statut des archives échangées.</xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
             <xsd:group ref="ManagementGroup" minOccurs="0">
                 <xsd:annotation>
                     <xsd:documentation>Métadonnées de gestion associées à l'ensemble des unités d'archives.</xsd:documentation>
                 </xsd:annotation>
             </xsd:group>
         </xsd:sequence>
         <xsd:attribute ref="xml:id" use="optional"/>
     </xsd:complexType>
+    
+    <!-- ========================================================= -->
+    <!-- ===== Code List LegalStatusType: LegalStatus Code ======= -->
+    <!-- ========================================================= -->
+    <xsd:simpleType name="LegalStatusType">
+        <xsd:annotation>
+            <xsd:documentation>Valeurs de LegalStatus.</xsd:documentation>
+        </xsd:annotation>
+        <xsd:restriction base="xsd:token">
+            <xsd:enumeration value="Public Archive"/>
+            <xsd:enumeration value="Private Archive"/>
+        </xsd:restriction>
+    </xsd:simpleType>
 
     <!-- Demande d'autorisation -->
     <xsd:complexType name="AuthorizationRequestContentType">
         <xsd:sequence>
             <xsd:element name="AuthorizationReason" type="xsd:token">
diff --git a/cubicweb_seda/xsd2yams.py b/cubicweb_seda/xsd2yams.py
--- a/cubicweb_seda/xsd2yams.py
+++ b/cubicweb_seda/xsd2yams.py
@@ -93,10 +93,12 @@ RDEF_CONSTRAINTS = {
         'O in_scheme CS, CS scheme_relation_type CR, CR name "seda_description_level"'),
     'seda_classification_level': (
         'O in_scheme CS, CS scheme_relation_type CR, CR name "seda_classification_level"'),
     'seda_language_to': (
         'O in_scheme CS, CS scheme_relation_type CR, CR name "seda_language_to"'),
+    'seda_legal_status_to': (
+        'O in_scheme CS, CS scheme_relation_type CR, CR name "seda_legal_status_to"'),
     'seda_description_language_to': (
         'O in_scheme CS, CS scheme_relation_type CR, CR name "seda_description_language_to"'),
     'seda_event_type_to': (
         'O in_scheme CS, CS scheme_relation_type CR, CR name "seda_event_type_to"'),
     'seda_keyword_type_to': (
diff --git a/test/test_dataimport.py b/test/test_dataimport.py
--- a/test/test_dataimport.py
+++ b/test/test_dataimport.py
@@ -23,11 +23,11 @@ from cubicweb_seda import dataimport
 class ConcepSchemeImportTC(CubicWebTC):
 
     def test_import_seda_schemes(self):
         with self.admin_access.client_cnx() as cnx:
             dataimport.import_seda_schemes(cnx, lcsv_import=dataimport.lcsv_check)
-            self.assertEqual(len(cnx.find('ConceptScheme')), 15)
+            self.assertEqual(len(cnx.find('ConceptScheme')), 16)
 
 
 if __name__ == '__main__':
     import unittest
     unittest.main()
diff --git a/test/test_xsd2yams.py b/test/test_xsd2yams.py
--- a/test/test_xsd2yams.py
+++ b/test/test_xsd2yams.py
@@ -267,10 +267,13 @@ class XSIterateTC(unittest.TestCase):
             ('ManagementMetadata', 'SEDAArchiveTransfer', [
                 ('id', [('seda_id', 'object', 'SEDAid'), ('id', 'subject', 'String')]),
                 ('ServiceLevel',
                  [('seda_service_level', 'object', 'SEDAServiceLevel'),
                   ('service_level', 'subject', 'String')]),
+                ('LegalStatus',
+                 [('seda_legal_status_from', 'object', 'SEDALegalStatus'),
+                  ('seda_legal_status_to', 'subject', 'Concept')]),
                 ('StorageRule', [('seda_storage_rule', 'object', 'SEDAStorageRule')]),
                 ('AppraisalRule', [('seda_appraisal_rule', 'object', 'SEDAAppraisalRule')]),
                 ('AccessRule', [('seda_access_rule', 'object', 'SEDAAccessRule')]),
                 ('DisseminationRule',
                  [('seda_dissemination_rule', 'object', 'SEDADisseminationRule')]),


More information about the saem-devel mailing list