Skip to content
  • Denis Laxalde's avatar
    [profile gen] Account for bdo's user cardinality or its parent's in... · fcb890e6d9d7
    Denis Laxalde authored
    [profile gen] Account for bdo's user cardinality or its parent's in "Integrity" element (CONSEJIRA-663)
    
    See also https://jira.mtpl.bs.fr.atos.net/browse/CONSEJIRA-663
    
    For more details, quoting verbatim the customer request for future reference:
    
    | Sur les documents multi occurrences (0-n ou 1-n) ou même si l’archive
    | est multi occurrence (0-n ou 1-n), il y a une balise integrity qui est
    | liée au document dans le bordereau de versement que l’on génère.
    | Or, dans le XSD du profil, la balise integrity du document ne possède
    | pas l'attribut : maxOccurs="unbounded"
    | Donc lors de l'envoi à Asalae du versement, Asalae fait une vérification
    | par rapport au profil et affiche une erreur a cause de la balise
    | integrity qui est présente plusieurs fois.
    |
    | Pour moi le correctif à faire doit porter sur le XSD et le RNG sur la
    | balise integrity pour qu'elle soit multi-occurrence possible dans les cas
    | suivants :
    |
    |   *   Si le document (Document) est en multi occurrence (0-n ou 1-n)
    |       donc avec un attribut maxOccurs="unbounded"
    |   *   Si une UA (Contains) supérieure au document est en multi
    |       occurrence (0-n ou 1-n) donc avec un attribut
    |       maxOccurs="unbounded"
    
    | si une UA supérieur est en cardinalité max unbounded, alors
    | l'integrity sur les documents en dessous doit forcément être en
    | unbounded également
    
    | il faut que l'integrity soit en facultative ou multi occurrence si une
    | UA supérieure est facultative ou en multi occurrence.
    
    This is essentially achieved by looking for the upper parent archive
    units of a data object then their cardinality to produce the Integrity element.
    
    Adding tests for new integrity_cardinality() function based on customer
    examples.
    fcb890e6d9d7