Formatirati in zamakniti XML
- Nadzorna plošča
- Dokumentacija
- API
Zakaj formatirati XML?
Oblikovanje XML (imenovano tudi oblikovanje XML, zamik XML ali lep tisk) je sestavljeno iz reorganizirati strnjen ali pomanjšan dokument XML v zamaknjeno strukturo, berljivo vrstico za vrstico. Dobro oblikovan XML izboljša človeško berljivost, ki je bistvena pri branju odziv SOAP, brskanje po viru RSS ali pregledovanje vsebine konfiguracijske datoteke.
Natančneje, naš XML oblikujemo iz štirih glavnih razlogov:
- Odpravljanje napak: hitro opazite nezaprto oznako, manjkajoči atribut ali nedosledno strukturo.
- Ročna integracija: čisto kopirajte fragment v konfiguracijsko datoteko, ne da bi prekinili obstoječo vdolbino.
- Pregled kode: primerjajte dve različici dokumenta XML v Git diff postane berljiv, ko je vsaka oznaka v svoji vrstici.
- Dokumentacija in primeri: oblikovan XML je veliko bolj poučen v tehničnem dokumentu ali README.
Tipični primeri uporabe
XML ostaja vseprisoten v programskem ekosistemu. Tukaj so formati, na katerih razvijalci najpogosteje uporabljajo format XML:
- Odzivi SOAP:
ovojnice, ki jih vrnejo spletne storitve SOAP, običajno prispejo pomanjšane. - Viri RSS in Atom: za pregled ali revizijo vira združevanja.
- Konfiguracije Spring, Maven (
pom.xml), Ant, Ivy: datoteke gradnje in odvisnosti Java. AndroidManifest.xmlin drugi viri XML projekta Android.- Datoteke SVG: vektorska grafika, izvožena iz programske opreme za oblikovanje, je pogosto stisnjena v eno vrstico.
- Izvozi e-trgovine: viri izdelkov Google Nakupovanje, izvozi Magento, Shopify ali PrestaShop.
- Dokumenti OOXML: datoteke
.docx,.xlsxin.pptxso arhivi ZIP, ki vsebujejo datoteke XML, ki jih je pogosto treba pregledati. - Zemljevidi spletnega mesta XML:
zemljevid spletnega mesta.xml, ki je na voljo iskalnikom.
Kako deluje oblikovanje XML
Oblikovalnik XML ne dodaja samo naključno presledkov. Izvaja dva koraka:
- Razčlenjevanje: dokument se prebere in nato pretvori v drevo DOM (Document Object Model). Ta korak tudi potrdi, da je XML dobro oblikovan (pravilno ugnezdene oznake, atributi v narekovajih, en korenski element).
- Zamaknjena serializacija: Drevo DOM je ponovno oddano kot besedilo s prelomi vrstic med elementi in zamiki, ki so sorazmerni z globino v drevesu.
Ta drevesni pristop zagotavlja, da ostane logična struktura dokumenta popolnoma enaka: spremenjeni so le nepomembni presledki med oznakami. Odseki CDATA, komentarji in navodila za obdelavo so ohranjena. Naprednejše transformacije (XSLT) oz poizvedbe (XPath) delujejo na tem istem drevesu DOM.
Kako uporabljati XML Formatter
Postopek je namerno preprost:
- Prilepite dokument XML v besedilno polje ali naložite datoteko
.xml. - Potrdite obrazec: dokument se samodejno analizira in zamakne.
- Oblikovani rezultat se prikaže v izhodnem območju. V primeru napake pri razčlenjevanju sporočilo navaja naravo in približen položaj težave.
- Kopirajte rezultat z namenskim gumbom ali ga prenesite, da ga integrirate neposredno v svoj projekt.
Najboljše prakse za zamik XML
Nekaj konvencij, ki jih je treba upoštevati za izdelavo čistega in trajnega XML-ja:
- Zamik: 2 ali 4 presledki, odvisno od dogovora vaše ekipe. Ostanite dosledni skozi projekt.
- Prelomi vrstic: en element na vrstico, zaradi česar so razlike Git uporabne.
- Razdelki CDATA: dober oblikovalnik ohrani bloke
v celoti brez ponovnega zamika njihove vsebine, ki se obravnava kot navadno besedilo. - Kodiranje: vedno navedite kodiranje v prvi vrstici s
. UTF-8 je de facto standard. - Atributi: Če ima element veliko atributov, jih nekatere ekipe zavijejo zaradi berljivosti; sicer ostanejo v isti vrstici kot začetna oznaka.
- Komentarji:
mora trener hraniti tako, kot je.
Primer pred / potem
Tukaj je konkreten primer kompaktnega XML-ja, ki ga olepša oblikovalnik.
Pred (ena vrstica, nečitljivo):
- val
- val2
Po (oblikovan z 2 presledkoma):
- val
- val2
Logična struktura je popolnoma enaka: spremeni se le vizualna postavitev.
Popolni primer
Večji dokument XML po oblikovanju izgleda takole:
Janez Doe
johndoe@example.com
123 Glavna ulica
Springfield
ON
62704
ZDA
555-1234
555-5678
res
temno
2024-06-14T09:30:00Z
Pogosta vprašanja
Kaj je dobro oblikovan XML?
Pravimo, da je XML dobro oblikovan, če upošteva osnovna sintaktična pravila: en korenski element, pravilno ugnezdene in zaprte oznake, atribute v narekovajih, ubežne posebne znake (&, <, >). To je predpogoj za razčlenitev dokumenta. Ne sme se zamenjevati z veljavnim XML-jem, ki prav tako spoštuje shemo XSD ali DTD.
Kakšna je razlika med oblikovanjem (lep tisk) in pomanjševanjem XML?
Lep tisk doda prelome vrstic in zamike za človekovo branje. Minifikacija deluje ravno nasprotno: odstrani vse nepomembne presledke, da zmanjša velikost dokumenta, kar je uporabno za omrežni prehod (odzivi SOAP, XML API). Oba dokumenta sta pomensko enakovredna.
Ali se komentarji in razdelki CDATA ohranijo med oblikovanjem?
ja Pravilen format ohranja komentarje, razdelke in navodila za obdelavo ( ... ?>). Vsebina CDATA ostane nedotaknjena brez ponovnega zamika, saj se obravnava kot navadno besedilo. Preverite rezultat, če so vaši komentarji dokumentarnega pomena.
Ali so podprti imenski prostori XML (xmlns)?
ja Deklaracije imenskega prostora (xmlns:soap="...") in povezane predpone () so ohranjene takšne, kot so. Oblikovalnik ne preimenuje predpon ali premika deklaracij v drevesu, kar zagotavlja, da semantika dokumenta ostane enaka. Privzeti imenski prostori (brez predpone) so ohranjeni tudi na njihovi ravni deklaracije.
Ali naj zamaknemo s presledki ali zavihki?
Oboje deluje, vendar so presledki prevladujoča konvencija, ker se povsod prikažejo enako (terminali, brskalniki, Git diff). 2 ali 4 presledki, odvisno od podrobnosti vašega XML-ja: 2 za zelo ugnezdene dokumente (SVG, Spring konfiguracije), 4 za ravne dokumente. Glavna stvar ostaja doslednost skozi projekt.
Ali formater spremeni semantiko dokumenta?
Ne. Prilagojeni so le presledki med oznakami. Struktura DOM, vrednosti atributov in besedilna vsebina elementov ostajajo enaki. Ena izjema: smiselno besedilno vsebino (z xml:space="preserve") je treba ohraniti takšno, kot je, preverite ta vidik, če vaši podatki vsebujejo smiselne presledke.
Ali lahko XML potrdimo hkrati z oblikovanjem?
Oblikovalnik že izvaja sintaktično preverjanje (dobro oblikovan XML), saj mora razčleniti dokument. Za validacijo glede na shemo XSD ali DTD potrebujete namensko orodje: strukturna validacija presega obseg preprostega formatirja. xmllint --schema ali xerces sta primerna za ta dodatni korak.
Primer zahteve
curl -X POST https://cdrn.fr/api/v1/tools/xml-formatter/execute \
-H "Content-Type: application/json" \
-d '{"input":"..."}'
Vhodna shema
| Polje | Tip | Obvezno | Privzeto |
|---|---|---|---|
input |
text | ✓ | – |
Končne točke
GET https://cdrn.fr/api/v1/tools- izpiše vsa razpoložljiva orodjaGET https://cdrn.fr/api/v1/tools/xml-formatter- pridobi shemo tega orodjaPOST https://cdrn.fr/api/v1/tools/xml-formatter/execute- izvede to orodje s JSON payloadom