Discussion:
Création d'un fichier XML pour transformation en HTML
(trop ancien pour répondre)
YgoogleY
2009-02-23 10:48:23 UTC
Permalink
bonjour,

jé débute dans l'utilisation du XML et du XSL.
j'essaie de créer un fichier XML et de le transformer en HTML grâce à
une feuille XSL.
Je suis parvenu au résultat mais d'une façon qui ne me semble pas la
meilleure. J'aimerai votre avis et vos conseils.

Voici les données du problème :
Je dois générer deux tableaux croisés dont le nombre de ligne est fixe
mais pas le nombre de colonne (ni l'intitulé des colonnes).
Le résultat doit donner qqch comme ceci :
Tableau 1:
Intitulé Ligne 1 | Col 1 | Col 2 | Col 3
Intitulé Ligne 2 | Res 1| Res2 | Res3
Intitulé Ligne 3 | Res 4| Res 5| Res6

Tableau 2:
Intitulé Ligne 1 | Col 5 | Col 6 |
Intitulé Ligne 2 | Res 10| Res12 |
Intitulé Ligne 3 | Res 13| Res 14|

J'ai fait un fichier XML comme ça :
<document>
<tableau idTab="Tableau1>
<ligne>
<col>
<zone>Intitulé Ligne 1</zone>
</col>
<col>
<zone>Col 1</zone>
</col>
<col>
<zone>Col 2</zone>
</col>
</ligne>
<ligne>
...
</document>
Ce qui ne me plait pas dans ma solution est de devoir créer une
balise colonne pour chaque cellule de mon tableau.
En étudiant d'autres fichiers XML d'autres applications plus complexes
que la mienne, les développeur font des fichiers ou la balise <zone>
(chez moi) se répète autant de fois qu'il y a de cellule dans un
tableau, en revanche, ils utilisent des attributs dans cette balise.
J'ai essayé mais je n'arrive pas à créer le document xsl
correspondant, si je supprime mes balises <col>, mon fichier xsl ne
prend que la 1ere ligne <zone>

Cordialement,

Y.
Philippe Poulard
2009-02-23 13:43:01 UTC
Permalink
Bonjour,

à mon avis, s'il n'y a rien de fonctionnel alors un tableau HTML ou un
tableau CALS devrait faire l'affaire (avec une préférence bien sûr pour
le tableau HTML)

dans le cas contraire, qui légitime une utilisation d'XML, il faudrait
nommer et structurer les données indépendamment de la façon dont on doit
les représenter (c'est à dire relâcher les contraintes de présentation
et se concentrer sur les relations entre les données)
Post by YgoogleY
bonjour,
jé débute dans l'utilisation du XML et du XSL.
j'essaie de créer un fichier XML et de le transformer en HTML grâce à
une feuille XSL.
Je suis parvenu au résultat mais d'une façon qui ne me semble pas la
meilleure. J'aimerai votre avis et vos conseils.
Je dois générer deux tableaux croisés dont le nombre de ligne est fixe
mais pas le nombre de colonne (ni l'intitulé des colonnes).
Intitulé Ligne 1 | Col 1 | Col 2 | Col 3
Intitulé Ligne 2 | Res 1| Res2 | Res3
Intitulé Ligne 3 | Res 4| Res 5| Res6
Intitulé Ligne 1 | Col 5 | Col 6 |
Intitulé Ligne 2 | Res 10| Res12 |
Intitulé Ligne 3 | Res 13| Res 14|
<document>
<tableau idTab="Tableau1>
<ligne>
<col>
<zone>Intitulé Ligne 1</zone>
</col>
<col>
<zone>Col 1</zone>
</col>
<col>
<zone>Col 2</zone>
</col>
</ligne>
<ligne>
...
</document>
Ce qui ne me plait pas dans ma solution est de devoir créer une
balise colonne pour chaque cellule de mon tableau.
En étudiant d'autres fichiers XML d'autres applications plus complexes
que la mienne, les développeur font des fichiers ou la balise <zone>
(chez moi) se répète autant de fois qu'il y a de cellule dans un
tableau, en revanche, ils utilisent des attributs dans cette balise.
J'ai essayé mais je n'arrive pas à créer le document xsl
correspondant, si je supprime mes balises <col>, mon fichier xsl ne
prend que la 1ere ligne <zone>
Cordialement,
Y.
--
Cordialement,

///
(. .)
--------ooO--(_)--Ooo--------
| Philippe Poulard |
-----------------------------
http://reflex.gforge.inria.fr/
Have the RefleX !
YgoogleY
2009-02-23 14:16:36 UTC
Permalink
Bonjour,

j'étais justement en train de lire votre document, malheureusement il
est un peu ardu pour moi.

En fait, je développe une application qui doit produire un document
mensuel. Ce document doit-être archivé avec la possibilité de le
modifier (sous certaines conditions). Une partie du document contient
des calculs et selon ce que modifie l'utilisateur, il faudra donc
recalculer tout ou partie des données. En même temps, je veux
contrôler qui et surtout quand l'utilisateur fait une telle
modification.
Bref, j'ai donc pensé mettre toutes mes données dans un document au
format xml et ce document est lui même dans un enregistrement d'une
base de données (qui contient entre autre l'id utilisateur, la date de
création, la date de modification, etc...
Pour toutes ces raisons, je pense que le XML est plutôt adapté. Et
vous qu'en pensez-vous ?

Effectivement, je pense que tout est dans la structuration du fichier
XML, c'est pourquoi à l'origine, j'envisageai de mettre les valeurs
uniquement entre balise et de mettre les "coordonnées" de la valeur
dans les attributs de balise. Par exemple, le chiffre 2 est affecté à
la colonne 4, ligne 3. Ca m'aurait donné quelque chose comme ceci :

<zone ligne="3" col="4">2</zone>

avec autant de zone que de chiffre composant mes tableaux.

Le problème est que je ne sais pas comment ensuite faire un fichier
xsl qui me permette de parcourir mon document xml.

Je n'ai pas trouvé sur le net d'informations qui m'aide beaucoup, soit
il s'agit d'introductions au xml-xsm qui ne répondent pas à ma
problématique. Soit ce sont des documents beaucoup plus avançé (comme
le vôtre) et là c'est moi qui décroche.

en tout cas merci de votre aide.

cordialement,

Y.
Post by Philippe Poulard
Bonjour,
à mon avis, s'il n'y a rien de fonctionnel alors un tableau HTML ou un
tableau CALS devrait faire l'affaire (avec une préférence bien sûr pour
le tableau HTML)
dans le cas contraire, qui légitime une utilisation d'XML, il faudrait
nommer et structurer les données indépendamment de la façon dont on doit
les représenter (c'est à dire relâcher les contraintes de présentation
et se concentrer sur les relations entre les données)
Post by YgoogleY
bonjour,
jé débute dans l'utilisation du XML et du XSL.
j'essaie de  créer un fichier XML et de le transformer en HTML grâce à
une feuille XSL.
Je suis parvenu au résultat mais d'une façon qui ne me semble pas la
meilleure. J'aimerai votre avis et vos conseils.
Je dois générer deux tableaux croisés dont le nombre de ligne est fixe
mais pas le nombre de colonne (ni l'intitulé des colonnes).
Intitulé Ligne 1 | Col 1 | Col 2 | Col 3
Intitulé Ligne 2 | Res 1| Res2 | Res3
Intitulé Ligne 3 | Res 4| Res 5| Res6
Intitulé Ligne 1 | Col 5   | Col 6   |
Intitulé Ligne 2 | Res 10| Res12 |
Intitulé Ligne 3 | Res 13| Res 14|
<document>
 <tableau idTab="Tableau1>
  <ligne>
   <col>
    <zone>Intitulé Ligne 1</zone>
   </col>
   <col>
    <zone>Col 1</zone>
   </col>
   <col>
   <zone>Col 2</zone>
  </col>
</ligne>
<ligne>
...
</document>
 Ce qui ne me plait pas dans ma solution est de devoir créer une
balise colonne pour chaque cellule de mon tableau.
En étudiant d'autres fichiers XML d'autres applications plus complexes
que la mienne, les développeur font des fichiers ou la balise <zone>
(chez moi) se répète autant de fois qu'il y a de cellule dans un
tableau, en revanche, ils utilisent des attributs dans cette balise.
J'ai essayé mais je n'arrive pas à créer le document xsl
correspondant, si je supprime mes balises <col>, mon fichier xsl ne
prend que la 1ere ligne <zone>
Cordialement,
Y.
--
Cordialement,
               ///
              (. .)
  --------ooO--(_)--Ooo--------
|      Philippe Poulard       |
  -----------------------------
 http://reflex.gforge.inria.fr/
        Have the RefleX !
Philippe Poulard
2009-02-23 16:18:39 UTC
Permalink
Post by Philippe Poulard
Bonjour,
j'étais justement en train de lire votre document, malheureusement il
est un peu ardu pour moi.
ah ? lequel ?
Post by Philippe Poulard
En fait, je développe une application qui doit produire un document
mensuel. Ce document doit-être archivé avec la possibilité de le
modifier (sous certaines conditions). Une partie du document contient
des calculs et selon ce que modifie l'utilisateur, il faudra donc
recalculer tout ou partie des données. En même temps, je veux
contrôler qui et surtout quand l'utilisateur fait une telle
modification.
Bref, j'ai donc pensé mettre toutes mes données dans un document au
format xml et ce document est lui même dans un enregistrement d'une
base de données (qui contient entre autre l'id utilisateur, la date de
création, la date de modification, etc...
Pour toutes ces raisons, je pense que le XML est plutôt adapté. Et
vous qu'en pensez-vous ?
ah mon avis le stockage xml dans une bd relationnelle est une des pires
solutions (pour environ 1 milliard de raisons); il faut utiliser un
conteneur adapté, et dans le cas de xml, une bd native xml est
indispensable; cela dit, certains sgbdr offrent des extensions xml qui
tiennent la route, mais ce n'est pas le cas (je crois) de mysql

par ailleurs, le stockage en bd native xml offre la possibilité
d'utiliser xquery qui est la rolls du langage de requête, et à chaque
fois que j'ai l'occasion de le comparer à sql (la pétrolette du langage
de requête), je me marre beaucoup...

bien entendu ce sont des considérations personnelles qui font fi de la
propre expérience de chacun, et du socle ultra-solide sur lequel repose
les sgbdr; d'autant que se mettre à xquery n'est pas une mince affaire
c'est pourquoi si le relationnel est adapté aux données, un sgbdr me va
très bien; tout ce que je dis c'est que quand j'ai le choix, je choisis
la bd native xml pour un milliard de bonnes raisons, dont la faculté de
pouvoir écrire des requêtes impossibles en sql

pour info, une bd native xml (parmi 40 autres):
http://exist.sourceforge.net/
Post by Philippe Poulard
Effectivement, je pense que tout est dans la structuration du fichier
XML, c'est pourquoi à l'origine, j'envisageai de mettre les valeurs
uniquement entre balise et de mettre les "coordonnées" de la valeur
dans les attributs de balise. Par exemple, le chiffre 2 est affecté à
<zone ligne="3" col="4">2</zone>
oui mais il doit bien y avoir une sémantique dans ces données, non ?
dans le cas contraire, un tableau html devrait convenir, et si un
stockage en db relationnelle est prévu, alors zou... dans une table
"zone" avec "ligne", "colonne", "valeur" et même "formule" si nécessaire
+ un "id" s'il y a plusieurs tableaux
Post by Philippe Poulard
avec autant de zone que de chiffre composant mes tableaux.
Le problème est que je ne sais pas comment ensuite faire un fichier
xsl qui me permette de parcourir mon document xml.
http://disc.inria.fr/perso/philippe.poulard/cours/04-xml-xpath.pdf
http://disc.inria.fr/perso/philippe.poulard/cours/05-xml-xsl.pdf
Post by Philippe Poulard
Je n'ai pas trouvé sur le net d'informations qui m'aide beaucoup, soit
il s'agit d'introductions au xml-xsm qui ne répondent pas à ma
problématique. Soit ce sont des documents beaucoup plus avançé (comme
le vôtre) et là c'est moi qui décroche.
je pense que ça vaut le coup de se mettre à xslt; c'est quand même une
chouette techno qui permet d'appréhender le monde xml plus facilement,
une fois utilisée un peu; ça offre des possibilités...
Post by Philippe Poulard
en tout cas merci de votre aide.
cordialement,
Y.
Post by Philippe Poulard
Bonjour,
à mon avis, s'il n'y a rien de fonctionnel alors un tableau HTML ou un
tableau CALS devrait faire l'affaire (avec une préférence bien sûr pour
le tableau HTML)
dans le cas contraire, qui légitime une utilisation d'XML, il faudrait
nommer et structurer les données indépendamment de la façon dont on doit
les représenter (c'est à dire relâcher les contraintes de présentation
et se concentrer sur les relations entre les données)
Post by YgoogleY
bonjour,
jé débute dans l'utilisation du XML et du XSL.
j'essaie de créer un fichier XML et de le transformer en HTML grâce à
une feuille XSL.
Je suis parvenu au résultat mais d'une façon qui ne me semble pas la
meilleure. J'aimerai votre avis et vos conseils.
Je dois générer deux tableaux croisés dont le nombre de ligne est fixe
mais pas le nombre de colonne (ni l'intitulé des colonnes).
Intitulé Ligne 1 | Col 1 | Col 2 | Col 3
Intitulé Ligne 2 | Res 1| Res2 | Res3
Intitulé Ligne 3 | Res 4| Res 5| Res6
Intitulé Ligne 1 | Col 5 | Col 6 |
Intitulé Ligne 2 | Res 10| Res12 |
Intitulé Ligne 3 | Res 13| Res 14|
<document>
<tableau idTab="Tableau1>
<ligne>
<col>
<zone>Intitulé Ligne 1</zone>
</col>
<col>
<zone>Col 1</zone>
</col>
<col>
<zone>Col 2</zone>
</col>
</ligne>
<ligne>
...
</document>
Ce qui ne me plait pas dans ma solution est de devoir créer une
balise colonne pour chaque cellule de mon tableau.
En étudiant d'autres fichiers XML d'autres applications plus complexes
que la mienne, les développeur font des fichiers ou la balise <zone>
(chez moi) se répète autant de fois qu'il y a de cellule dans un
tableau, en revanche, ils utilisent des attributs dans cette balise.
J'ai essayé mais je n'arrive pas à créer le document xsl
correspondant, si je supprime mes balises <col>, mon fichier xsl ne
prend que la 1ere ligne <zone>
Cordialement,
Y.
--
Cordialement,
///
(. .)
--------ooO--(_)--Ooo--------
| Philippe Poulard |
-----------------------------
http://reflex.gforge.inria.fr/
Have the RefleX !
--
Cordialement,

///
(. .)
--------ooO--(_)--Ooo--------
| Philippe Poulard |
-----------------------------
http://reflex.gforge.inria.fr/
Have the RefleX !
YgoogleY
2009-02-23 17:05:26 UTC
Permalink
Wouaouh,

voilà une réponse qui contient beaucoup d'informations. Merci !

Je vais prendre le temps de décortiquer les pistes que vous m'avez
donné et peut-être me réorienter vers un simple tableau HTML.

Pour info, je développe avec windev et j'utilise leur propre base de
données (HyperFile).

Comme mon appli est urgente, je vais essayer de trouver la solution la
plus propre possible et je regarderai de plus près xquery que je ne
connais pas du tout.

Pour tout ce que je suis en train de lire sur xml ces 2 derniers
jours, je pense qu'effectivement, c'est très riche de possibilités et
ça vaut le coup d'y plonger plus avant.

Le cours que j'ai lu est celui-ci :

05-xml-xsl.pdf

Je vais lire l'autre et je vous tiens au courant de mes recherches.
Encore merci de votre aide

Cordialement,

Y.
Post by Philippe Poulard
Post by Philippe Poulard
Bonjour,
j'étais justement en train de lire votre document, malheureusement il
est un peu ardu pour moi.
ah ? lequel ?
Post by Philippe Poulard
En fait, je développe une application qui doit produire un document
mensuel. Ce document doit-être archivé avec la possibilité de le
modifier (sous certaines conditions). Une partie du document contient
des calculs et selon ce que modifie l'utilisateur, il faudra donc
recalculer tout ou partie des données. En même temps, je veux
contrôler qui et surtout quand l'utilisateur fait une telle
modification.
Bref, j'ai donc pensé mettre toutes mes données dans un document au
format xml et ce document est lui même dans un enregistrement d'une
base de données (qui contient entre autre l'id utilisateur, la date de
création, la date de modification, etc...
Pour toutes ces raisons, je pense que le XML est plutôt adapté. Et
vous qu'en pensez-vous ?
ah mon avis le stockage xml dans une bd relationnelle est une des pires
solutions (pour environ 1 milliard de raisons); il faut utiliser un
conteneur adapté, et dans le cas de xml, une bd native xml est
indispensable; cela dit, certains sgbdr offrent des extensions xml qui
tiennent la route, mais ce n'est pas le cas (je crois) de mysql
par ailleurs, le stockage en bd native xml offre la possibilité
d'utiliser xquery qui est la rolls du langage de requête, et à chaque
fois que j'ai l'occasion de le comparer à sql (la pétrolette du langage
de requête), je me marre beaucoup...
bien entendu ce sont des considérations personnelles qui font fi de la
propre expérience de chacun, et du socle ultra-solide sur lequel repose
les sgbdr; d'autant que se mettre à xquery n'est pas une mince affaire
c'est pourquoi si le relationnel est adapté aux données, un sgbdr me va
très bien; tout ce que je dis c'est que quand j'ai le choix, je choisis
la bd native xml pour un milliard de bonnes raisons, dont la faculté de
pouvoir écrire des requêtes impossibles en sql
pour info, une bd native xml (parmi 40 autres):http://exist.sourceforge.net/
Post by Philippe Poulard
Effectivement, je pense que tout est dans la structuration du fichier
XML, c'est pourquoi à l'origine, j'envisageai de mettre les valeurs
uniquement entre balise et de mettre les "coordonnées" de la valeur
dans les attributs de balise. Par exemple, le chiffre 2 est affecté à
<zone ligne="3" col="4">2</zone>
oui mais il doit bien y avoir une sémantique dans ces données, non ?
dans le cas contraire, un tableau html devrait convenir, et si un
stockage en db relationnelle est prévu, alors zou... dans une table
"zone" avec "ligne", "colonne", "valeur" et même "formule" si nécessaire
+ un "id" s'il y a plusieurs tableaux
Post by Philippe Poulard
avec autant de zone que de chiffre composant mes tableaux.
Le problème est que je ne sais pas comment ensuite faire un fichier
xsl qui me permette de parcourir mon document xml.
http://disc.inria.fr/perso/philippe.poulard/cours/04-xml-xpath.pdfhttp://disc.inria.fr/perso/philippe.poulard/cours/05-xml-xsl.pdf
Post by Philippe Poulard
Je n'ai pas trouvé sur le net d'informations qui m'aide beaucoup, soit
il s'agit d'introductions au xml-xsm qui ne répondent pas à ma
problématique. Soit ce sont des documents beaucoup plus avançé (comme
le vôtre) et là c'est moi qui décroche.
je pense que ça vaut le coup de se mettre à xslt; c'est quand même une
chouette techno qui permet d'appréhender le monde xml plus facilement,
une fois utilisée un peu; ça offre des possibilités...
Post by Philippe Poulard
en tout cas merci de votre aide.
cordialement,
Y.
Post by Philippe Poulard
Bonjour,
à mon avis, s'il n'y a rien de fonctionnel alors un tableau HTML ou un
tableau CALS devrait faire l'affaire (avec une préférence bien sûr pour
le tableau HTML)
dans le cas contraire, qui légitime une utilisation d'XML, il faudrait
nommer et structurer les données indépendamment de la façon dont on doit
les représenter (c'est à dire relâcher les contraintes de présentation
et se concentrer sur les relations entre les données)
Post by YgoogleY
bonjour,
jé débute dans l'utilisation du XML et du XSL.
j'essaie de  créer un fichier XML et de le transformer en HTML grâce à
une feuille XSL.
Je suis parvenu au résultat mais d'une façon qui ne me semble pas la
meilleure. J'aimerai votre avis et vos conseils.
Je dois générer deux tableaux croisés dont le nombre de ligne est fixe
mais pas le nombre de colonne (ni l'intitulé des colonnes).
Intitulé Ligne 1 | Col 1 | Col 2 | Col 3
Intitulé Ligne 2 | Res 1| Res2 | Res3
Intitulé Ligne 3 | Res 4| Res 5| Res6
Intitulé Ligne 1 | Col 5   | Col 6   |
Intitulé Ligne 2 | Res 10| Res12 |
Intitulé Ligne 3 | Res 13| Res 14|
<document>
 <tableau idTab="Tableau1>
  <ligne>
   <col>
    <zone>Intitulé Ligne 1</zone>
   </col>
   <col>
    <zone>Col 1</zone>
   </col>
   <col>
   <zone>Col 2</zone>
  </col>
</ligne>
<ligne>
...
</document>
 Ce qui ne me plait pas dans ma solution est de devoir créer une
balise colonne pour chaque cellule de mon tableau.
En étudiant d'autres fichiers XML d'autres applications plus complexes
que la mienne, les développeur font des fichiers ou la balise <zone>
(chez moi) se répète autant de fois qu'il y a de cellule dans un
tableau, en revanche, ils utilisent des attributs dans cette balise.
J'ai essayé mais je n'arrive pas à créer le document xsl
correspondant, si je supprime mes balises <col>, mon fichier xsl ne
prend que la 1ere ligne <zone>
Cordialement,
Y.
--
Cordialement,
               ///
              (. .)
  --------ooO--(_)--Ooo--------
|      Philippe Poulard       |
  -----------------------------
 http://reflex.gforge.inria.fr/
        Have the RefleX !
--
Cordialement,
               ///
              (. .)
  --------ooO--(_)--Ooo--------
|      Philippe Poulard       |
  -----------------------------
 http://reflex.gforge.inria.fr/
        Have the RefleX !
Loading...