Version structurée indicée
Pour créer effectivement un lien sur une partie seulement de l’expression, il est plus pratique d’avoir à sa disposition les index des sous-expressions.
Par exemple, pour l’expression « articles L. 321-1 et L. 331-1 du code de la propriété intellectuelle », il peut être judicieux d’avoir directement les index des expressions « L. 321-1 », « L. 331-1 » et « code de la propriété intellectuelle ».
Ça n’est pas bien compliqué techniquement, chacune des sous-expressions est déjà isolée dans le format structuré et son index est disponible dans le sous-arbre ; il s’agit toutefois que le format de sortie soit (relativement) facilement utilisable.
J’ai fait une version qui renvoit ces index, voici le résultat de l’expression donnée en exemple ci-dessus, en format structuré :
index: (11259, 11327)
ligne: 121
article: [(11268, 'L. 321-1'), (11280, 'L. 331-1')]
texte: {'nom': (11292, 'code de la propriété intellectuelle'), 'index': (11292, 11327)}
⇒ Ce format complique un peu la lecture des listes d’articles car les tuples ont alors deux significations : plage d’articles (« 1 à 3 ») et index+string. Une autre proposition serait de donner les index dans une liste distincte et qui aurait la même architecture, une alter ego de la liste de strings actuelle mais comportant les index.
⇒ Une autre question est : faut-il en faire un format spécifique ou doit-il remplacer le format "structuré" ?