ࡱ > d f [ \ ] ^ _ ` a b c ` bjbj X \ T) T) T)
^) 8 : t t X . L d d d * L . . | P h $0 % , * $0 $0 j) j) d d (1 , , , $0 8G j) 6n d d , $0 , , n x f* d " cxH \w d ו $ ( 0 X z
@ ( x/ " / , / / ^ x/ x/ x/ x/ x/ x/ X $0 $0 $0 $0 + $ j) j) j) j) j) j)
TITLE \* MERGEFORMAT XEMELIOS
SUBJECT \* MERGEFORMAT Documentation de spcifications
Rfrences:
axYus : FILENAME \* MERGEFORMAT SP-AX-05-5289-R001-specifications Xemelios Paye.doc
Rvision 001 13/05/2005
Gestion du document
NomSocit / serviceDateSignatureRdig parThierry BillardaxYus13 mai 2005Vrifi parThierry BillardaxYus13 mai 2005Approuv parEmmanuel SPINATDGCP/Helios/demat15 juin 2005
Historique des modifications
RvisionDateModificationAuteurREV. 00113 mai 2005Cration du document.Thierry Billard
Liste de diffusion
NomSocitServiceDirection Gnrale de la Comptabilit Publique
TOC \o "1-3" 1. Introduction PAGEREF _Toc104804287 \h 4
2. Linterface utilisateur PAGEREF _Toc104804288 \h 5
2.1. Prsentation PAGEREF _Toc104804289 \h 5
2.2. Schma denchanement des crans PAGEREF _Toc104804290 \h 5
2.3. Lancement de Xemelios PAGEREF _Toc104804291 \h 6
2.3.1. Chargement de lenvironnement PAGEREF _Toc104804292 \h 6
2.3.2. Dfinition et saisie du mot de passe PAGEREF _Toc104804293 \h 6
2.4. Ecran daccueil PAGEREF _Toc104804294 \h 6
2.4.1. Prsentation PAGEREF _Toc104804295 \h 6
2.4.2. Importation PAGEREF _Toc104804296 \h 6
2.5. Ecran de recherche PAGEREF _Toc104804297 \h 8
2.5.1. Prsentation PAGEREF _Toc104804298 \h 8
2.5.2. Bandeau suprieur PAGEREF _Toc104804299 \h 9
2.5.3. Critres de recherche PAGEREF _Toc104804300 \h 10
2.5.4. Rsultat de la recherche PAGEREF _Toc104804301 \h 11
2.6. Export CSV du rsultat de la recherche PAGEREF _Toc104804302 \h 12
2.7. Affichage dune fiche individuelle PAGEREF _Toc104804303 \h 13
3. Les fichiers de configuration PAGEREF _Toc104804304 \h 14
3.1. Prsentation PAGEREF _Toc104804305 \h 14
3.2. Le fichier de configuration de loutil PAGEREF _Toc104804306 \h 14
3.3. Le fichier documents.xml PAGEREF _Toc104804307 \h 15
3.3.1. Schma xsd PAGEREF _Toc104804308 \h 15
3.3.2. Exemple PAGEREF _Toc104804309 \h 23
Introduction
Xemelios est un outil gnrique qui permet un utilisateur, au travers dune interface simple et conviviale, deffectuer des recherches dans des documents au format XML et de visualiser le contenu de ces documents.
Ses principales fonctionnalits sont les suivantes :
importation et exportation des donnes d'un tat XML,
recherche partir dun masque (multicritre),
visualisation des rsultats sous forme de tableau triable par colonne,
exportation des rsultats au format CVS,
visualisation dune fiche individuelle.
Un fichier de configuration permet de dcrire pour chaque type de documents XML que Xemelios est susceptible de pouvoir traiter:
Ltat ou les tats composant ce document,
Les diffrents critres de recherche propres chaque tat,
Le nom de la feuille de style XSL de mise en forme dun lment de ltat.
Ce document dcrit:
Linterface utilisateur et ses diffrentes fonctions,
La structure des fichiers de dfinition dun document.
Linterface utilisateur
Prsentation
Xemelios est une application de type client/serveur dveloppe entirement en langage Java. Linterface utilisateur utilise la bibliothque des composants SWING et la partie serveur sappuie sur la base de donne XML dbXML.
Aprs linstallation du logiciel sur le poste de lutilisateur (cf. DE-AX-05-5237-Rxxx-installation_exploitation.doc), celui ci peut lancer lapplication soit en double-cliquant sur licne Xemelios prsente sur le Bureau de son poste de travail, ou bien en slectionnant Lancer Xemelios via le menu Dmarrer / Programmes / Xemelios.
Schma denchanement des crans
Lancement de Xemelios
Chargement de lenvironnement
Au lancement du logiciel, une barre de progression est affiche durant la phase d'initialisation.
Dfinition et saisie du mot de passe
Lors de la premire utilisation de lapplication, lutilisateur est invit initialiser et confirmer son mot de passe.
Lors des utilisations suivantes, une boite de dialogue demande la saisie d'un mot de passe. Au troisime chec, le logiciel se ferme automatiquement.
Ecran daccueil
Prsentation
Cet cran permet lutilisateur daccder, au travers de menu, au 2 principales fonctions de loutil:
Importation,
Recherche.
Importation
L'importation des fichiers se fait par le menu Fichier / Importer. Un sous-menu prsente les types de documents connus. Lorsque l'utilisateur choisit un type de document, lapplication affiche une boite de dialogue de recherche de fichier(s).
L'utilisateur peut alors slectionner le ou les fichiers importer dont l'extension correspond celle dfinie dans la dfinition de document.
Lorsque l'utilisateur cherche importer un fichier qu'il a dj import, Xemelios lui demande s'il veut craser l'ancienne version. Deux fichiers sont considrs comme identiques s'ils sont du mme type de document, qu'ils portent sur la mme collectivit et le mme budget, et qu'ils portent le mme nom.
Si, dans la dfinition du document, il n'est pas prcis o se trouve la collectivit, Xemelios demande l'utilisateur de prciser le code et le libell de la collectivit (le libell est optionnel, le code sera utilis s'il n'est pas fournit).
Si, dans la dfinition du document, il n'est pas prcis o se trouve le budget, Xemelios demande l'utilisateur de prciser le code et ventuellement le libell du budget.
Si, pour ce type de document il y avait dj un rfrentiel et que le fichier import en contient un, le rfrentiel existant est cras par le nouveau.
Ecran de recherche
Prsentation
L'accs aux recherches se fait par le menu Recherche de lcran daccueil. Un sous-menu apparat, affichant la liste des Etats connus. Si l'utilisateur slectionne un tat pour lequel il n'y a pas de donne, l'application affiche un message, dans le cas contraire le systme affiche lcran de recherche.
Celui-ci comporte trois zones :
En haut un bandeau avec les zones suivantes:
Listes de choix de la collectivit et du budget,
Bouton permettant d'ajouter des critres de recherche,
Bouton permettant de lancer la recherche,
Bouton permettant de supprimer tous les critres;
Au milieu, la liste des critres,
En bas le tableau de rsultat de la recherche.
Remarque:
L'cran de recherche est clipp頻 lintrieur de lcran daccueil, il est possible dafficher plusieurs crans de recherche. La rorganisation des crans de recherche peut tre automatique en utilisant les options du menu Fentre de lcran daccueil.
Bandeau suprieur
A l'ouverture de la fentre de recherche, les listes Collectivit et Code Budget sont accessibles pour permettre l'utilisateur de choisir le contexte de sa recherche. Lorsque le contexte est modifi, les critres sont effacs.
Critres de recherche
L'utilisateur a le choix parmi les critres dfinis dans l'tat. Lorsqu'il slectionne un critre, les champs associs s'affichent :
Les champs qui apparaissent dpendent de la dfinition du critre. Dans l'exemple suivant, le critre comporte un select dont le libell est Rubrique, dont le contenu est initialis l'aide de trois option, et un input dont le libell est Mt et le datatype est numeric, ce qui explique la prsence de la liste d'oprateurs de comparaison.
Dans le fichier de paramtrage, le code est le suivant :
Rsultat de la recherche
Lorsque l'utilisateur lance la recherche, les lments trouvs sont affichs dans le tableau de rsultat:
Les colonnes affiches sont celles dfinies dans le fichier de paramtrage. Il est possible de trier le rsultat de la recherche en doucle-cliquant sur l'entte d'une colonne
Remarque:
Il n'est pas possible de trier sur deux colonnes en mme temps. Il est possible de dplacer et de redimensionner les colonnes.
Export CSV du rsultat de la recherche
Il est possible dexporter les rsultats dune recherche au format CSV. Cette fonction est accessible par le menu Fichier / Exporter de lcran daccueil. Le systme affiche un cran de slection de fichier.
Cette boite de dialogue permet de choisir l'emplacement et le nom du fichier crer, ainsi que le caractre utiliser comme dlimiteur (par dfaut, le ;). Il est aussi possible de dcider si on exporte l'ensemble du rsultat de la recherche, ou seulement les lignes slectionnes.
Remarque:
Si aucun rsultat de recherche nest disponible, le menu dexportation n'est pas actif.
Affichage dune fiche individuelle
Xemelios permet de consulter, au travers dun navigateur HTML, la fiche individuelle dun lment dun tat. La mise en forme en HTML de la fiche partir de la description XML de llment est assur par une feuille de style XSLT dont le nom est dfinie dans le fichier de configuration dun document.
En double-cliquant sur une ligne de rsultat de recherche, la fiche de dtail de l'lment s'affiche dans le navigateur par dfaut.
Les fichiers de configuration
Prsentation
Xemelios utilise deux types de fichiers de configuration:
Un fichier de configuration gnral qui contient tous les paramtres dfinissant lenvironnement dexcution de lapplication,
Les fichiers documents.xml dfinissant la structure des documents XML manipuls par Xemelios.
Le fichier de configuration de loutil
Le fichier de configuration permet de dfinir les diffrents paramtres de loutil. Il est normalement configur par le programme d'installation, mais il est possible de le modifier.
//Rpertoire dinstallation de Xemelios
demat.home=C:/Xemelios/root/
//Rpertoire dinstallation de dbXml
dbxml.home=${demat.home}/dbxml
//???
labrador.quiet=true
labrador.config=${dbxml.home}/config/labrador.xml
//Dfinition des classes utilises pour la manipulation des documents XML
javax.xml.parsers.DocumentBuilderFactory=org.apache.xerces.jaxp.DocumentBuilderFactoryImpl
javax.xml.parsers.SAXParserFactory=org.apache.xerces.jaxp.SAXParserFactoryImpl
//Informations de connexion dbXml
//false pour utiliser un serveur dbXml install sur une
//machine distante
DematClientImpl.startServer=true
DematClientImpl.startServer.configPath=${dbxml.home}/config/system.xml
//utilisateur et mot de passe dbXml
DB.user=scott
DB.pass=tiger
//Adresse et numro de port de connexion dbXml
//DB.host=localhost
//DB.port=7280
//Chemin daccs aux librairies utilises par Xemelios
classdirs=${dbxml.home}/java/lib;${demat.home}/lib
//Classe de dmarrage
startclass=fr.gouv.finances.cp.outil.Splash
startclass.classMethod=main
startclass.classMethod.Args=toto,titi,tata
//Rpertoire de dfinition des descriptions des documents XML
documents.def.dir=${demat.home}/documents-defs
//Dfinition du fichier de configuration de la log
log4j.xml=${demat.home}/conf/log4j.xml
// ne pas modifier utilise par la version modifiee de dbXml
index.creation.notifier.class=fr.gouv.finances.cp.outil.common.listeners.IndexCreationListener
// affichage ou non du menu permettant de vider la base
admin.menu=true
Le fichier documents.xml
Xemelios peut traiter une infinit de types de documents XML ; cependant, si ces documents peuvent tre bass sur des schmas trs diffrents, ceux-ci doivent respecter une structure prcise:
Un document peu comprendre un ou plusieurs enttes,
Un document comprend au moins un tat,
Un tat peut comprendre un ou plusieurs enttes,
Un tat comprend au moins un lment,
Un document peut comprendre un rfrentiel de nomenclature,
Un document se rapporte toujours une collectivit et un budget.
On peut schmatiser un document valide pour Xemelios de la faon suivante :
Les fichier documents.xml contient la ou les dfinitions de documents. Les fichiers rfrencs dans les dfinitions de document (.xsd, .xsl, etc.) doivent se trouver dans le mme rpertoire.
Schma xsd
L'lment racine
Chemin d'acces absolu a la collectivite et au budget. Si non fourni, l'importeur doit le demander a l'utilisateur
Les elements constituant l'entete du document (qui ne sont ni des etats, ni le referentiel et qui ne doivent pas etre ignores)
Permet de recopier l'attribut d'un tag en lui apportant une transformation
On peut filtrer avec des portions de chemins.
une sequence de tags xxx/yyy dont le dernier est celui definit dans l'attribut tag-name de l'element copyLe nom du tag auquel s'applique cette modification
Les etats de ce document
extension des fichiers
emplacement du schema du document
Titre de ce type de document, visible par l'utilisateur
Nom de la balise racine de ce document
Nom de la classe java a utiliser pour l'import
Indique si la creation des index doit se faire de facon synchrone ou asynchrone
Nom de la balise racine du referentiel
La partie CDATA contient le nom du tag qui est considere comme entete
Permet de definir l'acces a une ou plusieurs paires de la forme (cle, description)
La requete qui permet de trouver toutes les paires que l'on cherche.
Attention, suivant les endroits, la requete peut etre relative a un element donne ou absolue
Chemin d'acces a la cle relatif au noeud ramene par la premiere requete
Chemin d'acces au libelle relatif au noeud ramene par la premiere requete
Une requete XPath valide.
La syntaxe XPath est disponible a l'url suivante : http://www.w3.org/TR/xpath
Il est possible de remplacer les caracteres crochets ("[" et "]") par des accolades ("{" et "}")
pour simplifier l'ecriture du xml.
Un etat
Les elements constituant l'entete du document (qui ne sont pas des lignes et qui ne doivent pas etre ignores)
La facon dont les lignes doivent etres decoupees a l'importation
La definition complete d'une ligne d'un etat
Le titre de cet etat (visible par l'utilisateur)
Le nom de la balise racien de cet etat
L'emplacement du fichier xsl permettant d'afficher un element dans le navigateur
Definit comment decouper les lignes de l'etat lors de l'importation
Non utilise a ce jour, reserve pour un usage futur
Le nombre maximal de lignes que doit contenir un document dans la base
Le chemin absolu (depuis la racine du document) permettant d'atteindre ce noeud
L'identifiant de l'element
Le tag de l'element
Le nombre de resultats a afficher au maximum
Les champs a afficher dans le tableau de resultat de recherche
L'id du champ sur lequel on trie par defaut.
L'ordre dans lequel on trie par defaut
Cette requete XPath est particuliere : tout d'abord elle est forcement relative a l'element.
Ensuite, elle peut contenir des parties qui seront substituees avant l'execution de la requete.
Les parties substituables sont ##OPERATEUR:id## et ##VALEUR:id## ou id represente l'id de l'un
des input ou select definis dans la suite.
Exemple : {Agent/Nom{@V##OPERATEUR:nom##"##VALEUR:nom##"}} premet de chercher les elements dont le nom de l'agent
correspond a la valeur saisie. Cette requete implique qu'un input dont l'id est "nom" soit definit,
et que son attribut datatype soit definit.
un simple champ de saisie
une liste de selection
Le nom affiche dans la liste des criteres
L'identifiant tel qu'il est utilise dans les substitutions de la requete
Le libelle a afficher juste devant le champ. Si absent, aucun libelle n'est affiche
Si present, affiche une liste de selection contenant les operateurs lies au type definit
Permet d'effectuer nue recherche dans le referentiel. Le chemin doit etre absolu a partir de la racine du document
Le libelle est dans le CDATA
L'identifiant tel qu'il est utilise dans les substitutions de la requete
Le libelle a afficher juste devant le champ. Si absent, aucun libelle n'est affiche
une requete soit relative a l'element, soit absolue par rapport au document - commencant par un "/" - (pour aller chercher une information d'entete par exemple).
Il est important de noter qu'une requete absolue est bien plus couteuse en terme de performances
qu'une requete relative a l'element.
Cette requete doit imperativement ramener une unique valeur (par exemple la valeur d'un attribut).
L'ordre des champs dans le tableau de resultat de la recherche est le meme que celui dans lequel les champs sont presentes dans le fichier de configuration
Ce libelle est affiche en entete de colonne de la liste de resultat
Permet d'effectuer des comparaisons sur des numeriques.
Les operateurs disponibles sont = != < <= > >=
Permet d'effectuer des comparaisons sur des chaines de caracteres
Les operateurs disponibles sont = != < <= > >=
L'attribut auquel on va appliquer une transformationLe nom de l'attribut que l'on va creerLa transformation a appliquer : majuscule, minuscule ou simple recopie
Exemple
/DocumentPaye/EmployeurSiret/@VNom/@VIdVerAnneeMoisEmployeurEtablissementAnneeMois/DocumentPaye/DonneesIndiv/PayeIndivMensuelAnnee/@VMois/@VAgent/Nom/@VAgent/Prenom/@VAgent/Statut/@VAgent/EmploiMetier/@VService/@VAgent/Indice/@VNBI[1]/@VRemuneration/TraitBrut[1]/Mt/@VRemuneration/IndemResid[1]/Mt/@VRemuneration/SupFam[1]/Mt/@VMtNet/@VEvenement[1]/Description/@V{Annee{@V##OPERATEUR:annee####VALEUR:annee##}}{Mois{@V##OPERATEUR:mois####VALEUR:mois##}}{Remuneration{##VALEUR:exist##}}{Remuneration{##VALEUR:exist##/Mt{@##VALEUR:exist####OPERATEUR:MtLig####VALEUR:MtLig##}}}{Remuneration/*{Code{@V="##VALEUR:RubLig##"}}{Mt{@V##OPERATEUR:MtLig####VALEUR:MtLig##}}}{Evenement{Code{@V="##VALEUR:Evt##"}}}{Remuneration/*{CodeCaisse{@V="##VALEUR:Caisse##"}}}{Agent/Nom{##OPERATEUR:agent_nom##(@V2,"##VALEUR:agent_nom##")}}{Agent/Prenom{##OPERATEUR:agent_prenom##(@V,"##VALEUR:agent_prenom##")}}{Agent/Matricule{##OPERATEUR:agent_matricule##(@V2,"##VALEUR:agent_matricule##")}}{Agent/NIR{##OPERATEUR:agent_nir##(@V,"##VALEUR:agent_nir##")}}{Agent/Statut{@V="##VALEUR:agent_statut##"}}{Agent/NbEnfants{@V##OPERATEUR:nbenf####VALEUR:nbenf##}}{Agent/Grade{##OPERATEUR:grade##(@V,"##VALEUR:grade##")}}{Agent/Echelon{##OPERATEUR:echelon##(@V,"##VALEUR:echelon##")}}{Agent/Indice{@V##OPERATEUR:indice##"##VALEUR:indice##"}}{NBI{@V##OPERATEUR:nbi##"##VALEUR:nbi##"}}{Agent/EmploiMetier{##OPERATEUR:emploi##(@V2,"##VALEUR:emploi##")}}{Service{##OPERATEUR:service##(@V2,"##VALEUR:service##")}}{QuotiteTrav{@V##OPERATEUR:quotite##"##VALEUR:quotite##"}}{NbHeureTotal{@V##OPERATEUR:nbheures####VALEUR:nbheures##}}{NbHeureSup{@V##OPERATEUR:nbheuressup####VALEUR:nbheuressup##}}{MtNet{@V##OPERATEUR:mtnet####VALEUR:mtnet##}}{MtImposable{@V##OPERATEUR:mtimpo####VALEUR:mtimpo##}}{Evenement/*}AnneeMois/DocumentPaye/RepartitionParNature/RepartitionAnnee/@VMois/@VLibelle/@VCode/@VMt/@V{Annee{@V##OPERATEUR:annee##"##VALEUR:annee##"}}{Mois{@V##OPERATEUR:mois##"##VALEUR:mois##"}}
Un tat est une partie du document XML sur laquelle on veut effectuer des recherches.
XEMELIOSInstallation & exploitation FILENAME \* MERGEFORMAT SP-AX-05-5289-R001-specifications Xemelios Paye.docRvision 001 DATE \@ "dd/MM/yyyy" 31/08/2005Page PAGE 19/ NUMPAGES 33
xxxxxxxxx
xxxxxxxxx
.
xxxxxxxxx
xxxxx
Spcifications
xxxxxxxxx
xxxxxxxxx
xxxxxxxxx
xxxxxxxxx
xxxxxxxxx
xxxxxxxxx
xxxxxxxxx
Login
Mot de passe:
Rechercher
Rechercher
Budget: Collectivit:
- critre:
et - critre:
xxxx
Importer Rechercher Aide
xxxxxxxxx
Fiche de paye
Fiche individuelle (html)
Ecran de recherche
Ecran daccueil
Ecran de connexion
xxxxxxxxx
/ 0 8 9 = > W X w x { B C q r 濠掊}www
h
CJ
h`7 5CJ
h`7 CJ h`7
h`7 5CJ h`7 56OJ QJ h`7 OJ QJ mH nH uh`7 5OJ QJ h`7 >*OJ QJ j h`7 OJ QJ Uh`7 5CJ OJ QJ j h`7 5CJ OJ QJ U h`7 OJ QJ "j h`7 OJ QJ UmH nH u.
: ; < = y z $h$d N ^ha$ $h^ha$ $a$ z { ! 3 8 B
$x x $If a$ $a$ $
J
a$ $h^ha$ B C kd $$If F 4 r
% B 3 U
2 0 4
F a p2 C N ^ d p q r ~ B kde $$If F r
% B 3 U 0 4
F a
$x x $If a$
x x $If ~ B kdB $$If F r
% B 3 U 0 4
F a
$x x $If a$
x x $If ? kd- $$If F r
% B 3 U 0 4
F a
x x $If $x x $If a$gd
O E
6 x x $If kd $$If F r
% B 3 U 0 4
F a
x x $If
-
.
i
j
n
o
s
t
x
y
}
~
. / 0 1 2 N O i j k l m קז j] h`7 UmH nH u j h`7 UmH nH u jc h`7 UmH nH u j h`7 UmH nH u h`7 mH nH uj h`7 U
h`7 5CJ
h`7 5CJ
h`7 CJ h`7 ;
E C C C kd $$If F r
% B 3 U 0 4
F a
x x $If
6 x x $If
&
-
.
- kd $$If F 4 \
% B N ( 0 4
F a p(
$x x $If a$ .
7
C
Y
i
j
k
l
m
n
b kd $$If F \
% B N 0 4
F a
x x $If n
o
p
q
r
s
l b b b b
x x $If kd $$If F \
% B N 0 4
F a s
t
u
v
w
x
l b b b b
x x $If kd $$If F \
% B N 0 4
F a x
y
z
{
|
}
l b b b b
x x $If kdn $$If F \
% B N 0 4
F a }
~
l b b b b
x x $If kd5
$$If F \
% B N 0 4
F a
l b b b b
x x $If kd
$$If F \
% B N 0 4
F a
l b b b b
x x $If kd $$If F \
% B N 0 4
F a
l j j j ] ] ]
$x x $If a$ kd $$If F \
% B N 0 4
F a
X K K K
$x x $If a$ kdQ
$$If F 4 F
%
W 0 4
F a p
u h h
$x x $If a$
x x $If kdP $$If F F
%
W 0 4
F a
u h h
$x x $If a$
x x $If kd $$If F F
%
W 0 4
F a
3 n ! f
N
} v v o o o h h o h h ,
Ld#
+
pd#
*
d#
kd $$If F F
%
W 0 4
F a F G a b c d e
.
/
I
J
q j h`7 UmH nH u jK h`7 UmH nH u j h`7 UmH nH u jQ h`7 UmH nH u j h`7 UmH nH u jW h`7 UmH nH u j h`7 UmH nH u j h`7 UmH nH u h`7 mH nH u ,J
K
L
M
f
g
+ , - / 0 Q R l m n p q j h`7 UmH nH u j9 h`7 UmH nH u j h`7 UmH nH u j? h`7 UmH nH u j h`7 UmH nH u jE h`7 UmH nH u h`7 mH nH uj h`7 UmH nH u0N
1 r N D t v w \ ] > $
&