Clean Structure of Textelr & SectionTa

This commit is contained in:
Emmanuel 2024-11-29 10:11:48 +01:00
parent fb9413ed24
commit ff5077faaa
3 changed files with 132 additions and 83 deletions

View file

@ -44,15 +44,22 @@ export {
type JorfArticleTexteNature,
type JorfArticleType,
type JorfSectionTa,
type JorfSectionTaLienArt,
type JorfSectionTaLienArtEtat,
type JorfSectionTaLienSectionTa,
type JorfSectionTaLienSectionTaEtat,
type JorfSectionTaTexteNature,
type JorfSectionTaStructure,
type JorfTextelr,
type JorfTextelrEtat,
type JorfTextelrLienArt,
type JorfTextelrLienArtEtat,
type JorfTextelrLienArtNature,
type JorfTextelrLienArtOrigine,
type JorfTextelrLienSectionTa,
type JorfTextelrNature,
type JorfTextelrOrigine,
type JorfTextelrStructure,
type JorfTexteVersion,
type JorfTexteVersionLien,
type JorfTexteVersionLienNature,
@ -95,15 +102,22 @@ export {
type LegiArticleTexteNature,
type LegiArticleType,
type LegiSectionTa,
type LegiSectionTaLienArt,
type LegiSectionTaLienArtEtat,
type LegiSectionTaLienSectionTa,
type LegiSectionTaLienSectionTaEtat,
type LegiSectionTaStructure,
type LegiSectionTaTexteNature,
type LegiTextelr,
type LegiTextelrEtat,
type LegiTextelrLienArt,
type LegiTextelrLienArtEtat,
type LegiTextelrLienArtOrigine,
type LegiTextelrLienSectionTa,
type LegiTextelrLienSectionTaEtat,
type LegiTextelrNature,
type LegiTextelrOrigine,
type LegiTextelrStructure,
type LegiTexteVersion,
type LegiTexteVersionEtat,
type LegiTexteVersionLien,

View file

@ -117,6 +117,8 @@ export interface JorfArticleTm {
export type JorfArticleType = (typeof allJorfArticleTypes)[number]
// Section Texte Article
// Correspond à un niveau d'une table des matières
export interface JorfSectionTa {
ID: string
COMMENTAIRE?: string
@ -142,26 +144,16 @@ export interface JorfSectionTa {
}
}
TITRE_TA?: string
STRUCTURE_TA?: Array<{
LIEN_ART?: Array<{
STRUCTURE_TA?: JorfSectionTaStructure
}
export interface JorfSectionTaLienArt {
"@debut": string
"@etat"?: JorfSectionTaLienArtEtat
"@fin": string
"@id": string
"@num"?: string
"@origine"?: JorfSectionTaLienArtOrigine
}>
LIEN_SECTION_TA?: Array<{
"#text"?: string
"@cid": string
"@debut": string
// "@etat"?: JorfSectionTaLienSectionTaEtat
"@fin": string
"@id": string
"@niv": number
"@url": string
}>
}>
}
export type JorfSectionTaLienArtEtat =
@ -170,9 +162,27 @@ export type JorfSectionTaLienArtEtat =
export type JorfSectionTaLienArtOrigine =
(typeof allJorfSectionTaLienArtOrigines)[number]
export interface JorfSectionTaLienSectionTa {
"#text"?: string
"@cid": string
"@debut": string
// "@etat"?: JorfSectionTaLienSectionTaEtat
"@fin": string
"@id": string
"@niv": number
"@url": string
}
export type JorfSectionTaLienSectionTaEtat =
(typeof allJorfSectionTaLienSectionTaEtats)[number]
// Structure d'une Section Texte Article
// Lien vers les sous-niveaux (articles ou Sections Texte Article) d'un niveau de table des matières
export interface JorfSectionTaStructure {
LIEN_ART?: JorfSectionTaLienArt[]
LIEN_SECTION_TA?: JorfSectionTaLienSectionTa[]
}
export type JorfSectionTaTexteNature =
(typeof allJorfSectionTaTexteNatures)[number]
@ -214,27 +224,7 @@ export interface JorfTextelr {
}
}
}
STRUCT?: {
LIEN_ART?: Array<{
"@debut": string
"@etat"?: JorfTextelrLienArtEtat
"@fin": string
"@id": string
// "@nature"?: undefined
"@num"?: string
"@origine"?: JorfTextelrLienArtOrigine
}>
LIEN_SECTION_TA?: Array<{
"#text"?: string
"@cid": string
"@debut": string
// "@etat"?: undefined
"@fin": string
"@id": string
"@niv": number
"@url": string
}>
}
STRUCT?: JorfTextelrStructure
VERSIONS: {
VERSION: Array<{
"@etat"?: JorfTextelrEtat
@ -250,6 +240,16 @@ export interface JorfTextelr {
export type JorfTextelrEtat = (typeof allJorfTextelrEtats)[number]
export interface JorfTextelrLienArt {
"@debut": string
"@etat"?: JorfTextelrLienArtEtat
"@fin": string
"@id": string
// "@nature"?: undefined
"@num"?: string
"@origine"?: JorfTextelrLienArtOrigine
}
export type JorfTextelrLienArtEtat = (typeof allJorfTextelrLienArtEtats)[number]
export type JorfTextelrLienArtNature =
@ -262,6 +262,23 @@ export type JorfTextelrNature = (typeof allJorfTextelrNatures)[number]
export type JorfTextelrOrigine = (typeof allJorfTextelrOrigines)[number]
export interface JorfTextelrLienSectionTa {
"#text"?: string
"@cid": string
"@debut": string
// "@etat"?: undefined
"@fin": string
"@id": string
"@niv": number
"@url": string
}
// Structure du JorfTextelr
// Premier niveau de table des matières
export interface JorfTextelrStructure {
LIEN_ART?: JorfTextelrLienArt[]
LIEN_SECTION_TA?: JorfTextelrLienSectionTa[]
}
export interface JorfTexteVersion {
ABRO?: {
CONTENU: string // HTML

View file

@ -104,6 +104,8 @@ export interface LegiArticleTm {
export type LegiArticleType = (typeof allLegiArticleTypes)[number]
// Section Texte Article
// Correspond à un niveau d'une table des matières
export interface LegiSectionTa {
COMMENTAIRE?: string
CONTEXTE: {
@ -128,27 +130,17 @@ export interface LegiSectionTa {
}
}
ID: string
STRUCTURE_TA?: Array<{
LIEN_ART?: Array<{
STRUCTURE_TA?: LegiSectionTaStructure
TITRE_TA?: string // Titre de la section (peut contenir des sauts de lignes à remplacer par des espaces)
}
export interface LegiSectionTaLienArt {
"@debut": string
"@etat"?: LegiSectionTaLienArtEtat
"@fin": string
"@id": string
"@num"?: string
"@origine": LegiSectionTaLienArtOrigine
}>
LIEN_SECTION_TA?: Array<{
"#text"?: string
"@cid": string
"@debut": string
"@etat"?: LegiSectionTaLienSectionTaEtat
"@fin": string
"@id": string
"@niv": number
"@url": string
}>
}>
TITRE_TA?: string
}
export type LegiSectionTaLienArtEtat =
@ -157,9 +149,27 @@ export type LegiSectionTaLienArtEtat =
export type LegiSectionTaLienArtOrigine =
(typeof allLegiSectionTaLienArtOrigines)[number]
export interface LegiSectionTaLienSectionTa {
"#text"?: string
"@cid": string
"@debut": string
"@etat"?: LegiSectionTaLienSectionTaEtat
"@fin": string
"@id": string
"@niv": number
"@url": string
}
export type LegiSectionTaLienSectionTaEtat =
(typeof allLegiSectionTaLienSectionTaEtats)[number]
// Structure d'une Section Texte Article
// Lien vers les sous-niveaux (articles ou Sections Texte Article) d'un niveau de table des matières
export interface LegiSectionTaStructure {
LIEN_ART?: LegiSectionTaLienArt[]
LIEN_SECTION_TA?: LegiSectionTaLienSectionTa[]
}
export type LegiSectionTaTexteNature =
(typeof allLegiSectionTaTexteNatures)[number]
@ -201,27 +211,7 @@ export interface LegiTextelr {
}
}
}
STRUCT?: {
LIEN_ART?: Array<{
"@debut": string
"@etat"?: LegiTextelrLienArtEtat
"@fin": string
"@id": string
// "@nature"?: undefined
"@num"?: string
"@origine": LegiTextelrLienArtOrigine
}>
LIEN_SECTION_TA?: Array<{
"#text": string
"@cid": string
"@debut": string
"@etat"?: LegiTextelrLienSectionTaEtat
"@fin": string
"@id": string
"@niv": number
"@url": string
}>
}
STRUCT?: LegiTextelrStructure
VERSIONS: {
VERSION: Array<{
"@etat"?: LegiTextelrEtat
@ -237,11 +227,32 @@ export interface LegiTextelr {
export type LegiTextelrEtat = (typeof allLegiTextelrEtats)[number]
export interface LegiTextelrLienArt {
"@debut": string
"@etat"?: LegiTextelrLienArtEtat
"@fin": string
"@id": string
// "@nature"?: undefined
"@num"?: string
"@origine": LegiTextelrLienArtOrigine
}
export type LegiTextelrLienArtEtat = (typeof allLegiTextelrLienArtEtats)[number]
export type LegiTextelrLienArtOrigine =
(typeof allLegiTextelrLienArtOrigines)[number]
export interface LegiTextelrLienSectionTa {
"#text": string // Titre de la section
"@cid": string // ID de la Section Texte Article que la Section Texte Article a modifée ou égal à @id si pas de modification
"@debut": string // Date de début
"@etat"?: LegiTextelrLienSectionTaEtat
"@fin": string // Date de fin
"@id": string // ID de la Section Texte Article
"@niv": number // Niveau de profondeur de la section dans l'arborescence
"@url": string // Chemin du fichier XML de la Section Texte Article dans l'archive
}
export type LegiTextelrLienSectionTaEtat =
(typeof allLegiTextelrLienSectionTaEtats)[number]
@ -249,6 +260,13 @@ export type LegiTextelrNature = (typeof allLegiTextelrNatures)[number]
export type LegiTextelrOrigine = (typeof allLegiTextelrOrigines)[number]
// Structure du LegiTextelr
// Premier niveau de table des matières
export interface LegiTextelrStructure {
LIEN_ART?: LegiTextelrLienArt[]
LIEN_SECTION_TA?: LegiTextelrLienSectionTa[]
}
export interface LegiTexteVersion {
ABRO?: {
CONTENU: string // HTML