Besoin de la traduction en clair d'une ligne de code XML

Besoin de la traduction en clair d'une ligne de code XML - XML/XSL - Programmation

Marsh Posté le 25-01-2012 à 16:05:16    

Bonjour,
 
Je suis en train d'adapter une gauge (un instrument de bordà d'un avion de Flight Simulator, et cette gauge est rédigé en XML, langage que je ne connais pas du tout (je ne connais que le VB6)
 
Mes modifications portent pour la plupart sur des paramêtres fixes, donc j'arrive à mon sortir tant bien que mal.
 
Mais là, je bute sur une ligne de code, car j'ai du mal avec la synthaxe du XML et notement en ce qui concerne les opérandes et les tests.
 
quelqu'un peut-il me traduire en français cette ligne :
 
(A:EMPTY WEIGHT, kilograms) 40000 > if{ (A:TOTAL WEIGHT, kg) 1000 / sqr -0.00587 * (A:TOTAL WEIGHT, kg) 1000 / 1.914 * + 55.922 + (>L:VS1g0)
 
Je suppose que VS1g0 est une variable dont la valeur est égale au calcul qui le précede :
 
mais je ne comprend pas bien dans quel ordre se font les opérations.
et que siginifie A: ou L: dans un bloc entre parenthèse ?
 
merci d'avance
 
 
Edit : J'ai compris la signification du A:  (Siginifie aircraft Data).
 


Message édité par Fdd_fr le 25-01-2012 à 16:20:43

---------------
Ma galerie photos en ligne             Mon website sur mon projet de programmation des systèmes de vol d'un Airbus A320 pour FSX/P3D  
Reply

Marsh Posté le 25-01-2012 à 16:05:16   

Reply

Marsh Posté le 25-01-2012 à 17:43:30    

J'ai pas l'impression que ce soit du xml ton truc là :/ Le xml, c'est à base de balises.
ex :<titre>Mon titre...</titre>


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 25-01-2012 à 18:39:15    

rufo a écrit :

J'ai pas l'impression que ce soit du xml ton truc là :/ Le xml, c'est à base de balises.
ex :<titre>Mon titre...</titre>


Je confirme, c'est ni du XML ni du XPath ni (pour autant que je puisse le voir) du XQuery.


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 25-01-2012 à 18:45:18    

Si si, c'est du xml. Je n'ai pas copier la section entière, car j'arrive à comprendre les balises.
 
Cette ligne correspond a mon avis à la définition d'une variable : VS1g0
 
Ce que je ne comprends pas, c'est le systeme d'operation en xml. d'après ce que j'ai compris, 3+4 s'ecrit 3 4 + (pourquoi faire simple quand on peut faire compliqué  :D  )
 
La seule chose que je comprends ici c'est que:
 
Si EMPTY WEIGHT (le poids à vide de l'avion) est plus grand que 40000kg, alors que je suppose être la variable VSG1go est égal au calcul qui précède (mais avec une condition puisque je vois un IF), mais je ne sais pas dans quel ordre faire ce calcul.
En fait je ne comprends pas du toout dans quel ordre on lit les choses.

Message cité 1 fois
Message édité par Fdd_fr le 25-01-2012 à 18:47:08

---------------
Ma galerie photos en ligne             Mon website sur mon projet de programmation des systèmes de vol d'un Airbus A320 pour FSX/P3D  
Reply

Marsh Posté le 25-01-2012 à 19:02:58    

Fdd_fr a écrit :

Si si, c'est du xml.


non. C'est peut-être du bordel dans un fichier XML, mais c'est pas du XML, ça ne ressemble pas à du XML et ça n'a aucun rapport avec du XML.
 
C'est un truc sinon spécifique à ton soft au moins spécifique à son créateur.


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 25-01-2012 à 19:08:52    

L'entête du fichier :  <?xml version="1.0" encoding="UTF-8"?>
 
Il porte l'extension .xml
 
 
 
Donc il y a un bloc comme cela dans le fichier :
 

Code :
  1. <Script>(A:VELOCITY BODY Z, knots) 40 &lt; if{ 1 (&gt;L:PFDVAR1) } (A:VELOCITY BODY Z, knots) 210 &gt; if{ 2 (&gt;L:PFDVAR1) }
  2. (A:AIRCRAFT WIND Z, knots) 45 &lt; if{ (A:AIRCRAFT WIND Z, knots) abs 3 / (&gt;L:VAPP1) } (A:AIRCRAFT WIND Z, knots) 45 &gt;= if{ 15 (&gt;L:VAPP1) }
  3. (A:AUTOPILOT AIRSPEED HOLD, bool) 1 ==  if{ 5 (&gt;L:VAPP2) } els{ 0 (&gt;L:VAPP2) }
  4. (A:EMPTY WEIGHT, kilograms) 40000 &gt; if{ (A:TOTAL WEIGHT, kg) 1000 / sqr -0.00587 * (A:TOTAL WEIGHT, kg) 1000 / 1.914 * + 55.922 + (&gt;L:VS1g0)
  5. (A:TOTAL WEIGHT, kg) 1000 / sqr -0.00228 * (A:TOTAL WEIGHT, kg) 1000 / 1.267 * + 54.457 + (&gt;L:VS1g1)
  6. (A:TOTAL WEIGHT, kg) 1000 / sqr -0.00245 * (A:TOTAL WEIGHT, kg) 1000 / 1.228 * + 47.352 + (&gt;L:VS1g2)
  7. (A:TOTAL WEIGHT, kg) 1000 / sqr -0.0023 * (A:TOTAL WEIGHT, kg) 1000 / 1.16 * + 45.855 + (&gt;L:VS1g3)
  8. (A:TOTAL WEIGHT, kg) 1000 / sqr -0.0023 * (A:TOTAL WEIGHT, kg) 1000 / 1.16 * + 45.855 + (&gt;L:VS1g4)
  9. (A:TOTAL WEIGHT, kg) 1000 / sqr -0.004 * (A:TOTAL WEIGHT, kg) 1000 / 1.298 * + 37.26 + (&gt;L:VS1g5) }
  10. els{ (A:TOTAL WEIGHT, kg) 1000 / sqr -0.006 * (A:TOTAL WEIGHT, kg) 1000 / 1.94 * + 50.096 + (&gt;L:VS1g0)
  11. (A:TOTAL WEIGHT, kg) 1000 / sqr -0.0083 * (A:TOTAL WEIGHT, kg) 1000 / 2.036 * + 32.96 + (&gt;L:VS1g1)
  12. (A:TOTAL WEIGHT, kg) 1000 / sqr -0.0037 * (A:TOTAL WEIGHT, kg) 1000 / 1.359 * + 44.899 + (&gt;L:VS1g2)
  13. (A:TOTAL WEIGHT, kg) 1000 / sqr -0.0053 * (A:TOTAL WEIGHT, kg) 1000 / 1.543 * + 34.0546 + (&gt;L:VS1g3)
  14. (A:TOTAL WEIGHT, kg) 1000 / sqr -0.0029 * (A:TOTAL WEIGHT, kg) 1000 / 1.21 * + 42.81 + (&gt;L:VS1g4)
  15. (A:TOTAL WEIGHT, kg) 1000 / sqr -0.0035 * (A:TOTAL WEIGHT, kg) 1000 / 1.28 * + 37.471 + (&gt;L:VS1g5) }
  16. (A:INDICATED ALTITUDE, feet) 100 / sqr -0.00000022 * (A:INDICATED ALTITUDE, feet) 100 / 0.0004 * + 1 + (&gt;L:VS1gA)
  17. (A:INDICATED ALTITUDE, feet) 100 / 0.00157 * (A:TOTAL WEIGHT, kg) 1000 / 0.0057 * + -0.276 + (&gt;L:VS125gM)
  18. (L:ECAMSVAR1) 1 == (A:SIM ON GROUND, bool) 1 == &amp;&amp; if{ (A:FLAPS HANDLE INDEX, number) (&gt;L:PFDVAR3) }
  19. (A:FLAPS HANDLE INDEX, number) (L:PFDVAR3) != (A:SIM ON GROUND, bool) 0 ==  &amp;&amp; if{ 0 (&gt;L:PFDVAR3) }
  20. (A:INDICATED ALTITUDE, feet) 20000 &gt; if{ (A:INDICATED ALTITUDE, feet) 20000 - 1000 / (&gt;L:VG1) } els{ 0 (&gt;L:VG1) }
  21. (A:TOTAL WEIGHT, kg) 1000 / 2 * 85 + (L:VG1) +  (&gt;L:VG)
  22. (A:ACCELERATION BODY Z, meters per second squared) 19.43844 * 50 &gt; if{ 50  (&gt;L:VAC) } els{ (A:ACCELERATION BODY Z, meters per second squared) 19.43844 * (&gt;L:VAC) }
  23. (A:ACCELERATION BODY Z, meters per second squared) 19.43844 * -50 &lt; if{ -50  (&gt;L:VAC) }</Script>


 
 
Et la variable est utilisé ici :
 

Code :
  1. <Element id="ASI MIN SPEED BAR">
  2.                         <FloatPosition>58.000,70.000</FloatPosition>
  3.                         <Visibility> (A:SIM ON GROUND, bool) 0 == </Visibility>
  4.                         <Image id="PFD_ASI_MINIMUM_SPEED_BAR.bmp" Name="PFD_ASI_MINIMUM_SPEED_BAR.bmp">
  5.                             <Transparent>True</Transparent>
  6.                             <Axis>0.000,776.000</Axis>
  7.                             <Bright>True</Bright>
  8.                         </Image>
  9.                         <MaskImage id="pfd_asi_strip_mask.bmp" Name="pfd_asi_strip_mask.bmp">
  10.                             <Axis>0.000,75.000</Axis>
  11.                         </MaskImage>
  12.                         <Shift id="Shift">
  13.                             <Scale>0.000,1.742</Scale>
  14.                             <Expression id="Expression">
  15.                                 <Minimum>0.000</Minimum>
  16.                                 <Maximum>9999.999</Maximum>
  17.                                 <Script>(A:Airspeed select indicated or true, knots) (L:VS1G0) (L:VS1GA) * 1.28 * - 82 +</Script>
  18.                             </Expression>
  19.                         </Shift>
  20.                     </Element>

Message cité 1 fois
Message édité par Fdd_fr le 25-01-2012 à 19:10:06

---------------
Ma galerie photos en ligne             Mon website sur mon projet de programmation des systèmes de vol d'un Airbus A320 pour FSX/P3D  
Reply

Marsh Posté le 25-01-2012 à 19:17:13    

Fdd_fr a écrit :

L'entête du fichier :  <?xml version="1.0" encoding="UTF-8"?>
 
Il porte l'extension .xml


J'en parlerai à mon cheval.

Fdd_fr a écrit :

Donc il y a un bloc comme cela dans le fichier :
 

Code :
  1. <Script>(A:VELOCITY BODY Z, knots) 40 &lt; if{ 1 (&gt;L:PFDVAR1) } (A:VELOCITY BODY Z, knots) 210 &gt; if{ 2 (&gt;L:PFDVAR1) }
  2. (A:AIRCRAFT WIND Z, knots) 45 &lt; if{ (A:AIRCRAFT WIND Z, knots) abs 3 / (&gt;L:VAPP1) } (A:AIRCRAFT WIND Z, knots) 45 &gt;= if{ 15 (&gt;L:VAPP1) }
  3. (A:AUTOPILOT AIRSPEED HOLD, bool) 1 ==  if{ 5 (&gt;L:VAPP2) } els{ 0 (&gt;L:VAPP2) }
  4. (A:EMPTY WEIGHT, kilograms) 40000 &gt; if{ (A:TOTAL WEIGHT, kg) 1000 / sqr -0.00587 * (A:TOTAL WEIGHT, kg) 1000 / 1.914 * + 55.922 + (&gt;L:VS1g0)
  5. (A:TOTAL WEIGHT, kg) 1000 / sqr -0.00228 * (A:TOTAL WEIGHT, kg) 1000 / 1.267 * + 54.457 + (&gt;L:VS1g1)
  6. (A:TOTAL WEIGHT, kg) 1000 / sqr -0.00245 * (A:TOTAL WEIGHT, kg) 1000 / 1.228 * + 47.352 + (&gt;L:VS1g2)
  7. (A:TOTAL WEIGHT, kg) 1000 / sqr -0.0023 * (A:TOTAL WEIGHT, kg) 1000 / 1.16 * + 45.855 + (&gt;L:VS1g3)
  8. (A:TOTAL WEIGHT, kg) 1000 / sqr -0.0023 * (A:TOTAL WEIGHT, kg) 1000 / 1.16 * + 45.855 + (&gt;L:VS1g4)
  9. (A:TOTAL WEIGHT, kg) 1000 / sqr -0.004 * (A:TOTAL WEIGHT, kg) 1000 / 1.298 * + 37.26 + (&gt;L:VS1g5) }
  10. els{ (A:TOTAL WEIGHT, kg) 1000 / sqr -0.006 * (A:TOTAL WEIGHT, kg) 1000 / 1.94 * + 50.096 + (&gt;L:VS1g0)
  11. (A:TOTAL WEIGHT, kg) 1000 / sqr -0.0083 * (A:TOTAL WEIGHT, kg) 1000 / 2.036 * + 32.96 + (&gt;L:VS1g1)
  12. (A:TOTAL WEIGHT, kg) 1000 / sqr -0.0037 * (A:TOTAL WEIGHT, kg) 1000 / 1.359 * + 44.899 + (&gt;L:VS1g2)
  13. (A:TOTAL WEIGHT, kg) 1000 / sqr -0.0053 * (A:TOTAL WEIGHT, kg) 1000 / 1.543 * + 34.0546 + (&gt;L:VS1g3)
  14. (A:TOTAL WEIGHT, kg) 1000 / sqr -0.0029 * (A:TOTAL WEIGHT, kg) 1000 / 1.21 * + 42.81 + (&gt;L:VS1g4)
  15. (A:TOTAL WEIGHT, kg) 1000 / sqr -0.0035 * (A:TOTAL WEIGHT, kg) 1000 / 1.28 * + 37.471 + (&gt;L:VS1g5) }
  16. (A:INDICATED ALTITUDE, feet) 100 / sqr -0.00000022 * (A:INDICATED ALTITUDE, feet) 100 / 0.0004 * + 1 + (&gt;L:VS1gA)
  17. (A:INDICATED ALTITUDE, feet) 100 / 0.00157 * (A:TOTAL WEIGHT, kg) 1000 / 0.0057 * + -0.276 + (&gt;L:VS125gM)
  18. (L:ECAMSVAR1) 1 == (A:SIM ON GROUND, bool) 1 == &amp;&amp; if{ (A:FLAPS HANDLE INDEX, number) (&gt;L:PFDVAR3) }
  19. (A:FLAPS HANDLE INDEX, number) (L:PFDVAR3) != (A:SIM ON GROUND, bool) 0 ==  &amp;&amp; if{ 0 (&gt;L:PFDVAR3) }
  20. (A:INDICATED ALTITUDE, feet) 20000 &gt; if{ (A:INDICATED ALTITUDE, feet) 20000 - 1000 / (&gt;L:VG1) } els{ 0 (&gt;L:VG1) }
  21. (A:TOTAL WEIGHT, kg) 1000 / 2 * 85 + (L:VG1) +  (&gt;L:VG)
  22. (A:ACCELERATION BODY Z, meters per second squared) 19.43844 * 50 &gt; if{ 50  (&gt;L:VAC) } els{ (A:ACCELERATION BODY Z, meters per second squared) 19.43844 * (&gt;L:VAC) }
  23. (A:ACCELERATION BODY Z, meters per second squared) 19.43844 * -50 &lt; if{ -50  (&gt;L:VAC) }</Script>


 
 
Et la variable est utilisé ici :
 

Code :
  1. <Element id="ASI MIN SPEED BAR">
  2.                         <FloatPosition>58.000,70.000</FloatPosition>
  3.                         <Visibility> (A:SIM ON GROUND, bool) 0 == </Visibility>
  4.                         <Image id="PFD_ASI_MINIMUM_SPEED_BAR.bmp" Name="PFD_ASI_MINIMUM_SPEED_BAR.bmp">
  5.                             <Transparent>True</Transparent>
  6.                             <Axis>0.000,776.000</Axis>
  7.                             <Bright>True</Bright>
  8.                         </Image>
  9.                         <MaskImage id="pfd_asi_strip_mask.bmp" Name="pfd_asi_strip_mask.bmp">
  10.                             <Axis>0.000,75.000</Axis>
  11.                         </MaskImage>
  12.                         <Shift id="Shift">
  13.                             <Scale>0.000,1.742</Scale>
  14.                             <Expression id="Expression">
  15.                                 <Minimum>0.000</Minimum>
  16.                                 <Maximum>9999.999</Maximum>
  17.                                 <Script>(A:Airspeed select indicated or true, knots) (L:VS1G0) (L:VS1GA) * 1.28 * - 82 +</Script>
  18.                             </Expression>
  19.                         </Shift>
  20.                     </Element>



Les balises <script> contiennent de la logique métier dans un langage de script quelconque, qui n'a aucun rapport avec XML (c'est d'ailleurs pareil pour la balises <visibility> ). Pour la 3e fois, le truc dans ton premier commentaire n'est pas du XML et n'a aucun rapport avec du XML, et personne dans cette sous-catégorie ne peut t'aider.
 
Si tu veux de l'aide avec ton bordel, je ne peux que te conseiller d'aller sur un forum spécialisé Flight Sim, parce que je doute fort que la sous-cat XML ait qui que ce soit de spécialisé là dedans. Alternativement, tu peux envoyer un message privé à l'utilisateur "harkonnen", le seul spécialiste de flight simulator que je connaisse dans la catégorie programmation.
 
Dans tous les cas, continuer ce fil de discussion ne servira probablement à rien.


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 25-01-2012 à 19:20:17    

Reply

Marsh Posté le 26-01-2012 à 10:13:26    

masklinn a écrit :


non. C'est peut-être du bordel dans un fichier XML, mais c'est pas du XML, ça ne ressemble pas à du XML et ça n'a aucun rapport avec du XML.
 
C'est un truc sinon spécifique à ton soft au moins spécifique à son créateur.


 
je me demandais si l'attribut id pouvait avoir des espaces? J'avais toujours pensé que nom, que ça devait être une chaîne de caractères formée un peu comme le nom d'une variable en C/C++, mais en cherchant dans la doc, j'ai pas trouvé de contre-indication à y mettre des espaces... Tu confirmes?


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 26-01-2012 à 11:03:19    

rufo a écrit :

 

je me demandais si l'attribut id pouvait avoir des espaces? J'avais toujours pensé que nom, que ça devait être une chaîne de caractères formée un peu comme le nom d'une variable en C/C++, mais en cherchant dans la doc, j'ai pas trouvé de contre-indication à y mettre des espaces... Tu confirmes?


À ma connaissance, la spec ne définit pas d'attribut nommé "id". Par contre il définit un type ID, qui doit être un Name.

 

Et là, tu peux pas mettre d'espace dedans.


Message édité par masklinn le 26-01-2012 à 11:03:34

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 26-01-2012 à 11:03:19   

Reply

Marsh Posté le 26-01-2012 à 15:45:36    

J'avais trouvé ça : http://www.w3.org/TR/xml-id/#processing


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 26-01-2012 à 16:05:25    

Qui n'a aucun rapport.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed