Nouveau postulat de départ : On n’inscrit pas en xml qu’une notice peut être soit une notice mère (= ensemble pouvant être soit un fonds, soit un ensemble) soit une notice fille car une même notice peut être à la fois une notice fille et une notice mère. C’est par la présence ou non des éléments xml, que l’on pourrait déduire de sa position (mère ; fille : mère/fille).
Légende :
- flèche noire : associationid=5 : fonds
- flèche jaune : associationid=4/10 : liste des type d'ensemble à définir (mais faut-il les définir plus que ca, on avait dit que non)
- flèche bleue : les "voir aussi" (relationshipid)
graph TB;
A(Notice A - Ensemble de type recueil)-->|associationid_4/10| B(Notice B - feuille 1)
A-->|associationid_4/10|C(Notice C - feuille 2)
A-->|associationid_4/10|D(Notice D - feuille 3)
linkStyle 0,1,2 stroke:#ff3,stroke-width:4px,color:black;
<!-- XML pour la notice A -->
<relations>
<hierarchical-relations>
<narrowers-record-relations>
<narrower-record num-fiche="$objectid" num-ordre="$sortnumber">notice B</narrower-record>
<narrower-record num-fiche="$objectid" num-ordre="$sortnumber">notice C</narrower-record>
<narrower-record num-fiche="$objectid" num-ordre="$sortnumber">notice D</narrower-record>
</narrowers-record-relations>
</hierarchical-relations>
</relations>
le $sortnumber est le n° d'inventaire qui est utilisé pour le tri. mais attention, il n'est pas numérique mais alpha numérique RF 2021 4 1 A confirmer car peut-être utiliser plutôt display-order
<!-- XML pour la notice B, C et D-->
<relations>
<hierarchical-relations>
<broaders-record-relations>
<broader-record num-fiche="$objectid" type-ensemble="associationlabel">Notice A</broader-record>
</broaders-record-relations>
</hierarchical-relations>
</relations>
Pour construire les valeurs des éléments xml de type "Notice A', il faut prendre
$alphasort + ":" + $titrenum-order=1 (de la notice cible) + "(" + "$objectnumber" +")"
Valeur de l'élément xml, la valeur de l'élément xml de la notice fille. L'ordre des notices filles doit respecter l'ordre intellectuel des notices filles qui se trouve dans sortumber et devra donc alimenter l'attribut num-ordre
graph TB;
A(Notice A - Fonds toto)-->|associationid_5| B(Notice B)
A-->|associationid_5|C(Notice C - sous-fonds)
C-->|associationid_10/4|D(Notice D - receuil)
D-->|associationid_10/4|H(Notice H)
C-->|associationid_10/4|E(Notice E)
D-->|associationid_10/4|I(Notice I)
D-->|associationid_10/4|J(Notice J)
C-->|associationidVoiraussi|F[Notice F]
C-->|associationidVoiraussi|G[Notice G]
D-->|associationidVoiraussi|K[Notice k]
linkStyle 2,3,4,5,6 stroke:#ff3,stroke-width:4px,color:black;
linkStyle 7,8,9 stroke:blue,stroke-width:4px,color:black;
<relations>
<hierarchical-relations>
<broaders-record-relations>
<broader-record num-fiche="objectid" type-ensemble="relationshipid">Notice A</broader-record>
</broaders-record-relations>
<narrowers-record-relations>
<narrower-record num-fiche="objectid" num-ordre="">notice D</narrower-record >
<narrower-record num-fiche="objectid" num-ordre="">notice E</narrower-record >
</narrowers-record-relations>
</hierarchical-relations>
<see-also-records>
<see-also-record num-fiche="$objectid" type-relation="$relationshipid">notice F</see-also-record>
<see-also-record num-fiche="$objectid" type-relation="$relationshipid">notice G</see-also-record>
</see-also-records>
</relations>