Plusieurs objets avec le mêm identifiant

L'auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

Bonjour à tous

je suis face à un petit problème …

J'ai un fichier SVG que je dois annoter (via les attributs id et class des différents objets) pour pouvoir rajouter du JavaScript dessus. Pour pouvoir l'annoter facilement, j'utilise Inkscape qui permet de voir immédiatement quelle ligne du fichier correspond à quel chemin du dessin. Je voudrais pouvoir donner le même identifiant à deux objets (pas forcément top mais j'ai mes raisons). Or, Inkscape empêche cela : si je donne à un objet B le même identifiant qu'à un objet A, mettons "truc", A perd son identifiant et en récupère un du type "path123" (et B prend bien "truc").

Je voudrais bloquer ce comportement par défaut d'Inkscape.

La solution simple serait de modifier directement le SVG dans un programme genre "Bloc-note" mais cela oblige a switcher entre deux programmes pour avoir la correspondance. Ou de changer l'attribut dans lequel je stocke mes informations mais je préfèrerais éviter.

Quelqu'un saurait-il comment faire ?

Line

EDIT : Mince, une faute de frappe dans le titre ! Est-ce qu'un modo peut le corriger ? (Je n'ai pas trouvé comment le faire moi-même)

Édité par LineVa

+0 -0

De façon générale, c'est impossible, un identifiant est unique, si tu veut sélectionner deux objets en JS, utilise une classe.

« There was a kingdom that was falling so fast that people wouldn't help it, they wouldn't make it last » - Animal Kingdom, Beau

+1 -0
Auteur du sujet

Oui, Kje, le problème est vraiment là. Entre autre, parce que l'application est entièrement codée avec ce système d'identifiants et de class. J'avais initialement un objet par identifiant mais le client vient de me demander de changer la numérotation des objets. Donc, j'ai actuellement trois solutions : Trouver une solution pour ne pas changer le système et toujours passer par Inkscape pour l'annotation, Trouver un autre logiciel que Inkscape, Changer tout mon système (mais ça va être compliqué car je dois rendre le code dans trois jours et qu'il y a encore des bugs), Dire "Zut !" au client.

J'aimerais bien privilégier la première solution …

EDIT pour Titi_Alone : Je le sais bien, c'était le cas avant. Si je peux faire ce que je veux avec Inkscape, l'identification unique sera effectuée par la combinaison de la classe et de l'identifiant.

EDIT bis : Je veux sélectionner un unique élément en le repérant par un combinaison unique d'identifiant et de class. Je sais que ce que je veux faire n'est pas très orthodoxe mais je suis bloquée par le temps pour faire quelque chose de plus propre.

Line

Édité par LineVa

+0 -0
Staff

J'avais initialement un objet par identifiant mais le client vient de me demander de changer la numérotation des objets.

Et c'est la nouvelle numérotation qui impose deux identifiants qui peuvent être identique ?

Moi je lui dirait "zut" au client. Il te demande un truc qui ne va pas fonctionner.

+0 -0
Auteur du sujet

Et c'est la nouvelle numérotation qui impose deux identifiants qui peuvent être identique ?

Moi je lui dirait "zut" au client. Il te demande un truc qui ne va pas fonctionner.

Kje

Du moins, c'est la traduction immédiate dans mon système de la demande du client. Il faudrait que je modifie mon système d'identification et je n'ai pas très envie…

Merci de ton aide en tout cas.

Édité par LineVa

+0 -0
Staff

A noter que du svg c'est juste du xml. Si tes regles de renommages sont simples (= sans besoin d'intervention manuelle), il serait pas dur de faire un script pour faire ça, sans passer par inkscape

+0 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte