python / python/cpython

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

Aperta
#95,472 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

topic-XML type-feature
Lingua principale
Python
Stelle
77.2k
Fork
36k
Metriche di merge delle PR
Metriche PR in attesa

Descrizione

(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.

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia esaminando la pull request esistente menzionata nell’issue e il comportamento di formattazione di xml.etree.ElementTree che modifica. Il lavoro sarà completo quando i chiamanti potranno controllare indipendentemente l’uso delle virgolette nella dichiarazione XML e la formattazione degli elementi vuoti, con una copertura per entrambi gli esempi mostrati.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
python
Ambito
backend
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
15/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.