Refactor section detection
Refactor de la manière dont on détecte et connecte les section references entre elles.
La nouvelle philosophie est de détecter les sections de manière indépendante au lieu de détecter une chaine entière. Par exemple dans la phrase "l'alinéa 3 de l'article 5", précédemment on détectait ça en un coup avec une regex complexe, pour créer un tag unique :
<a class="dsr-section_reference" data-uri="/article_5/alinea_3">alinéa 3 de l'article 5</a>
Avec ce refactor, on va détecter "alinéa 3" et "alinéa 5" comme 2 références séparées puis les connecter dans un second temps :
<a class="dsr-section_reference" data-uri="alinea_3">alinéa 3</a>
de l'
<a class="dsr-section_reference" data-uri="article_5">article 5</a>
Puis les connecter dans un second temps :
<a class="dsr-section_reference" data-parent_reference="123" data-uri="alinea_3">alinéa 3</a>
de l'
<a class="dsr-section_reference" data-element_id="123" data-uri="article_5">article 5</a>
Cela permettra 2 choses dans le futur :
- Grosse simplification des regex pour détection de sections, et donc bien plus grande flexibilité et extensibilité.
- Gestion de sections au nom ambigu par exemple "point 5" ou "paragraphe 3". Dans ce cas, on va pouvoir traiter dans un premier temps la section comme ayant un type "unknown", puis la résoudre en fonction du contexte. Par exemple dans la formulation "paragraphe 3 de l'arrêté bla", on pourra résoudre l'ambiguité de "paragraphe 3" comme étant en fait une section de type "article".