python / python/cpython

`xml.etree.ElementTree` — doesn't allow specifying fine-grained formatting controls

Ouverte
#95,472 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

topic-XML type-feature
Langage dominant
Python
Étoiles
77.2k
Forks
36k
Métriques de merge des PR
Métriques de PR en attente

Description

(Note: I already have a PR and this is a tracking issue.)

Enhancement

XML is maddening from a Git perspective, as if multiple tools will edit it, you'll get lots of lines in the diff that aren't needed.

For example:

diff --git a/sources/designspace/Besley.designspace b/sources/designspace/Besley.designspace
index d247944..eecb985 100644
--- a/sources/designspace/Besley.designspace
+++ b/sources/designspace/Besley.designspace
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<?xml version='1.0' encoding='UTF-8'?>

And:

diff --git a/sources/designspace/Besley.designspace b/sources/designspace/Besley.designspace
index d247944..9d570dd 100644
--- a/sources/designspace/Besley.designspace
+++ b/sources/designspace/Besley.designspace
@@ -10,15 +10,15 @@
       <map input="800" output="766"/>
       <map input="900" output="900"/>
     </axis>
-    <axis tag="wdth" name="Width" minimum="75" maximum="100" default="100"></axis>
+    <axis tag="wdth" name="Width" minimum="75" maximum="100" default="100" />
   </axes>
 
   <sources>
 
     <source filename="../ufo/Besley-Book.ufo" name="Besley Regular" familyname="Besley" stylename="Regular">
       <location>
-        <dimension name="Weight" xvalue="400"/>
-        <dimension name="Width" xvalue="100"/>
+        <dimension name="Weight" xvalue="400" />
+        <dimension name="Width" xvalue="100" />
       </location>
     </source>
 

There are likely other issues, but I only needed to solve these two.

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par examiner la pull request existante mentionnée dans l’issue ainsi que le comportement de formatage de xml.etree.ElementTree qu’elle modifie. Le travail sera terminé lorsque les appelants pourront contrôler indépendamment la mise entre guillemets de la déclaration XML et le formatage des éléments vides, avec une couverture pour les deux exemples présentés.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
python
Domaine
backend
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
15/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.