A-t-on des outils (package) pour produire un graphique représentant la structure (l'arborescence) d'un fichier XML ?

Par exemple :

Ouvrir dans l'éditeur Overleaf
<personne>
 <nom> Toto</nom>
  <adresse>
     <rue>fourier</rue>
     <num>18</num>
  </adresse>
</personne>

qui deviendrait par lecture du fichier un truc comme :

Ouvrir dans l'éditeur Overleaf
personne
|—nom
|—adresse
  |—rue
  |-num

Posée 01 Fév '21, 15:38

Maxime's gravatar image

Maxime ♦
1.3k31638
Taux d'acceptation : 58%

Modifiée 01 Fév '21, 15:39

2

Je ne connais rien à XML, mais le package luaxml ne fait-il pas ce que tu souhaites ?

(01 Fév '21, 15:42) denis ♦♦ denis's gravatar image

@denis j'ai l'impression que c'est une très bonne base pour produire ça vu que c'est une librairie lua qui permet de parser du XML, mais ça ne produit pas le graphique directement du côté LaTeX. Ça reste une bonne piste.

(01 Fév '21, 16:04) Maxime ♦ Maxime's gravatar image
2

@Maxime Peut-être peut-on le combiner avec l'extension dirtree ?

(01 Fév '21, 17:58) samcarter samcarter's gravatar image

@samcarter Tout à fait, mais j'espérais que quelqu'un d'autre s'y soit attelé :)

(01 Fév '21, 20:40) Maxime ♦ Maxime's gravatar image

Il en existe peut-être un mais ce serait tout à fait anecdotique; car tu as trois traitements à effectuer : 1. extraire l'arborescence des noms des éléments XML; 2. formater cette arborescence suivant la forme attendue; 3. générer une image graphique.

En fonction de la quantité de données à traitées, tu peux utiliser une simple suite d'expressions régulières ou une API SAX, implémentée dans de nombreux langages.

Lien permanent

Publiée 07 Fév '21, 15:53

polymorphisme's gravatar image

polymorphisme
511822
Taux d'acceptation : 40%

Merci des infos.

(08 Fév '21, 14:33) Maxime ♦ Maxime's gravatar image
Votre réponse
(dés)activer l'aperçu

Suivre cette question

Par courriel :

Une fois que vous serez enregistré, vous pourrez souscrire à n'importe quelle mise à jour ici

Par flux RSS :

Réponses

Réponses et commentaires

Bases de Markdown

  • *italique* ou _italique_
  • **gras** ou __gras__
  • Lien ::[texte](http://url.com/ "Titre ")
  • Image : ?![alt texte](/path/img.jpg "Titre ")
  • Liste numérotée : 1. Foo 2. Bar
  • Pour ajouter un passage à la ligne, ajoutez deux espaces à l'endroit où vous souhaitez que la ligne commence.
  • Les balises HTML de base sont également prises en charge.