Le fichier ABC/XML et la DTD

By 20 March 2012

Le fichier ABC/XML et la DTD – Chapitre 5

Ayant modélisé hiérarchiquement l’application ABC, nous devons la transposer sous forme de document XML.
Lors d’une première étape, nous créerons la DTD qui comme nous l’avons vu plus avant, validera notre document XML.
Ensuite, la seconde étape consistera à élaborer le document XML correspondant, et à y saisir de l’information.

1-La DTD

Dans la DTD, nous devons traduire les tables issues des modélisations ERD et Hiérarchiques. XML retient la notion d’élément, nos tables deviendront des éléments.
Le terme d’attribut restera, un élément comportant des attributs, tout comme une table comporte des attributs.
Hormis le fait de créer des éléments et leurs attributs, nous devons également définir dans la DTD la structure des relations entre éléments et leur ordonnancement.

2- Les relations entre éléments.

En examinant le modèle hiérarchique, nous distinguons que les tables se répartissent en quatre
« colonnes » distinctes, qui sont quatre relations parent/enfants d’éléments.
Les relations entre éléments
Ces quatre relations sont reliées entre elles par les trois éléments ayant deux parents, « mesurage », « composition_activite » et « pcmn » comme nous l’avons vu dans la modélisation hiérarchique.
XML autorise deux types de liens entre éléments: l’imbrication des éléments ou les pointeurs.

3- L’imbrication des éléments

L’imbrication d’éléments consiste à inclure l'(es) élément(s) enfant(s) dans l’élément parent.
Le défaut de cette méthode est une lourdeur du document due à la redondance de l’information. XML est par nature verbeux, ce n’est donc pas anormal.

Nous imbriquerons les quatre « colonnes » du modèle hiérarchique.
– L’élément racine (vide) « ABC » inclut les éléments « client », « activite », « famille_cout », « charge indirecte » et « pcmn ».
– L’élément « client » inclut « commande » qui inclut « mesurage » et « charge_directe ». – L’élément « Activite » inclut « composition_activite ».
– L’élément « Famille_cout » inclut « composition_famille ».
– L’élément « charge indirecte » inclut « imputation ».

4- Les pointeurs

Les pointeurs utilisent généralement les types ID IDREF(S) pour mettre des éléments en relation. Pour établir la relation entre les éléments pointés par les attributs ID IDREF(S) situé dans des éléments distincts, l’outil de requête compare la valeur de ces attributs.

Exemple: si l’attribut IDREF d’un élément « livre » prend pour valeur « memoire1 » et l’attribut ID d’ un élément « bibliothèque » prend pour valeur « roman10 », l’évaluation comparative ne permettra pas de liaison.
Si par contre l’attribut ID devient « memoire1 », la liaison entre les éléments par le pointeur sera établie.
Comme nous le verrons plus bas, la notion de pointeur peut relever de la comparaison d’attributs identifiant sans recourir à ID IDREF.

Si les pointeurs permettent un découplage des éléments, il génèrent un inconvénient: la lenteur de traitement.
Le parseur ne navigue pas facilement entre les ID IDREF, la relation ID IDREF est unidirectionnelle: de IDREF vers ID s’opère facilement, mais l’inverse est plus laborieux.
Cela implique que le parseur doit parfois effectuer plusieurs passages au sein du document si l’élément comportant le ID est positionné avant celui contenant IDREF.

Ce processus peut devenir laborieux pour les fichiers XML de grande taille.
Nous aurons recours à cette méthode, notre fichier ABC_XML ayant peu de chances d’atteindre une taille critique.
(source: XML et bases de données. ISBN: 2-212-09282-2 page 34-35).
Nous utiliserons des pointeurs pour relier les quatre groupes d’éléments de relation définis ci-dessus
Chapitre 5. Le fichier ABC/XML et la DTD
– « mesurage » pointe vers « activite »
– « composition_activite » pointe vers « famille_cout »
– « imputation » pointe vers « pcmn »; « composition_famille » pointe vers « pcmn »; « charge _directe » pointe vers « pcmn ».
Nous remarquons que les pointeurs portent sur trois les éléments « multi-parents » évoqués en modélisation hiérarchique.

5-Organisation de l’ordre des éléments.

Nous devons choisir l’ordre dans lequel apparaîtront ces éléments imbriqués.
Nous optons une représentation lisible.

A savoir: partir de client et de sa commande qui fait l’objet de mesurages ayant trait à des activités constituées de familles de coûts elles mêmes composées de charges indirectes.
Organisation de l'ordre des éléments

6- La DTD en pratique. Elément racine

La première ligne de la DTD déclare l’élément racine qui est « ABC » ainsi que les éléments imbriqués dans ABC
<!ELEMENT ABC (client+, activite+, famille_cout+, charge_indirecte+, pcmn+)>
Plusieurs instances de ces éléments sont autorisées dans le document XML du fait de la présence du signe + suivant chacun des éléments déclarés (client+,..etc..)
Elément « client ».
<!ELEMENT client (commande+)>
L’élément « client » est déclaré, il inclut un élément « commande » qui peut faire l’objet de plusieurs instantiations.

<!ATTLIST client
id_client (jaeger01| cairelli02| panerai03) #REQUIRED nom (jaeger| cairelli| panerai) #REQUIRED
adresse CDATA #REQUIRED>

Pour chaque élément (sauf « ABC » qui est vide), nous déclarons la liste des attributs correspondant.
La liste des attributs de l’entité « client », soit <!ATTLIST client> :
– id_client, dont le type est une liste de choix entre les différentes valeurs possibles pour cet attribut, soit « jaeger01 » ou « cairelli02 » ou bien « panerai03 ». Il n’est pas possible d’encoder dans le futur document XML une valeur autre que ces trois, autorisées par la DTD.
– nom, où nous saisirons le nom du client avec logiquement trois possibilités, soit « jaeger » ou « cairelli » ou bien « panerai ».
– adresse, où figurera l’adresse du client, de type CDATA.
Elément « commande ».

<!ELEMENT client (commande+)>
<!ELEMENT commande (mesurage+, charge_directe+)> <!ATTLIST commande
id_commande CDATA #REQUIRED
descriptif CDATA #REQUIRED
chiffre_affaire CDATA #REQUIRED>

La déclaration de l’élément commande intervient au sein de « client », lui-même comportant les éléments mesurage et charge_directe (plusieurs instantiations de mesurage et de charge_directe sont possibles) , l’élément commande étant un élément imbriqué dans l’élément client.
Les attributs de l’élément « commande »: « id_commande », « descriptif » et « chiffre_affaire »,
tous trois en format CDATA.
Notons que nous n’avons pas utilisé un attribut « id_client » dans l’élément « commande », contrairement à ce qu’indiquent les schémas de modélisation ERD et hiérarchique, où il avait un rôle de pointeur qui n’est plus nécessaire, les entités « client » et « commande » étant imbriquées.
Elément « mesurage ».

<!ELEMENT client (commande+)>
<!ELEMENT commande (mesurage+)>
<!ELEMENT mesurage EMPTY>
<!ATTLIST mesurage
id-mesurage CDATA #REQUIRED
id_aktivite IDREF #REQUIRED
date CDATA #REQUIRED
quantite CDATA #REQUIRED
unite_oeuvre (heure_communication| heure_demarchage| article_unitaire| kilometre| heure_production| heure_comptabilite_abc| minute_telecom) #REQUIRED >

Nous déclarons ensuite l’élément « mesurage » qui ne comporte pas d’élément imbriqué, et est donc « EMPTY ».
Les attributs de cette élément: « id_mesurage », « id_aktivite », « date » (du relevé), « quantite » (d’unités d’oeuvre) et « unite_oeuvre » avec une liste de choix imposés.
Nb. Il a été choisi d’orthographier « id_aktivite » avec un « k » pour être en mesure de la distinguer d’un second attribut « id_activite ».
Notons que l’attribut « id_activite » est de type IDREF: il s’agit du pointeur reliant l’élément « mesurage » à l’élément « activite ».
Ici aussi, du fait de l’imbrication, l’attribut « id_commande » des modélisations précédentes n’a pas été créé.
Elément « chargedirecte ».

<!ELEMENT charge_directe EMPTY>
<!ATTLIST charge_directe
id_charge_d CDATA #REQUIRED
id_pcmn (601000| 620000) #REQUIRED montant_dir_htva_impute CDATA #REQUIRED quantite CDATA #REQUIRED>

Nous déclarons enfin l’élément « charge_directe ».
Ses attributs sont: « id_charge_d », « id_pcmn » qui a une liste de choix de postes pcmn autorisés, « montant_dir_htva_impute » et « quantite ».
Sauf « id_pcmn », les attributs sont de type CDATA.
Comme pour l’élément « mesurage », l’attribut « id_commande » n’est plus repris. Elément « activite ».

<!ELEMENT activite (composition_activite+)>
<!ATTLIST activite
id_activite ID #REQUIRED
nom_activite (act1_communication| act2_demarchage| act3_logistique| act4_transport| act5_production| act6_comptabilite_abc| act7_telecom ) #REQUIRED>

L’élément « activite » qui inclut un élément « composition_activite » peut être instancié une ou plusieurs fois. Les attributs en sont « id_activite » et « nom_activite », avec une liste de choix; « id_activite » est de type ID.
Il assure le lien avec l’attribut IDREF que nous décrivons quelques lignes plus haut. Le lien est effectué par comparaison de la valeur prise par ces deux attributs.
Element « compositionactivite ».

<!ELEMENT activite (composition_activite+)>
<!ELEMENT composition_activite EMPTY>
<!ATTLIST composition_activite id_compoact CDATA #REQUIRED id_famille_kout IDREF #REQUIRED proportion CDATA #REQUIRED>

L’élément « composition_activite » n’inclut pas d’autre élément (EMPTY).
Ses attributs: « id_compoact » de type CDATA; chaque instanciation de l’élément « composition _activite » aura une valeur unique pour cet attribut; id_famille_kout de type IDREF est un pointeur vers l’élément « famille_cout »; proportion est de type CDATA.
Elément « famillecout ».

<!ELEMENT famille_cout (composition_famille+)>
<!ATTLIST famille_cout
id_famille_cout ID #REQUIRED
nom_famille (fam1_publicite| fam2_bureau| fam3_stock| fam4_formation_ documentation| fam5_honoraires| fam6_transport| fam7_outil_production| fam8_telecom ) #REQUIRED>

Définissons l’élément « famille_cout » qui inclut l’élément « composition_famille ». Ses attributs: « id_famille_cout », de type ID qui assure la relation avec l’élément
« composition_activite » (ci-dessus) et recevra une valeur unique à chaque instantiation; « nom_famille » imposant une liste de choix.
Elément « compositionfamille ».
<!ELEMENT famille_cout (composition_famille+)>
<!ELEMENT composition_famille EMPTY>
<!ATTLIST composition_famille
id_compofam CDATA #REQUIRED
id_pcmn_fam (601300| 606140| 611130| 611150| 611300| 611350| 612000| 612160|

612300| 612400| 612500| 613250| 613530| 613540| 615100| 615200|
615220| 616100| 616200| 616300| 616400| 630210| 630220| 630231|
630232| 640100| 640200) #REQUIRED

proportion_cf CDATA #REQUIRED> « composition_famille » est l’élément imbriqué dans « composition_famille ». L’attribut « id_pcmn_fam » liste les postes pcmn autorisés par leur code en 6 chiffres, « proportion_cf » de type CDATA reprendra la part d’intervention de tel poste pcmn dans la composition de famille. Elément « chargeindirecte ».

<!ELEMENT charge_indirecte (imputation+)> <!ATTLIST charge_indirecte id_chargeindirecte CDATA #REQUIRED montant_htva_total CDATA #REQUIRED>

Nous déclarons l’élément « charge_indirecte » incluant l’élément « imputation » dont une ou plusieurs instances sont possibles. Ses attributs: « id_chargeindirecte » et « montant_htva_total » tous deux au format CDATA. Elément « imputation ». <!ELEMENT charge_indirecte (imputation+)> <!ELEMENT imputation EMPTY> <!ATTLIST imputation id_imputation CDATA #REQUIRED id_pcmn_imputation (601300| 606140| 611130| 611150| 611300| 611350| 612000|

612160| 612300| 612400| 612500| 613250| 613530| 613540|
615100| 615200| 615220| 616100| 616200| 616300| 616400|
630210| 630220| 630231| 630232| 640100| 640200) #REQUIRED

montant_htva_impute CDATA #REQUIRED> L’élément « imputation » incorporé à « charge_indirecte » a pour attributs « id_imputation » de type CDATA, pour lequel chaque instanciation recevra une valeur unique et une liste de choix portant sur les codes pcmn comme précédemment (la liste est identique) pour l’attribut « id_pcmn_imputation ». Elément « pcmn ». <!ELEMENT pcmn EMPTY> <!ATTLIST pcmn id_pcmn (601300| 606140| 611130| 611150| 611300| 611350| 612000| 612160| 612300|

612400| 612500| 613250| 613530| 613540| 615100| 615200| 615220| 616100|
616200| 616300| 616400| 630210| 630220| 630231| 630232| 640100| 640200)

#REQUIRED intitule (601300_outillage|606140_frais_transport|611130_location_outillage| 611150_location_vehicule| 611300_entretien_locaux | 611350_entretien_ vehicule| 612000_energie_immeuble| 612160_carburant| 612300_documentation| 612400_imprimes_fourn_bureau| 612500_petit_mat_bureau| 613250_honoraire_comptable| 613530 _assurance_vehicule | 613540_assurance_RC| 615000_frais_deplacement| 615100_frais_representation| 615200_publicite_annonces| 615220 _foires_expositions| 616100_frais_postaux| 616200_telephone| 616300_gsm| 616400_internet| 630210_dot_amort_immeuble| 630220_dot_amort_outil| 630231_dot_amort_mobilier| 630232_dot_amort_matroulant| 640100_dot_taxe_vehicule| 640200_precompte_immobilier) #REQUIRED> Nous présentons ci-dessous la DTD. <!ELEMENT ABC (commande+, activite+, famille_cout+, charge_indirecte+, client+, pcmn+ )> <!ELEMENT commande (mesurage+)> <!ATTLIST commande id_commande CDATA #REQUIRED id_client (jaeger| cairelli| panerai) #REQUIRED descriptif CDATA #REQUIRED chiffre_affaire CDATA #REQUIRED> <!ELEMENT mesurage EMPTY> <!ATTLIST mesurage id-mesurage CDATA #REQUIRED id_activite IDREF #REQUIRED date CDATA #REQUIRED quantite CDATA #REQUIRED unite_oeuvre (heure_communication| heure_demarchage| heure_logistique| kilometre| heure_production| heure_comptabilite_abc| minute_telecom) #REQUIRED > <!ELEMENT charge_directe EMPTY> <!ATTLIST charge_directe id_charge_d CDATA #REQUIRED id_pcmn (601000| 620000) #REQUIRED montant_dir_htva_impute CDATA #REQUIRED quantite CDATA #REQUIRED> <!ELEMENT activite (composition_activite+)> <!ATTLIST activite id_activite ID #REQUIRED nom_activite ( act_communication| act_demarchage| act_logistique| act_transport| act_production | act_comptabilite_abc| act_telecom ) #REQUIRED> <!ELEMENT composition_activite EMPTY> <!ATTLIST composition_activite id_compoact CDATA #REQUIRED id_famille_cout IDREF #REQUIRED proportion CDATA #REQUIRED> <!ELEMENT famille_cout (composition_famille+)> <!ATTLIST famille_cout id_famille_cout ID #REQUIRED nom_famille (fam_publicite| fam_bureau| fam_stock| fam_formation_documentation| fam_honoraires| fam_transport| fam_outil_production| fam_telecom ) #REQUIRED> <!ELEMENT composition_famille EMPTY> <!ATTLIST composition_famille id_fam CDATA #REQUIRED id_pcmn_fam (601300| 611150| 612000| 612300| 612400| 612500| 613250| 613530| 615200| 616200| 616300) #REQUIRED proportion_cf CDATA #REQUIRED> <!ELEMENT charge_indirecte (imputation+)> <!ATTLIST charge_indirecte id_chargeindirecte CDATA #REQUIRED montant_htva_total CDATA #REQUIRED> <!ELEMENT imputation EMPTY> <!ATTLIST imputation id_imputation CDATA #REQUIRED id_pcmn_imputation (601300| 611150| 612000| 612300| 612400| 612500| 613250| 613530| 615200| 616200| 616300) #REQUIRED montant_htva_impute CDATA #REQUIRED> <!ELEMENT client EMPTY> <!ATTLIST client id_klient (jaeger| cairelli| panerai) #REQUIRED adresse CDATA #REQUIRED> <!ELEMENT pcmn EMPTY> <!ATTLIST pcmn id_pcmn (601300| 611150| 612000| 612300| 612400| 612500| 613250| 613530| 615200| 616200| 616300) #REQUIRED intitule (601300_outillage| 611150_location_vehicule| 612000_energie_immeuble| 6 12300_documentation| 612400_imprimes_fourn_bureau| 612500_petit_mat_bureau| 613250_honoraire_comptable| 613530_assurance_vehicule| 615000_frais_deplacement| 615200_frais_representation| 615200_publicite_annonces| 616200_telephone| 616300_gsm) #REQUIRED

7-Le document XML.

Nous rédigeons le document XML. Comme nous l’avons déjà évoqué plus haut, la DTD doit être respectée scrupuleusement. Si au lieu de saisir « pcmn », nous saisissons « pmcn », le parseur décèlera l’erreur qui sera une erreur bloquante, c’est à dire qu’aucune opération n’est possible tant qu’il n’y a pas correction. <?xml version=”1.0″ encoding=”ISO-8859-1″?> <!DOCTYPE ABC SYSTEM “/home/jean/Memoireulb/XQ27avril/abc_avril27_id01.dtd”> Des deux premières lignes du document XML , la première est la déclaration XML qui spécifie quelle est la version XML utilisée (1.0) et le type d’encodage du document (ISO-8859-1). La seconde ligne indique que l’élément racine est « ABC », et précise où se trouve la DTD dans le système de fichiers de l’ordinateur.

<ABC> <client id_client=”” nom=”” adresse=””>

L’ensemble des éléments sont inclus dans l’élément racine <ABC> qui est la première balise ouverte. Nous avons ensuite l’élément <client> qui inclut l’élément <commande> qui inclut les éléments <mesurage> et <charge_directe>. La balise </commande> est refermée après l’élément <charge_directe>, la balise </client> est refermée après l’élément </commande>.

<ABC> <client id_client=”” nom=”” adresse=””> <commande id_commande=”” descriptif=”” chiffre_affaire=””> <mesurage id_mesurage=”” id_aktivite=”” date=”” quantite=”” unite_oeuvre=””/> <charge_directe id_charge_d=”” id_pcmn=”” montant_dir_htva_impute=”” quantite=””/> </commande> </client>

Au même niveau hiérarchique que l’élément <client>, l’élément <activité> qui inclut l’élément <composition_activite>. La balise </activite> est refermée après l’élément </composition_activite>.

<activite id_activite=”” nom_activite=”” unite_oeuvre=””> <composition_activite id_compoact=”” id_famille_kout=”” proportion=””/> </activite>

L’élément <famille_cout> inclut l’élément <composition_famille>; la balise </famille_cout> est refermée après l’élément </composition_famille>.

<famille_cout id_famille_cout=”” nom_famille=””> <composition_famille id_compofam=”” id_pcmn_fam=”” proportion_cf=””/> </famille_cout>

L’élément <charge_indirecte> inclut l’élément <imputation>, la balise </charge_indirecte> est refermée après l’élément </imputation>.

<charge_indirecte id_chargeindirecte=”” montant_htva_total=””> <imputation id_imputation=”” id_pcmn_imputation=”” montant_htva_impute=””/> </charge_indirecte>

Enfin, le dernier élément <pcmn> qui est lui aussi au même niveau hiérarchique que les éléments <client>, <activité>, <famille_cout> et <charge_indirecte>. La balise de l’élément racine </ABC> est refermée.

<pcmn id_pcmn=”” intitule=””/> </ABC>

8-Les données du document XML.

Disposant de la structure du document XML, nous devons y saisir les données comptables que nous déclarions au premier chapitre, ainsi que quelques mesurages et autres données client. Nous distinguons deux types de données au sein du document XML: – les données relevant de la pratique de l’entreprise – les données nécessaires à l’analyse ABC. La seconde catégorie consistera en une information servant de base aux calculs ABC. Elle sera accèdée plus rarement en écriture, et cet accès devrait être idéalement restreint. Il est nécessaire de bien comprendre les conséquences sur les résultats de l’application ABC avant de procéder à une modification de ces données. Les données d’analyse ABC. Ce sont les données des éléments <activite> et <composition_activite>, <famille_cout> et <composition_famille>. Les activités. Nous y transcrivons activité par activité quelles familles de coût les composent, et dans quelle proportion. Cela a été défini dans le chapitre consacré à la méthode ABC, et synthétisé par un tableau que nous reproduisons.

Act1 Act2 Act3 Act4 Act5 Act6 Act7
Fam1 1
Fam2 0,3 0,4 0,3
Fam3 1
Fam4 0,42 0,34 0,24
Fam5 1
Fam6 1

Fam7 0,27 0,73

Fam8
1
Pour le premier élément traitant de l’activité « communication », les valeurs d’attributs sont:

id_activite: « act1 »
nom_activite: « act1_communication » (conformément à la liste de choix de la DTD) unité_oeuvre: « heure_communication » (conformément à la liste de choix de la DTD)

Les valeurs d’attribut des deux éléments <composition_activite> inclut dans l’élément <activite> sont:

id_compoact: « compoact001 » id_famille_kout: « fam1 »
proportion: « 1 »

et

id_compoact: « compoact002 » id_famille_kout: « fam2 »
proportion: « .3 »

Ce qui se lit: l’activité1 est composée de la famille de coûts « fam1 » qui intervient à 100%, et de la famille de coûts « fam2 » qui intervient à 30% dans le calcul de sa valeur.

<activite id_activite=”act1″ nom_activite=”act1_communication” unite_oeuvre=”heure_communication”>
<composition_activite id_compoact=”compoact001″ id_famille_kout=”fam1″ proportion=”1″/>
<composition_activite id_compoact=”compoact002″ id_famille_kout=”fam2″ proportion=”.3″/> </activite>

Le même raisonnement est valable pour les sept activités décrites dans le chapitre ABC. Nous reproduisons la partie du document XML relative aux activités ci-dessous.

<activite id_activite=”act1″ nom_activite=”act1_communication” unite_oeuvre=”heure_communication”>
<composition_activite id_compoact=”compoact001″ id_famille_kout=”fam1″ proportion=”1″/>
<composition_activite id_compoact=”compoact002″ id_famille_kout=”fam2″ proportion=”.3″/> </activite>
<activite id_activite=”act2″ nom_activite=”act2_demarchage” unite_oeuvre=”heure_demarchage”>
<composition_activite id_compoact=”compoact003″ id_famille_kout=”fam2″ proportion=”.4″/>
<composition_activite id_compoact=”compoact004″ id_famille_kout=”fam4″ proportion=”.42″/> </activite>
<activite id_activite=”act3″ nom_activite=”act3_logistique” unite_oeuvre=”article_unitaire”> <composition_activite id_compoact=”compoact005″ id_famille_kout=”fam3″ proportion=”1″/> <composition_activite id_compoact=”compoact006″ id_famille_kout=”fam7″ proportion=”.27″/>
</activite>
<activite id_activite=”act4″ nom_activite=”act4_transport” unite_oeuvre=”kilometre”>
<composition_activite id_compoact=”compoact008″ id_famille_kout=”fam6″ proportion=”1″/> </activite>
<activite id_activite=”act5″ nom_activite=”act5_production” unite_oeuvre=”heure_production”>
<composition_activite id_compoact=”compoact009″ id_famille_kout=”fam4″ proportion=”.34″/>
<composition_activite id_compoact=”compoact010″ id_famille_kout=”fam7″ proportion=”.73″/> </activite>
<activite id_activite=”act6″ nom_activite=”act6_comptabilite_abc”
unite_oeuvre=”heure_comptabilite_abc”>
<composition_activite id_compoact=”compoact011″ id_famille_kout=”fam5″ proportion=”1″/> <composition_activite id_compoact=”compoact012″ id_famille_kout=”fam2″ proportion=”.3″/> <composition_activite id_compoact=”compoact013″ id_famille_kout=”fam4″ proportion=”.24″/>
</activite>
<activite id_activite=”act7″ nom_activite=”act7_telecom” unite_oeuvre=”minute_telecom”> <composition_activite id_compoact=”compoact002″ id_famille_kout=”fam8″ proportion=”1″/> </activite>

Les familles de coût.
Les familles de coût sont également décrites dans le chapitre1 dédié à ABC.
Chacune de ces huit familles sont constituées de postes pcmn qui interviennent dans des proportion parfois différentes.
Le fragment du document XML relatif aux familles de coût se lit de la même façon que celui cidessus traitant des activités.
La famille1 est constituée des postes pcmn « 615100 », « 615200 » et « 615220 » qui interviennent chacun à 100%.
Dans la famille2, nous trouvons le poste pcmn « 611300 » pour 40%, etc..
<famille_cout id_famille_cout=”fam1″ nom_famille=”fam1_publicite”>
<composition_famille id_compofam=”compofam01″ id_pcmn_fam=”615100″ proportion_cf=”1″/>
<composition_famille id_compofam=”compofam02″ id_pcmn_fam=”615200″ proportion_cf=”1″/>
<composition_famille id_compofam=”compofam03″ id_pcmn_fam=”615220″ proportion_cf=”1″/>
</famille_cout>
<famille_cout id_famille_cout=”fam2″ nom_famille=”fam2_bureau”>
<composition_famille id_compofam=”compofam04″ id_pcmn_fam=”611300″ proportion_cf=”.4″/> <composition_famille id_compofam=”compofam05″ id_pcmn_fam=”612000″ proportion_cf=”.4″/> <composition_famille id_compofam=”compofam06″ id_pcmn_fam=”612400″ proportion_cf=”1″/> <composition_famille id_compofam=”compofam07″ id_pcmn_fam=”612500″ proportion_cf=”1″/> <composition_famille id_compofam=”compofam08″ id_pcmn_fam=”616100″ proportion_cf=”1″/> <composition_famille id_compofam=”compofam09″ id_pcmn_fam=”630210″ proportion_cf=”.4″/> <composition_famille id_compofam=”compofam10″ id_pcmn_fam=”630231″ proportion_cf=”.8″/> <composition_famille id_compofam=”compofam30″ id_pcmn_fam=”640200″ proportion_cf=”.4″/>
</famille_cout>
<famille_cout id_famille_cout=”fam3″ nom_famille=”fam3_stock”>
<composition_famille id_compofam=”compofam11″ id_pcmn_fam=”611300″ proportion_cf=”.6″/>
<composition_famille id_compofam=”compofam12″ id_pcmn_fam=”612000″ proportion_cf=”.6″/>
<composition_famille id_compofam=”compofam13″ id_pcmn_fam=”630210″ proportion_cf=”.6″/>

<composition_famille id_compofam=”compofam14″ id_pcmn_fam=”630220″ proportion_cf=”.2″/>
<composition_famille id_compofam=”compofam15″ id_pcmn_fam=”630231″ proportion_cf=”.2″/>
<composition_famille id_compofam=”compofam31″ id_pcmn_fam=”640200″ proportion_cf=”.6″/>
</famille_cout>
<famille_cout id_famille_cout=”fam4″ nom_famille=”fam4_formation_documentation”> <composition_famille id_compofam=”compofam16″ id_pcmn_fam=”612300″ proportion_cf=”1″/> </famille_cout>
<famille_cout id_famille_cout=”fam5″ nom_famille=”fam5_honoraires”>
<composition_famille id_compofam=”compofam17″ id_pcmn_fam=”613250″ proportion_cf=”1″/> </famille_cout>
<famille_cout id_famille_cout=”fam6″ nom_famille=”fam6_transport”>
<composition_famille id_compofam=”compofam18″ id_pcmn_fam=”606140″ proportion_cf=”1″/> <composition_famille id_compofam=”compofam19″ id_pcmn_fam=”611150″ proportion_cf=”1″/> <composition_famille id_compofam=”compofam20″ id_pcmn_fam=”611350″ proportion_cf=”1″/> <composition_famille id_compofam=”compofam21″ id_pcmn_fam=”612160″ proportion_cf=”1″/> <composition_famille id_compofam=”compofam22″ id_pcmn_fam=”613530″ proportion_cf=”1″/> <composition_famille id_compofam=”compofam23″ id_pcmn_fam=”630232″ proportion_cf=”1″/> <composition_famille id_compofam=”compofam24″ id_pcmn_fam=”640100″ proportion_cf=”1″/>
</famille_cout>
<famille_cout id_famille_cout=”fam7″ nom_famille=”fam7_outil_production”>
<composition_famille id_compofam=”compofam25″ id_pcmn_fam=”601300″ proportion_cf=”1″/> <composition_famille id_compofam=”compofam26″ id_pcmn_fam=”611130″ proportion_cf=”1″/> <composition_famille id_compofam=”compofam27″ id_pcmn_fam=”613540″ proportion_cf=”1″/> <composition_famille id_compofam=”compofam28″ id_pcmn_fam=”630220″proportion_cf=”.8″/>
</famille_cout>
<famille_cout id_famille_cout=”fam8″ nom_famille=”fam8_telecom”>
<composition_famille id_compofam=”compofam29″ id_pcmn_fam=”616200″ proportion_cf=”1″/>
<composition_famille id_compofam=”compofam32″ id_pcmn_fam=”616300″ proportion_cf=”1″/>
<composition_famille id_compofam=”compofam33″ id_pcmn_fam=”616400″ proportion_cf=”1″/>
</famille_cout>

9-Les données d’exercice de l’entreprise.

Ces données concernent les clients, commandes, mesurages et charges directes et indirectes que nous imputons.

Les clients et commandes.

Nous avons ouvert trois éléments <client>. Le premier élément <client> a pour attributs:

id_client: « jaeger01 » (conformément à la liste de choix de la DTD) nom: « jaeger » (conformément à la liste de choix de la DTD) adresse: « rue du bois 36 1000 bruxelles »

Ce client a passé une commande, que nous lisons dans l’élément <commande> qui est inclu (dans
l’élément <client> que nous venons de décrire).

<commande
id_commande: « com001 » descriptif: « systeme solaire » chiffre_affaire= « 12000 »>

La lecture est identique pour chaque élément <client>.
Le id de cette commande est « com001 », son objet consistera à vendre et placer un systeme solaire, le chiffre d’affaire en est de 12000 (Euro)

<client id_client=”jaeger01″ nom=”jaeger” adresse=”rue du bois 36 à 1000 bruxelles”>
<commande id_commande=”com001″ descriptif=”systeme solaire” chiffre_affaire=”12000″>
<client id_client=”cairelli02″ nom=”cairelli” adresse=”grand-place 1 à 1200 Bruxelles”>
<commande id_commande=”com002″ descriptif=”extension système” chiffre_affaire=”2310″>
<client id_client=”panerai03″ nom=”panerai” adresse=”av. des Arts 2 1200 Bruxelles”>
<commande id_commande=”com004″ descriptif=”système solaire” chiffre_affaire=”6400″>

Les mesurages et charges directes.
Revenons au premier élément <client>.
Nous lui avons attribué deux commandes (deux éléments <commande> inclus dans les tags <client>).
Il a ensuite été procédé à des mesurages d’unités d’oeuvre des activités utilisées.
Dans le document XML, nous avons incorporé à l’élément <commande> dont l’attribut id_commande est « com001 », seize éléments <mesurage> pour seize mesurages réalisés pour cette commande.
La lecture du premier mesurage:
id_mesurage=”mes001″
id_aktivite=”act2″
date=”01 feb 2009″
quantit=”4″
unite_oeuvre=”heure_demarchage”/>
Le mesurage1 se rapportant à l’activité2 a été réalisé le 01 février 2009; 4 unités d’oeuvre de type « heure_demarchage » ont été consommées.

<client id_client=”jaeger01″ nom=”jaeger” adresse=”rue du bois 36 à 1000 bruxelles”> <commande id_commande=”com001″ descriptif=”rediger exemple” chiffre_affaire=”12000″> <mesurage id_mesurage=”mes001″ id_aktivite=”act2″ date=”01 feb 2009″ quantite=”4″ unite_oeuvre=”heure_demarchage”/>
<mesurage id_mesurage=”mes002″ id_aktivite=”act7″ date=”01 feb 2009″ quantite=”23″ unite_oeuvre=”minute_telecom”/>
<mesurage id_mesurage=”mes003″ id_aktivite=”act4″ date=”01 feb 2009″ quantite=”42″ unite_oeuvre=”kilometre”/>
<mesurage id_mesurage=”mes004″ id_aktivite=”act5″ date=”15 feb 2009″ quantite=”8″ unite_oeuvre=”heure_production”/>

<mesurage id_mesurage=”mes005″ id_aktivite=”act4″ date=”01 feb 2009″ quantite=”40″ unite_oeuvre=”kilometre”/>
<mesurage id_mesurage=”mes006″ id_aktivite=”act3″ date=”13 feb 2009″ quantite=”24″ unite_oeuvre=”article_unitaire”/>
<mesurage id_mesurage=”mes007″ id_aktivite=”act4″ date=”01 feb 2009″ quantite=”22″ unite_oeuvre=”kilometre”/>
<mesurage id_mesurage=”mes008″ id_aktivite=”act5″ date=”16 feb 2009″ quantite=”8.5″ unite_oeuvre=”heure_production”/>
<mesurage id_mesurage=”mes009″ id_aktivite=”act4″ date=”01 feb 2009″ quantite=”38″ unite_oeuvre=”kilometre”/>
<mesurage id_mesurage=”mes010″ id_aktivite=”act5″ date=”15 feb 2009″ quantite=”6″ unite_oeuvre=”heure_production”/>
<mesurage id_mesurage=”mes011″ id_aktivite=”act4″ date=”01 feb 2009″ quantite=”40″ unite_oeuvre=”kilometre”/>
<mesurage id_mesurage=”mes012″ id_aktivite=”act5″ date=”15 feb 2009″ quantite=”10″ unite_oeuvre=”heure_production”/>
<mesurage id_mesurage=”mes013″ id_aktivite=”act3″ date=”13 feb 2009″ quantite=”11″ unite_oeuvre=”article_unitaire”/>
<mesurage id_mesurage=”mes014″ id_aktivite=”act2″ date=”01 feb 2009″ quantite=”1.5″ unite_oeuvre=”heure_demarchage”/>
<mesurage id_mesurage=”mes015″ id_aktivite=”act6″ date=”01 feb 2009″ quantite=”1.5″ unite_oeuvre=”heure_comptabilite_abc”/>
<mesurage id_mesurage=”mes016″ id_aktivite=”act7″ date=”01 feb 2009″ quantite=”51″ unite_oeuvre=”minute_telecom”/>
<charge_directe id_charge_d=”fact0020″ id_pcmn=”601000″ montant_dir_htva_impute=”4756″
quantite=”1″/>
<charge_directe id_charge_d=”fact0023″ id_pcmn=”601000″ montant_dir_htva_impute=”322″
quantite=”1″/>
<charge_directe id_charge_d=”fact9999″ id_pcmn=”620000″ montant_dir_htva_impute=”25″
quantite=”32.5″/>
</commande>
<commande id_commande=”com003″ descriptif=”seconde commande” chiffre_affaire=”1852″> <mesurage id_mesurage=”mes022″ id_aktivite=”act4″ date=”12 avril 2009″ quantite=”42″ unite_oeuvre=”kilometre”/>
<mesurage id_mesurage=”mes023″ id_aktivite=”act5″ date=”12 avril 2009″ quantite=”2″ unite_oeuvre=”heure_production”/>
<charge_directe id_charge_d=”fact0041″ id_pcmn=”601000″ montant_dir_htva_impute=”640″ quantite=”1″/>
<charge_directe id_charge_d=”fact9999″ id_pcmn=”620000″ montant_dir_htva_impute=”25″ quantite=”2″/> </commande>
</client>
<client id_client=”cairelli02″ nom=”cairelli” adresse=”grand-place 1 à 1200 Bruxelles”> <commande id_commande=”com002″ descriptif=”production exemple” chiffre_affaire=”2310″> <mesurage id_mesurage=”mes017″ id_aktivite=”act4″ date=”25 mars 2009″ quantite=”12″ unite_oeuvre=”kilometre”/>
<mesurage id_mesurage=”mes018″ id_aktivite=”act5″ date=”25 mars 2009″ quantite=”8″ unite_oeuvre=”heure_production”/>
<mesurage id_mesurage=”mes019″ id_aktivite=”act4″ date=”28 mars 2009″ quantite=”20″ unite_oeuvre=”kilometre”/>
<mesurage id_mesurage=”mes020″ id_aktivite=”act5″ date=”28 mars 2009″ quantite=”7.25″ unite_oeuvre=”heure_production”/>

<mesurage id_mesurage=”mes021″ id_aktivite=”act6″ date=”02 avril 2009″ quantite=”.5″ unite_oeuvre=”heure_comptabilite_abc”/>
<charge_directe id_charge_d=”fact0005″ id_pcmn=”601000″ montant_dir_htva_impute=”801″ quantite=”1″/>
<charge_directe id_charge_d=”fact9999″ id_pcmn=”620000″ montant_dir_htva_impute=”25″ quantite=”15.25″/>
</commande>
</client>
<client id_client=”panerai03″ nom=”panerai” adresse=”av. des Arts 2 1200 Bruxelles”> <commande id_commande=”com004″ descriptif=”système solaire” chiffre_affaire=”6400″> <mesurage id_mesurage=”mes024″ id_aktivite=”act2″ date=”06 mars 2009″ quantite=”2.5″
unite_oeuvre=”heure_communication”/>
<mesurage id_mesurage=”mes025″ id_aktivite=”act4″ date=”06 mars 2009″ quantite=”61″ unite_oeuvre=”kilometre”/>
<mesurage id_mesurage=”mes026″ id_aktivite=”act5″ date=”28 mars 2009″ quantite=”10″ unite_oeuvre=”heure_production”/>
<mesurage id_mesurage=”mes027″ id_aktivite=”act3″ date=”13 feb 2009″ quantite=”14″ unite_oeuvre=”article_unitaire”/>
<mesurage id_mesurage=”mes028″ id_aktivite=”act4″ date=”06 mars 2009″ quantite=”17″ unite_oeuvre=”kilometre”/>
<mesurage id_mesurage=”mes029″ id_aktivite=”act3″ date=”13 feb 2009″ quantite=”04″ unite_oeuvre=”article_unitaire”/>
<mesurage id_mesurage=”mes030″ id_aktivite=”act4″ date=”06 mars 2009″ quantite=”85″ unite_oeuvre=”kilometre”/>
<mesurage id_mesurage=”mes031″ id_aktivite=”act5″ date=”28 mars 2009″ quantite=”7″ unite_oeuvre=”heure_production”/>
<mesurage id_mesurage=”mes032″ id_aktivite=”act4″ date=”06 mars 2009″ quantite=”64″ unite_oeuvre=”kilometre”/>
<mesurage id_mesurage=”mes033″ id_aktivite=”act5″ date=”28 mars 2009″ quantite=”9″ unite_oeuvre=”heure_production”/>
<mesurage id_mesurage=”mes034″ id_aktivite=”act7″ date=”26 mars 2009″ quantite=”41″ unite_oeuvre=”minute_telecom”/>
<mesurage id_mesurage=”mes035″ id_aktivite=”act6″ date=”26 mars 2009″ quantite=”1″ unite_oeuvre=”heure_comptabilite_abc”/>
<charge_directe id_charge_d=”fact0018″ id_pcmn=”601000″ montant_dir_htva_impute=”3406″ quantite=”1″/>
<charge_directe id_charge_d=”fact0030″ id_pcmn=”601000″ montant_dir_htva_impute=”604″ quantite=”1″/>
<charge_directe id_charge_d=”fact9999″ id_pcmn=”620000″ montant_dir_htva_impute=”25″ quantite=”26″/>
</commande>
</client>

Toujours dans le cadre de notre premier élément <client>, à la suite des éléments <mesurage>, nous créons trois éléments <charge_directe>

<client id_client=”jaeger01″ nom=”jaeger” adresse=”rue du bois 36 à 1000 bruxelles”> <commande id_commande=”com001″ descriptif=”rediger exemple”>
<mesurage id_mesurage=”mes001″ id_aktivite=”act2″ date=”01 feb 2009″ quantite=”4″
<mesurage id_mesurage=”mes013″ id_aktivite=”act3″ date=”13 feb 2009″ quantite=”11″
unite_oeuvre=”article_unitaire”/>
<mesurage id_mesurage=”mes014″ id_aktivite=”act2″ date=”01 feb 2009″ quantite=”1.5″ unite_oeuvre=”heure_demarchage”/>
<mesurage id_mesurage=”mes015″ id_aktivite=”act6″ date=”01 feb 2009″ quantite=”1.5″ unite_oeuvre=”heure_comptabilite_abc”/>
<mesurage id_mesurage=”mes016″ id_aktivite=”act7″ date=”01 feb 2009″ quantite=”51″ unite_oeuvre=”minute_telecom”/>
<charge_directe id_charge_d=”fact0020″ id_pcmn=”601000″ montant_dir_htva_impute=”4756″ quantite=”1″/>
<charge_directe id_charge_d=”fact0023″ id_pcmn=”601000″ montant_dir_htva_impute=”322″ quantite=”1″/>
<charge_directe id_charge_d=”fact9999″ id_pcmn=”620000″ montant_dir_htva_impute=”25″ quantite=”32.5″/>
</commande>

La lecture du dernier élément « charge_directe » est: la charge directe dont le id est « fact9999 » a été imputée sous le numéro pcmn 620000; le montant imputé est de 25 (Euro), la quantité 32,5 (unités).
Trois charges directes sont imputées à cette commande
– des achats de fournitures pour un montant de 4756 (Euro), et 322 (Euro).
– des heures de production, dont la quantité de 32,5 heures correspond aux mesurages de
« production » de la commande. Le montant de 25 (Euro) par heure est une valeur fournie par l’utilisateur.
Les charges indirectes.

Cette partie du document XML concerne les charges indirectes et la méthode selon laquelle nous les imputons.
Précisions.
Une même pièce comptable peut contenir des charges directes et indirectes, et les charges indirectes d’une même pièce comptable peuvent être incorporées dans différents postes pcmn.
L’attribut « id_chargeindirecte » prendra la même valeur que dans la comptabilité générale. Autrement dit, si la pièce comptable porte dans la comptabilité générale le numéro 001, la même valeur sera appliquée pour l’attribut « id_chargeindirecte » : « fact001 ».

Nous ouvrons un élément <charge_indirecte> pour chaque pièce comptable comportant une charge indirecte.
Pour chaque imputation de cette pièce comptable, nous ouvrons un élément <imputation>, inclu dans l’élément <charge_indirecte>.

<charge_indirecte id_chargeindirecte=”fact001″ montant_htva_total=”2000″>
<imputation id_imputation=”imp0001″ id_pcmn_imputation=”601300″ montant_htva_impute=”850″/> <imputation id_imputation=”imp0002″ id_pcmn_imputation=”611300″ montant_htva_impute=”1150″/> </charge_indirecte>

Examinons le premier élément <charge_indirecte> de ce fragment du document XML:

id_chargeindirecte=”fact001″ montant_htva_total=”2000″

y sont inclus deux éléments <imputation>:

id_imputation=”imp0001″ id_pcmn_imputation=”601300″ montant_htva_impute=”850 »

et

imputation id_imputation=”imp0002″ id_pcmn_imputation=”611300″ montant_htva_impute=”1150″

La lecture en est: la facture fact001 dont le montant total hors TVA est de 2000 (Euro), est imputée en deux fois, dans le poste pcmn 601300 pour un montant hors TVA de 850 (Euro), et dans le poste pcmn 611300 pour un montant hors TVA de 1150 (Euro).

<charge_indirecte id_chargeindirecte=”fact005″ montant_htva_total=”2401″>
<imputation id_imputation=”imp0003″ id_pcmn_imputation=”615200″ montant_htva_impute=”1600″/> </charge_indirecte>

La lecture de ce second élément: la facture fact005 dont le montant total hors TVA est de 2401(Euro) est imputée dans le poste pcmn 615200 pour un montant hors TVA de 1600 (Euro). Cette facture comportait une charge directe pour un montant hors TVA de 801 (Euro), que nous avons imputé dans la commande « com002 » en charge_directe.
La lecture de tous les éléments <charge_indirecte> dans le fragment de document XML ci-dessous est identique.

<charge_indirecte id_chargeindirecte=”fact001″ montant_htva_total=”2000″>
<imputation id_imputation=”imp0001″ id_pcmn_imputation=”601300″ montant_htva_impute=”850″/> <imputation id_imputation=”imp0002″ id_pcmn_imputation=”611300″ montant_htva_impute=”1150″/> </charge_indirecte>
<charge_indirecte id_chargeindirecte=”fact005″ montant_htva_total=”2401″>
<imputation id_imputation=”imp0003″ id_pcmn_imputation=”615200″ montant_htva_impute=”1600″/> </charge_indirecte>
<charge_indirecte id_chargeindirecte=”fact011″ montant_htva_total=”710″>
<imputation id_imputation=”imp0004″ id_pcmn_imputation=”615100″montant_htva_impute=”710.2″/> </charge_indirecte>
<charge_indirecte id_chargeindirecte=”fact015″ montant_htva_total=”623.85″>
<imputation id_imputation=”imp0005″ id_pcmn_imputation=”612400″ montant_htva_impute=”466″/> <imputation id_imputation=”imp0006″ id_pcmn_imputation=”612300″
montant_htva_impute=”157.85″/>
</charge_indirecte>
<charge_indirecte id_chargeindirecte=”fact016″ montant_htva_total=”310″>
<imputation id_imputation=”imp0007″ id_pcmn_imputation=”612160″ montant_htva_impute=”310″/> </charge_indirecte>
<charge_indirecte id_chargeindirecte=”fact028″ montant_htva_total=”4562″>
<imputation id_imputation=”imp0008″ id_pcmn_imputation=”630232″ montant_htva_impute=”4562″/> </charge_indirecte>
<charge_indirecte id_chargeindirecte=”fact031″ montant_htva_total=”2100″>
<imputation id_imputation=”imp0009″ id_pcmn_imputation=”630220″ montant_htva_impute=”2100″/> </charge_indirecte>
<charge_indirecte id_chargeindirecte=”fact032″ montant_htva_total=”2542″>
<imputation id_imputation=”imp0010″ id_pcmn_imputation=”630210″ montant_htva_impute=”2542″/> </charge_indirecte>
<charge_indirecte id_chargeindirecte=”fact054″ montant_htva_total=”600″>
<imputation id_imputation=”imp0011″ id_pcmn_imputation=”613250″ montant_htva_impute=”600″/> </charge_indirecte>
<charge_indirecte id_chargeindirecte=”fact055″ montant_htva_total=”240″>
<imputation id_imputation=”imp0012″ id_pcmn_imputation=”612000″ montant_htva_impute=”240″/> </charge_indirecte>
<charge_indirecte id_chargeindirecte=”fact056″ montant_htva_total=”211″>
<imputation id_imputation=”imp0013″ id_pcmn_imputation=”612160″ montant_htva_impute=”211″/> </charge_indirecte>
<charge_indirecte id_chargeindirecte=”fact062″ montant_htva_total=”118.7″>
<imputation id_imputation=”imp0014″ id_pcmn_imputation=”616200″
montant_htva_impute=”118.7″/>
</charge_indirecte>
<charge_indirecte id_chargeindirecte=”fact071″ montant_htva_total=”560″>
<imputation id_imputation=”imp0015″ id_pcmn_imputation=”612300″ montant_htva_impute=”560″/> </charge_indirecte>
<charge_indirecte id_chargeindirecte=”fact072″ montant_htva_total=”422″>
<imputation id_imputation=”imp0016″ id_pcmn_imputation=”611130″ montant_htva_impute=”422″/> </charge_indirecte>
<charge_indirecte id_chargeindirecte=”fact075″ montant_htva_total=”58″>
<imputation id_imputation=”imp0017″ id_pcmn_imputation=”616300″ montant_htva_impute=”58″/> </charge_indirecte>
<charge_indirecte id_chargeindirecte=”fact100″ montant_htva_total=”74.6″>
<imputation id_imputation=”imp0018″ id_pcmn_imputation=”616300″ montant_htva_impute=”74.6″/> </charge_indirecte>

La dernière partie du document XML concerne l’élément <pcmn> Nous avons créé ceux qui sont autorisés par la DTD.

<pcmn id_pcmn=”601300″ intitule=”601300_outillage”/>
<pcmn id_pcmn=”611350″ intitule=”611350_entretien_vehicule”/> <pcmn id_pcmn=”612160″ intitule=”612160_carburant”/>
<pcmn id_pcmn=”612300″ intitule=”612300_documentation”/>
<pcmn id_pcmn=”612400″ intitule=”612400_imprimes_fourn_bureau”/> <pcmn id_pcmn=”613250″ intitule=”613250_honoraire_comptable”/> <pcmn id_pcmn=”611130″ intitule=”611130_location_outillage”/> <pcmn id_pcmn=”611150″ intitule=”611150_location_vehicule”/> <pcmn id_pcmn=”611300″ intitule=”611300_entretien_locaux”/>
<pcmn id_pcmn=”612500″ intitule=”612500_petit_mat_bureau”/> <pcmn id_pcmn=”613530″ intitule=”613530_assurance_vehicule”/> <pcmn id_pcmn=”613540″ intitule=”613540_assurance_RC”/> <pcmn id_pcmn=”615000″ intitule=”615000_frais_deplacement”/> <pcmn id_pcmn=”615100″ intitule=”615100_frais_representation”/> <pcmn id_pcmn=”615200″ intitule=”615200_publicite_annonces”/> <pcmn id_pcmn=”615220″ intitule=”615220_foires_expositions”/> <pcmn id_pcmn=”616100″ intitule=”616100_frais_postaux”/> <pcmn id_pcmn=”616200″ intitule=”616200_telephone”/>
<pcmn id_pcmn=”616300″ intitule=”616300_gsm”/>
<pcmn id_pcmn=”616400″ intitule=”616400_internet”/>
<pcmn id_pcmn=”630210″ intitule=”630210_dot_amort_immeuble”/> <pcmn id_pcmn=”630220″ intitule=”630220_dot_amort_outil”/>
<pcmn id_pcmn=”630231″ intitule=”630231_dot_amort_mobilier”/> <pcmn id_pcmn=”612000″ intitule=”612000_eau_gaz_elec”/>
<pcmn id_pcmn=”630232″ intitule=”630232_dot_amort_matroulant”/> <pcmn id_pcmn=”640100″ intitule=”640100_dot_taxe_vehicule”/> <pcmn id_pcmn=”640200″ intitule=”640200_precompte_immobilier”/> </ABC>

La lecture du dernier élément « pcmn » est: le poste dont le id_pcmn est 640200 est intitulé 640200 precompte immobilier. La lecture est identique pour les éléments précédents.
Enfin, le document XML est fermé par la balise clôturant l’élément racine: </ABC>
Le document ABC/XML entier.
Nous reproduisons ci-dessous l’entièreté du document XML.
<?xml version=”1.0″ encoding=”ISO-8859-1″?>
<!DOCTYPE ABC SYSTEM “/home/jean/Memoireulb/XQ27avril/abc_avril27_id01.dtd”>
<ABC>
t id_client=”jaeger01″ nom=”jaeger” adresse=”rue du bois 36 à 1000 bruxelles”>
<commande id_commande=”com001″ descriptif=”systeme solaire” chiffre_affaire=”12000″>
<mesurage id_mesurage=”mes001″ id_aktivite=”act2″ date=”01 feb 2009″ quantite=”4″ unite_oeuvre=”heure_demarchage”/>
<mesurage id_mesurage=”mes002″ id_aktivite=”act7″ date=”01 feb 2009″ quantite=”23″ unite_oeuvre=”minute_telecom”/>
<mesurage id_mesurage=”mes003″ id_aktivite=”act4″ date=”01 feb 2009″ quantite=”42″ unite_oeuvre=”kilometre”/> <mesurage id_mesurage=”mes004″ id_aktivite=”act5″ date=”15 feb 2009″ quantite=”8″ unite_oeuvre=”heure_production”/>
<mesurage id_mesurage=”mes005″ id_aktivite=”act4″ date=”01 feb 2009″ quantite=”40″ unite_oeuvre=”kilometre”/> <mesurage id_mesurage=”mes006″ id_aktivite=”act3″ date=”13 feb 2009″ quantite=”24″ unite_oeuvre=”article_unitaire”/>
<mesurage id_mesurage=”mes007″ id_aktivite=”act4″ date=”01 feb 2009″ quantite=”22″ unite_oeuvre=”kilometre”/> <mesurage id_mesurage=”mes008″ id_aktivite=”act5″ date=”16 feb 2009″ quantite=”8.5″ unite_oeuvre=”heure_production”/>
<mesurage id_mesurage=”mes009″ id_aktivite=”act4″ date=”01 feb 2009″ quantite=”38″ unite_oeuvre=”kilometre”/> <mesurage id_mesurage=”mes010″ id_aktivite=”act5″ date=”15 feb 2009″ quantite=”6″ unite_oeuvre=”heure_production”/>
<mesurage id_mesurage=”mes011″ id_aktivite=”act4″ date=”01 feb 2009″ quantite=”40″ unite_oeuvre=”kilometre”/> <mesurage id_mesurage=”mes012″ id_aktivite=”act5″ date=”15 feb 2009″ quantite=”10″ unite_oeuvre=”heure_production”/>
<mesurage id_mesurage=”mes013″ id_aktivite=”act3″ date=”13 feb 2009″ quantite=”11″ unite_oeuvre=”article_unitaire”/>
<mesurage id_mesurage=”mes014″ id_aktivite=”act2″ date=”01 feb 2009″ quantite=”1.5″ unite_oeuvre=”heure_demarchage”/>
<mesurage id_mesurage=”mes015″ id_aktivite=”act6″ date=”01 feb 2009″ quantite=”1.5″ unite_oeuvre=”heure_comptabilite_abc”/>
<mesurage id_mesurage=”mes016″ id_aktivite=”act7″ date=”01 feb 2009″ quantite=”51″ unite_oeuvre=”minute_telecom”/>
<charge_directe id_charge_d=”fact0020″ id_pcmn=”601000″ montant_dir_htva_impute=”4756″ quantite=”1″/> <charge_directe id_charge_d=”fact0023″ id_pcmn=”601000″ montant_dir_htva_impute=”322″ quantite=”1″/> <charge_directe id_charge_d=”fact9999″ id_pcmn=”620000″ montant_dir_htva_impute=”25″ quantite=”32.5″/> </commande>
<commande id_commande=”com003″ descriptif=”seconde commande” chiffre_affaire=”1852″> <mesurage id_mesurage=”mes022″ id_aktivite=”act4″ date=”12 avril 2009″ quantite=”42″ unite_oeuvre=”kilometre”/>
<mesurage id_mesurage=”mes023″ id_aktivite=”act5″ date=”12 avril 2009″ quantite=”2″ unite_oeuvre=”heure_production”/>
<charge_directe id_charge_d=”fact0041″ id_pcmn=”601000″ montant_dir_htva_impute=”640″ quantite=”1″/> <charge_directe id_charge_d=”fact9999″ id_pcmn=”620000″ montant_dir_htva_impute=”25″ quantite=”2″/> </commande>
</client>
<client id_client=”cairelli02″ nom=”cairelli” adresse=”grand-place 1 à 1200 Bruxelles”> <commande id_commande=”com002″ descriptif=”extension système” chiffre_affaire=”2310″> <mesurage id_mesurage=”mes017″ id_aktivite=”act4″ date=”25 mars 2009″ quantite=”12″
unite_oeuvre=”kilometre”/>
<mesurage id_mesurage=”mes018″ id_aktivite=”act5″ date=”25 mars 2009″ quantite=”8″ unite_oeuvre=”heure_production”/>
<mesurage id_mesurage=”mes019″ id_aktivite=”act4″ date=”28 mars 2009″ quantite=”20″ unite_oeuvre=”kilometre”/>
<mesurage id_mesurage=”mes020″ id_aktivite=”act5″ date=”28 mars 2009″ quantite=”7.25″ unite_oeuvre=”heure_production”/>
<mesurage id_mesurage=”mes021″ id_aktivite=”act6″ date=”02 avril 2009″ quantite=”.5″ unite_oeuvre=”heure_comptabilite_abc”/>
<charge_directe id_charge_d=”fact0005″ id_pcmn=”601000″ montant_dir_htva_impute=”801″ quantite=”1″/> <charge_directe id_charge_d=”fact9999″ id_pcmn=”620000″ montant_dir_htva_impute=”25″ quantite=”15.25″/> </commande>
</client>
<client id_client=”panerai03″ nom=”panerai” adresse=”av. des Arts 2 1200 Bruxelles”> <commande id_commande=”com004″ descriptif=”système solaire” chiffre_affaire=”6400″> <mesurage id_mesurage=”mes024″ id_aktivite=”act2″ date=”06 mars 2009″ quantite=”2.5″
unite_oeuvre=”heure_communication”/>
<mesurage id_mesurage=”mes025″ id_aktivite=”act4″ date=”06 mars 2009″ quantite=”61″ unite_oeuvre=”kilometre”/>
<mesurage id_mesurage=”mes026″ id_aktivite=”act5″ date=”28 mars 2009″ quantite=”10″ unite_oeuvre=”heure_production”/>
<mesurage id_mesurage=”mes027″ id_aktivite=”act3″ date=”13 feb 2009″ quantite=”14″ unite_oeuvre=”article_unitaire”/>
<mesurage id_mesurage=”mes028″ id_aktivite=”act4″ date=”06 mars 2009″ quantite=”17″ unite_oeuvre=”kilometre”/>
<mesurage id_mesurage=”mes029″ id_aktivite=”act3″ date=”13 feb 2009″ quantite=”04″ unite_oeuvre=”article_unitaire”/>
<mesurage id_mesurage=”mes030″ id_aktivite=”act4″ date=”06 mars 2009″ quantite=”85″ unite_oeuvre=”kilometre”/>
<mesurage id_mesurage=”mes031″ id_aktivite=”act5″ date=”28 mars 2009″ quantite=”7″ unite_oeuvre=”heure_production”/>
<mesurage id_mesurage=”mes032″ id_aktivite=”act4″ date=”06 mars 2009″ quantite=”64″ unite_oeuvre=”kilometre”/>
<mesurage id_mesurage=”mes033″ id_aktivite=”act5″ date=”28 mars 2009″ quantite=”9″ unite_oeuvre=”heure_production”/>
<mesurage id_mesurage=”mes034″ id_aktivite=”act7″ date=”26 mars 2009″ quantite=”41″ unite_oeuvre=”minute_telecom”/>
<mesurage id_mesurage=”mes035″ id_aktivite=”act6″ date=”26 mars 2009″ quantite=”1″ unite_oeuvre=”heure_comptabilite_abc”/>
<charge_directe id_charge_d=”fact0018″ id_pcmn=”601000″ montant_dir_htva_impute=”3406″ quantite=”1″/> <charge_directe id_charge_d=”fact0030″ id_pcmn=”601000″ montant_dir_htva_impute=”604″ quantite=”1″/> <charge_directe id_charge_d=”fact9999″ id_pcmn=”620000″ montant_dir_htva_impute=”25″ quantite=”26″/> </commande>
</client>
</client>
<activite id_activite=”act1″ nom_activite=”act1_communication” unite_oeuvre=”heure_communication”> <composition_activite id_compoact=”compoact001″ id_famille_kout=”fam1″ proportion=”1″/>
<composition_activite id_compoact=”compoact002″ id_famille_kout=”fam2″ proportion=”.3″/> </activite>
<activite id_activite=”act2″ nom_activite=”act2_demarchage” unite_oeuvre=”heure_demarchage”>
<composition_activite id_compoact=”compoact003″ id_famille_kout=”fam2″ proportion=”.4″/>
<composition_activite id_compoact=”compoact004″ id_famille_kout=”fam4″ proportion=”.42″/> </activite>
<activite id_activite=”act3″ nom_activite=”act3_logistique” unite_oeuvre=”article_unitaire”>
<composition_activite id_compoact=”compoact005″ id_famille_kout=”fam3″ proportion=”1″/>
<composition_activite id_compoact=”compoact006″ id_famille_kout=”fam7″ proportion=”.27″/> </activite>
<activite id_activite=”act4″ nom_activite=”act4_transport” unite_oeuvre=”kilometre”> <composition_activite id_compoact=”compoact008″ id_famille_kout=”fam6″ proportion=”1″/> </activite>
<activite id_activite=”act5″ nom_activite=”act5_production” unite_oeuvre=”heure_production”>
<composition_activite id_compoact=”compoact009″ id_famille_kout=”fam4″ proportion=”.34″/>
<composition_activite id_compoact=”compoact010″ id_famille_kout=”fam7″ proportion=”.73″/> </activite>
<activite id_activite=”act6″ nom_activite=”act6_comptabilite_abc” unite_oeuvre=”heure_comptabilite_abc”> <composition_activite id_compoact=”compoact011″ id_famille_kout=”fam5″ proportion=”1″/> <composition_activite id_compoact=”compoact012″ id_famille_kout=”fam2″ proportion=”.3″/> <composition_activite id_compoact=”compoact013″ id_famille_kout=”fam4″ proportion=”.24″/>
</activite>
<activite id_activite=”act7″ nom_activite=”act7_telecom” unite_oeuvre=”minute_telecom”> <composition_activite id_compoact=”compoact002″ id_famille_kout=”fam8″ proportion=”1″/> </activite>
<famille_cout id_famille_cout=”fam1″ nom_famille=”fam1_publicite”>
<composition_famille id_compofam=”compofam01″ id_pcmn_fam=”615100″ proportion_cf=”1″/>
<composition_famille id_compofam=”compofam02″ id_pcmn_fam=”615200″ proportion_cf=”1″/>
<composition_famille id_compofam=”compofam03″ id_pcmn_fam=”615220″ proportion_cf=”1″/>
</famille_cout>
<famille_cout id_famille_cout=”fam2″ nom_famille=”fam2_bureau”>
<composition_famille id_compofam=”compofam04″ id_pcmn_fam=”611300″ proportion_cf=”.4″/> <composition_famille id_compofam=”compofam05″ id_pcmn_fam=”612000″ proportion_cf=”.4″/> <composition_famille id_compofam=”compofam06″ id_pcmn_fam=”612400″ proportion_cf=”1″/> <composition_famille id_compofam=”compofam07″ id_pcmn_fam=”612500″ proportion_cf=”1″/> <composition_famille id_compofam=”compofam08″ id_pcmn_fam=”616100″ proportion_cf=”1″/> <composition_famille id_compofam=”compofam09″ id_pcmn_fam=”630210″ proportion_cf=”.4″/> <composition_famille id_compofam=”compofam10″ id_pcmn_fam=”630231″ proportion_cf=”.8″/> <composition_famille id_compofam=”compofam30″ id_pcmn_fam=”640200″ proportion_cf=”.4″/>
</famille_cout>
<famille_cout id_famille_cout=”fam3″ nom_famille=”fam3_stock”>
<composition_famille id_compofam=”compofam11″ id_pcmn_fam=”611300″ proportion_cf=”.6″/> <composition_famille id_compofam=”compofam12″ id_pcmn_fam=”612000″ proportion_cf=”.6″/> <composition_famille id_compofam=”compofam13″ id_pcmn_fam=”630210″ proportion_cf=”.6″/> <composition_famille id_compofam=”compofam14″ id_pcmn_fam=”630220″ proportion_cf=”.2″/> <composition_famille id_compofam=”compofam15″ id_pcmn_fam=”630231″ proportion_cf=”.2″/> <composition_famille id_compofam=”compofam31″ id_pcmn_fam=”640200″ proportion_cf=”.6″/>
</famille_cout>
<famille_cout id_famille_cout=”fam4″ nom_famille=”fam4_formation_documentation”> <composition_famille id_compofam=”compofam16″ id_pcmn_fam=”612300″ proportion_cf=”1″/>
</famille_cout>
<famille_cout id_famille_cout=”fam5″ nom_famille=”fam5_honoraires”>
<composition_famille id_compofam=”compofam17″ id_pcmn_fam=”613250″ proportion_cf=”1″/> </famille_cout>
<famille_cout id_famille_cout=”fam6″ nom_famille=”fam6_transport”>
<composition_famille id_compofam=”compofam18″ id_pcmn_fam=”606140″ proportion_cf=”1″/> <composition_famille id_compofam=”compofam19″ id_pcmn_fam=”611150″ proportion_cf=”1″/> <composition_famille id_compofam=”compofam20″ id_pcmn_fam=”611350″ proportion_cf=”1″/> <composition_famille id_compofam=”compofam21″ id_pcmn_fam=”612160″ proportion_cf=”1″/> <composition_famille id_compofam=”compofam22″ id_pcmn_fam=”613530″ proportion_cf=”1″/> <composition_famille id_compofam=”compofam23″ id_pcmn_fam=”630232″ proportion_cf=”1″/> <composition_famille id_compofam=”compofam24″ id_pcmn_fam=”640100″ proportion_cf=”1″/>
</famille_cout>
<famille_cout id_famille_cout=”fam7″ nom_famille=”fam7_outil_production”>
<composition_famille id_compofam=”compofam25″ id_pcmn_fam=”601300″ proportion_cf=”1″/> <composition_famille id_compofam=”compofam26″ id_pcmn_fam=”611130″ proportion_cf=”1″/> <composition_famille id_compofam=”compofam27″ id_pcmn_fam=”613540″ proportion_cf=”1″/> <composition_famille id_compofam=”compofam28″ id_pcmn_fam=”630220″ proportion_cf=”.8″/>
</famille_cout>
<famille_cout id_famille_cout=”fam8″ nom_famille=”fam8_telecom”>
<composition_famille id_compofam=”compofam29″ id_pcmn_fam=”616200″ proportion_cf=”1″/>
<composition_famille id_compofam=”compofam32″ id_pcmn_fam=”616300″ proportion_cf=”1″/>
<composition_famille id_compofam=”compofam33″ id_pcmn_fam=”616400″ proportion_cf=”1″/>
</famille_cout>
<charge_indirecte id_chargeindirecte=”fact001″ montant_htva_total=”2000″>
<imputation id_imputation=”imp0001″ id_pcmn_imputation=”601300″ montant_htva_impute=”850″/>
<imputation id_imputation=”imp0002″ id_pcmn_imputation=”611300″ montant_htva_impute=”1150″/> </charge_indirecte>
<charge_indirecte id_chargeindirecte=”fact005″ montant_htva_total=”2401″>
<imputation id_imputation=”imp0003″ id_pcmn_imputation=”615200″ montant_htva_impute=”1600″/> </charge_indirecte>
<charge_indirecte id_chargeindirecte=”fact011″ montant_htva_total=”710″>
<imputation id_imputation=”imp0004″ id_pcmn_imputation=”615100″ montant_htva_impute=”710.2″/> </charge_indirecte>
<charge_indirecte id_chargeindirecte=”fact015″ montant_htva_total=”623.85″>
<imputation id_imputation=”imp0005″ id_pcmn_imputation=”612400″ montant_htva_impute=”466″/>
<imputation id_imputation=”imp0006″ id_pcmn_imputation=”612300″ montant_htva_impute=”157.85″/> </charge_indirecte>
<charge_indirecte id_chargeindirecte=”fact016″ montant_htva_total=”310″>
<imputation id_imputation=”imp0007″ id_pcmn_imputation=”612160″ montant_htva_impute=”310″/> </charge_indirecte>
<charge_indirecte id_chargeindirecte=”fact028″ montant_htva_total=”4562″>
<imputation id_imputation=”imp0008″ id_pcmn_imputation=”630232″ montant_htva_impute=”4562″/> </charge_indirecte>
<charge_indirecte id_chargeindirecte=”fact031″ montant_htva_total=”2100″>
<imputation id_imputation=”imp0009″ id_pcmn_imputation=”630220″ montant_htva_impute=”2100″/> </charge_indirecte>
<charge_indirecte id_chargeindirecte=”fact032″ montant_htva_total=”2542″>
<imputation id_imputation=”imp0010″ id_pcmn_imputation=”630210″ montant_htva_impute=”2542″/> </charge_indirecte>
<charge_indirecte id_chargeindirecte=”fact054″ montant_htva_total=”600″>
<imputation id_imputation=”imp0011″ id_pcmn_imputation=”613250″ montant_htva_impute=”600″/> </charge_indirecte>
<charge_indirecte id_chargeindirecte=”fact055″ montant_htva_total=”240″>
<imputation id_imputation=”imp0012″ id_pcmn_imputation=”612000″ montant_htva_impute=”240″/> </charge_indirecte>
<charge_indirecte id_chargeindirecte=”fact056″ montant_htva_total=”211″>
<imputation id_imputation=”imp0013″ id_pcmn_imputation=”612160″ montant_htva_impute=”211″/> </charge_indirecte>
<charge_indirecte id_chargeindirecte=”fact062″ montant_htva_total=”118.7″>
<imputation id_imputation=”imp0014″ id_pcmn_imputation=”616200″ montant_htva_impute=”118.7″/> </charge_indirecte>
<charge_indirecte id_chargeindirecte=”fact071″ montant_htva_total=”560″>
<imputation id_imputation=”imp0015″ id_pcmn_imputation=”612300″ montant_htva_impute=”560″/> </charge_indirecte>
<charge_indirecte id_chargeindirecte=”fact072″ montant_htva_total=”422″>
<imputation id_imputation=”imp0016″ id_pcmn_imputation=”611130″ montant_htva_impute=”422″/> </charge_indirecte>
<charge_indirecte id_chargeindirecte=”fact075″ montant_htva_total=”58″>
<imputation id_imputation=”imp0017″ id_pcmn_imputation=”616300″ montant_htva_impute=”58″/> </charge_indirecte>
<charge_indirecte id_chargeindirecte=”fact100″ montant_htva_total=”74.6″>
<imputation id_imputation=”imp0018″ id_pcmn_imputation=”616300″ montant_htva_impute=”74.6″/> </charge_indirecte>
<pcmn id_pcmn=”601000″ intitule=”601000_achat_fournitures”/>
<pcmn id_pcmn=”601300″ intitule=”601300_outillage”/>
<pcmn id_pcmn=”611350″ intitule=”611350_entretien_vehicule”/>
<pcmn id_pcmn=”612160″ intitule=”612160_carburant”/>
<pcmn id_pcmn=”612300″ intitule=”612300_documentation”/>
<pcmn id_pcmn=”612400″ intitule=”612400_imprimes_fourn_bureau”/>
<pcmn id_pcmn=”613250″ intitule=”613250_honoraire_comptable”/>
<pcmn id_pcmn=”611130″ intitule=”611130_location_outillage”/>
<pcmn id_pcmn=”611150″ intitule=”611150_location_vehicule”/>
<pcmn id_pcmn=”611300″ intitule=”611300_entretien_locaux”/>
<pcmn id_pcmn=”612500″ intitule=”612500_petit_mat_bureau”/>
<pcmn id_pcmn=”613530″ intitule=”613530_assurance_vehicule”/>
<pcmn id_pcmn=”613540″ intitule=”613540_assurance_RC”/>
<pcmn id_pcmn=”615000″ intitule=”615000_frais_deplacement”/>
<pcmn id_pcmn=”615100″ intitule=”615100_frais_representation”/>
<pcmn id_pcmn=”615200″ intitule=”615200_publicite_annonces”/>
<pcmn id_pcmn=”615220″ intitule=”615220_foires_expositions”/>
<pcmn id_pcmn=”616100″ intitule=”616100_frais_postaux”/>
<pcmn id_pcmn=”616200″ intitule=”616200_telephone”/>
<pcmn id_pcmn=”616300″ intitule=”616300_gsm”/>
<pcmn id_pcmn=”616400″ intitule=”616400_internet”/>
<pcmn id_pcmn=”620000″ intitule=”620000_remuneration”/>
<pcmn id_pcmn=”630210″ intitule=”630210_dot_amort_immeuble”/>
<pcmn id_pcmn=”630220″ intitule=”630220_dot_amort_outil”/>
<pcmn id_pcmn=”630231″ intitule=”630231_dot_amort_mobilier”/>
<pcmn id_pcmn=”612000″ intitule=”612000_eau_gaz_elec”/>
<pcmn id_pcmn=”630232″ intitule=”630232_dot_amort_matroulant”/>
<pcmn id_pcmn=”640100″ intitule=”640100_dot_taxe_vehicule”/>
<pcmn id_pcmn=”640200″ intitule=”640200_precompte_immobilier”/>
</ABC>

Lire le mémoire complet ==> (Application de la méthode Activity Based Costing, technologies XML)
Mémoire présenté en vue de l’obtention du grade de Licencié en Informatique et Sciences humaines
Université libre de Bruxelles, Faculté des sciences sociales politiques et économiques