Est ce possible de faire ça ? - XML/XSL - Programmation
Marsh Posté le 19-09-2005 à 16:32:08
faut regarder du côté des axes xpath et en particulier l'axe preceding-sibling::
Marsh Posté le 19-09-2005 à 17:09:20
c'est possible, le stylesheet:
<?xml version="1.0" encoding="ISO-8859-1"?> |
qui donnera:
BYTEOFFSET BITOFFSET |
Marsh Posté le 19-09-2005 à 18:09:05
Merci bcp.
Puis je abusé un peu ?
Ton xsl marche tres bien avec le fichier xml que j ai donné tout à l heure mais j ai rajoute une subdivision dans observable.
Qu est ce qui faut modifier à ton script pour qu il marche de nouveau ?
Encore merci
Marsh Posté le 19-09-2005 à 21:13:39
J'ai failli te faire a remarque que la structure n'était pas top, qu'il fallait rajouter un niveau vu les répétitions dans 'observables'... j'ai passé outre puisque le xsl était d'autant plus simple, en effet dans la première structure les BYTEOFFSET étaient de vrais 'frères', en introduisant un niveau supplémentaire ils ne sont plus que 'cousins'...
il faut donc un peu repenser l'approche du xsl...
Marsh Posté le 20-09-2005 à 15:12:41
j'ai résussi à faire cela :
mais je n'arrive à adapter ton script de la somme à mon xsl
peux tu m aider ?
merci
Code :
|
Marsh Posté le 20-09-2005 à 15:39:15
trois <xsl:for-each> imbriqués... pourquoi tant de haine?
Marsh Posté le 20-09-2005 à 15:46:44
je debute en xsl, et je ne sais pas comment faire autrement car à terme il y aura N lignes dans X types
Sinon une idée, une piste ?
merci
Marsh Posté le 20-09-2005 à 15:57:10
Ce n'est pas un reproche, tous les débuts sont durs, mais le fait d'abuser d'<xsl:for-each> démontre surtout qu'on a pas compris, voir pas pris la peine de comprendre le fonctionnement d'un moteur XSLT... tant qu'on a pas vu cette lumière on galère en XSLT, enfin soit, c'est un mal ( très) répandu.
La modif est finalement moins grande que prévue...
<?xml version="1.0" encoding="ISO-8859-1"?> |
Si tu es maitre du format xml il vaut mieux adopter des noms de balise en minuscules...
Marsh Posté le 20-09-2005 à 16:01:15
j en suis mettre en effet, pourquoi le mettre en minuscule ?
encore merci pour ton aide
Marsh Posté le 20-09-2005 à 16:08:50
plus que 2 for each
Code :
|
Marsh Posté le 20-09-2005 à 16:23:34
encore 2 en trop alors...
|
Le select="//OBSERVABLE" demande au moteur XSLT de parcourir tout le xml et de chercher une correspondance dans le stylesheet uniquement pour les noeuds OBSERVABLE et ce à n'importe quel niveau de la structure...
Marsh Posté le 20-09-2005 à 16:58:20
pas de quoi, sinon ma remarque concernant les minuscules est inspirée par l'analogie avec l'évolution HTML ( balises en majuscules) vers le XHTML ( balises en minuscules obligatoirement)...
Marsh Posté le 19-09-2005 à 14:55:45
Bonjour,
Alors voila mon soucis, mon but global est d'écrire un fichier xsl
J'ai un fichier final qui ressemble à cela :
La structure du fichier ne peut pas être modiffier
J'ai ecris un fichier xml à la main qui devrait ressembler à ca au final :
La colonne BYTE_OFFSET est la somme des valeurs <BYTEOFFSET></BYTEOFFSET>.
Est ce possible de faire ça avec un xsl. Je débute en xml/xsl et je sais po du tt par ou commencer.
Si vous avez un exemple de xsl qui pourrait ressembler au mien je suis preneur
Merci de votre aide.
Message édité par sbucci2 le 19-09-2005 à 16:50:38