Skip to content
Snippets Groups Projects
Verified Commit cc7550fb authored by Cyril Vazquez's avatar Cyril Vazquez
Browse files

fix/22668 Transformation for ArchivalProfile ArchiveUnitProfile and ArchivalAgreement

parent b9eedbda
No related branches found
No related tags found
No related merge requests found
......@@ -60,7 +60,7 @@
<xsl:apply-templates select="//seda:ArchiveRestitution/seda:Archive"/>
</DescriptiveMetadata>
<ManagementMetadata>
<xsl:if test="seda:Archive/seda:ArchivalProfile">
<!--xsl:if test="seda:Archive/seda:ArchivalProfile">
<ArchivalProfile>
<xsl:attribute name="schemeAgencyName">
<xsl:value-of
......@@ -72,7 +72,7 @@
</xsl:attribute>
<xsl:value-of select="seda:Archive/seda:ArchivalProfile"/>
</ArchivalProfile>
</xsl:if>
</xsl:if-->
</ManagementMetadata>
</DataObjectPackage>
<ArchivalAgency>
......@@ -141,6 +141,11 @@
<xsl:text>Id</xsl:text>
<xsl:value-of select="seda:ArchivalAgencyArchiveIdentifier"/>
</xsl:attribute>
<xsl:if test="seda:ArchivalProfile">
<ArchiveUnitProfile>
<xsl:value-of select="seda:ArchivalProfile"/>
</ArchiveUnitProfile>
</xsl:if>
<xsl:if test="seda:AccessRestriction | seda:Appraisal">
<Management>
<xsl:apply-templates select="seda:Appraisal | seda:AccessRestriction"/>
......
......@@ -77,6 +77,13 @@ class Seda02Restitution extends \bundle\medona\Connectors\Zip
// Load CSV to get conversion between agency identifiers
$descriptionRefController = \laabs::newController('recordsManagement/descriptionRef');
// Set ArchivalAgreement
$archivalAgreements = $xml2->xpath->query('/seda2:ArchiveTransfer/seda2:ArchivalAgreement');
if ($archivalAgreements->length > 0) {
$archivalAgreement = $archivalAgreements->item(0);
$archivalAgreement->nodeValue = $this->translate($params['translationFilesDir'].'/archivalAgreement', $archivalAgreement->nodeValue);
}
// Set ArchivalAgency
$archivalAgencyIdentifier = $xml2->xpath->query('/seda2:ArchiveTransfer/seda2:ArchivalAgency/seda2:Identifier')->item(0);
$archivalAgencyIdentifier->nodeValue = $this->translate($params['translationFilesDir'].'/archivalAgency', $archivalAgencyIdentifier->nodeValue);
......@@ -85,6 +92,13 @@ class Seda02Restitution extends \bundle\medona\Connectors\Zip
$transferringAgencyIdentifier = $xml2->xpath->query('/seda2:ArchiveTransfer/seda2:TransferringAgency/seda2:Identifier')->item(0);
$transferringAgencyIdentifier->nodeValue = $this->translate($params['translationFilesDir'].'/transferringAgency', $transferringAgencyIdentifier->nodeValue);
// Set ManagementMetadata ArchivalProfile
$archivalProfiles = $xml2->xpath->query('/seda2:ArchiveTransfer/seda2:DataObjectPackage/seda2:ManagementMetadata/seda2:ArchivalProfile');
if ($archivalProfiles->length > 0) {
$archivalprofile = $archivalProfiles->item(0);
$archivalProfile->nodeValue = $this->translate($params['translationFilesDir'].'/archivalProfile', $archivalProfile->nodeValue);
}
$archiveUnits = $xml2->xpath->query('/seda2:ArchiveTransfer/seda2:DataObjectPackage/seda2:DescriptiveMetadata/seda2:ArchiveUnit');
$files = [];
$root = dirname($messagePath);
......@@ -103,23 +117,15 @@ class Seda02Restitution extends \bundle\medona\Connectors\Zip
}
// Convert profiles
$archivalProfileIdentifiers = $xml2->xpath->query('.//seda2:Content/seda2:archivalProfile/seda2:Identifier', $archiveUnit);
foreach ($archivalProfileIdentifiers as $archivalProfileIdentifier) {
if (!isset($archivalProfiles[$archivalProfileIdentifier->nodeValue])) {
$archivalProfiles[$archivalProfileIdentifier->nodeValue] = $this->translate($params['translationFilesDir'].'/archivalProfile', $archivalProfileIdentifier->nodeValue);
$archiveUnitProfiles = $xml2->xpath->query('./seda2:ArchiveUnitProfile', $archiveUnit);
if ($archiveUnitProfiles->length > 0) {
$archiveUnitProfile = $archiveUnitProfiles->item(0);
if (!isset($archivalProfiles[$archiveUnitProfile->nodeValue])) {
$archivalProfiles[$archiveUnitProfile->nodeValue] = $this->translate($params['translationFilesDir'].'/archivalProfile', $archiveUnitProfile->nodeValue);
}
$archivalProfileIdentifier->nodeValue = $archivalProfiles[$archivalProfileIdentifier->nodeValue];
$archiveUnitProfile->nodeValue = $archivalProfiles[$archiveUnitProfile->nodeValue];
}
// Convert archival Agreement
$archivalAgreementIdentifiers = $xml2->xpath->query('.//seda2:Content/seda2:archivalAgreement/seda2:Identifier', $archiveUnit);
foreach ($archivalAgreementIdentifiers as $archivalAgreementIdentifier) {
if (!isset($archivalAgreements[$archivalAgreementIdentifier->nodeValue])) {
$archivalAgreements[$archivalAgreementIdentifier->nodeValue] = $this->translate($params['translationFilesDir'].'/archivalAgreement', $archivalAgreementIdentifier->nodeValue);
}
$archivalAgreementIdentifier->nodeValue = $archivalAgreements[$archivalAgreementIdentifier->nodeValue];
}
// Get binary data objects filename, MessageDigest and Size
$archiveUnitId = $archiveUnit->getAttribute('id');
$dirname = substr($archiveUnitId, 2);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment