{ Cette extension de schema de structure decrit les informations necessaires a l application index. fusion des anciens schemas RefIndex, RefOption, RefDesc et RefCrois H. Richy juillet 1992 } STRUCTURE EXTENSION ExtIndex; DEFPRES ExtIndexP; STRUCT Marque_Index (ATTR A_Vers_descripteur = REFERENCE(Descripteur); NumeroMarque = Integer) = PAIR; Contenu = LIST OF (Unit\351 = UNIT); Car_Index = BEGIN Titre_Car = LIST [0..*] OF (Car = TEXT); Contenu_Car = LIST [0..*] OF (Elem_Index); END; Elem_Index = BEGIN Entr\351e; ? Suite_entr\351e = LIST [0..*] OF (Entr\351e1); END; Entr\351e = BEGIN Terme (ATTR Niveau = Romain, Gras, Italique, ItalGras) = Contenu; ? Commentaire = Glose; ? Liste_des_Ref = BEGIN ? Liste_directe = LIST [0..*] OF (RefDirecte); ? Liste_crois\351e = LIST [0..*] OF (RefCrois\351e); END; END; RefCrois\351e = BEGIN RefCr (ATTR Force = Faible, Normal, Fort) = REFERENCE (Entr\351e); Vers_crois\351e = REFERENCE (CCl\351s); END; RefDirecte = BEGIN ? NoteNum = TEXT; PageNum (ATTR Force) = CASE OF PageUnique (ATTR Vers_marque = REFERENCE (First Marque_Index)) = TEXT; PageIntervalle = BEGIN PageDebut (ATTR Vers_marque) = TEXT; PageFin (ATTR Vers_marque_fin = REFERENCE (Second Marque_Index)) = TEXT; END; END; Vers_descripteur = REFERENCE (Cl\351s); END; Entr\351e1 = BEGIN Entr\351e; ? Suite_entr\351e1 = LIST [0..*] OF (Entr\351e2); END; Entr\351e2 = BEGIN Entr\351e; ? Suite_entr\351e2 = LIST [0..*] OF (Entr\351e3); END; Entr\351e3 = BEGIN Entr\351e; END; EXTENS ROOT + (Marque_Index); Annexe - (Marque_Index); ASSOC Descripteur (ATTR Vers_marque1 = REFERENCE(Marque_Index)) = BEGIN Cl\351s (ATTR Valeur = faible, moyenne, forte) = LIST [1..3] OF (Cl\351 = Contenu) WITH Valeur ? = moyenne; ? Sujet = TEXT; { auteur, sujet,... => Niveau de Entr\351e dans Table_Index } { => Choix d une Table_Index specialisee } ? S\351mantique = TEXT; { condition de fusion => separation des homographes } ? Glose = Contenu ; END; Renvoi = BEGIN CCl\351s (ATTR Valeur) = LIST [1..3] OF (CCl\351 = Contenu) WITH Valeur ? = moyenne; ? Sujet; ? S\351mantique; ? Glose; RenvoiCl\351s = REFERENCE(Cl\351s); END; Option = BEGIN Idx_Titre (ATTR Tri = Alpha, Num, Typo, Personnel; Pres_Renvoi = Par_page, Par_section; Pres_Terme = MAJUSCULES, Minuscules, Une_capitale, Des_capitales, Tel_quel; Pres_Groupe = Visible, NonVisible) = Titre_Index WITH Tri ? = Alpha, Pres_Renvoi ? = Par_page, Pres_Terme ? = Une_capitale, Pres_Groupe ? = Visible; Idx_Sujets = LIST [0..4] OF (Idx_Sujet (ATTR Pres_Sujet = Romain, Gras, Italique, ItalGras) = TEXT WITH Pres_Sujet ? = Romain); ? Idx_Intro = Intro_Index; ? Idx_Groupes = LIST OF (Idx_Groupe = BEGIN Idx_CarGroupe = LIST [2..*] OF (Idx_CarElem = TEXT); END); END - (Marque_Index); Index_table (ATTR Pres_Ref = Par_page, Par_section; Pres_Car = Visible, NonVisible) = BEGIN Titre_Index = Contenu; ? Intro_Index = LIST OF (Paragraphe); Contenu_Index = LIST [0..*] OF (Car_Index); END; EXCEPT EXTERN Titre: 1401; EXTERN Auteur: 1401; EXTERN Mots_cl\351s: 1401; EXTERN Titre_section: 1401; EXTERN Titre_du_chapitre: 1401; EXTERN Titre_abr\351g\351: 1401; EXTERN Importance: 1402; EXTERN Dossier: 1280; EXTERN Document: 1281; EXTERN Section: 1200, 1201; EXTERN Note: 1217; EXTERN Ref_note: 1218; First Marque_Index: 1200, 1203; Second Marque_Index: 1200, 1204, NoCreate; A_Vers_descripteur: 1200, 1205, ActiveRef; NumeroMarque: 1200, 1206, Invisible; Index_table: 1200, 1213, MoveResize, NoCreate, NoCut; Descripteur: 1200, 1214, MoveResize; Renvoi: 1200, 1215, MoveResize; Option: 1200, 1216, MoveResize; Cl\351: 1200, 1221, MoveResize; Valeur: 1200, 1222; Sujet: 1200, 1223, MoveResize; S\351mantique: 1200, 1227, MoveResize; Glose: 1200, 1228, MoveResize; Vers_marque1: 1200, 1229, ActiveRef, Invisible; RenvoiCl\351s: 1200, 1207, 1230, NoCut, NoCreate; CCl\351s: MoveResize, NoCut; Elem_Index: 1200, 1240, MoveResize, NoCreate, NoCut; Car_Index: 1200, 1242, MoveResize, NoCreate, NoCut; Liste_directe: 1200, 1243, MoveResize, NoCreate, NoCut; Liste_crois\351e: 1200, 1244, MoveResize, NoCreate, NoCut; PageUnique: 1200, 1245, MoveResize, NoCreate, NoCut; PageDebut: 1200, 1246, MoveResize, NoCreate, NoCut; Force: 1200, 1247; Liste_des_Ref: 1200, 1248, MoveResize, NoCreate, NoCut; Commentaire: 1200, 1249, MoveResize, NoCreate, NoCut; Car: 1200, 1250, MoveResize, NoCreate, NoCut; Suite_entr\351e: 1200, 1251, MoveResize, NoCreate, NoCut; Suite_entr\351e1: 1200, 1252, MoveResize, NoCreate, NoCut; Suite_entr\351e2: 1200, 1253, MoveResize, NoCreate, NoCut; RefCr: 1200, 1207, 1254, MoveResize, NoCreate, NoCut; Vers_marque: 1200, 1255, Invisible, ActiveRef; Vers_marque_fin: 1200, 1256, Invisible, ActiveRef; Pres_Ref: 1200, 1257, Invisible; Pres_Car: 1200, 1258, Invisible; PageIntervalle: 1200, 1259, MoveResize, NoCreate, NoCut; Contenu_Index: 1200, 1270, MoveResize, NoCreate, NoCut; Intro_Index: 1200, 1271, MoveResize; Niveau: 1200, 1272; NoteNum: 1200, 1273, MoveResize, NoCreate, NoCut; Vers_descripteur: 1200, 1274, MoveResize, NoCreate, NoCut; Titre_Index: 1200, 1275, MoveResize, NoCreate, NoCut; Contenu_Car: MoveResize, NoCreate, NoCut; Entr\351e: MoveResize, NoCreate, NoCut; Terme: MoveResize, NoCreate, NoCut; RefDirecte: MoveResize, NoCreate, NoCut; RefCrois\351e: MoveResize, NoCreate, NoCut; Vers_crois\351e: MoveResize, NoCreate, NoCut; PageNum: MoveResize, NoCreate, NoCut; PageFin: MoveResize, NoCreate, NoCut; Entr\351e1: MoveResize, NoCreate, NoCut; Entr\351e2: MoveResize, NoCreate, NoCut; Entr\351e3: MoveResize, NoCreate, NoCut; Pres_Sujet: 1200, 1261; Tri: 1200, 1262; Pres_Renvoi: 1200, 1263; Idx_CarGroupe: 1200, 1264, MoveResize; Pres_Groupe: 1200, 1265; Idx_CarElem: 1200, 1266, MoveResize; Pres_Terme: 1200, 1267; Idx_Intro: 1200, 1268, MoveResize; END