Formatēt un atkāpt XML
- Vadības panelis
- Dokumentācija
- API
Kāpēc formatēt XML?
XML formatējums (saukts arī par XML formatējumu, XML atkāpi vai glītu druku) sastāv no pārkārtojiet kompaktu vai samazinātu XML dokumentu atkāpes struktūrā, kas ir lasāma rindiņu pa rindiņai. Labi formatēts XML uzlabo cilvēka lasāmību, kas ir būtiska lasīšanas laikā SOAP atbildi, pārlūkojiet RSS plūsmu vai pārbaudiet konfigurācijas faila saturu.
Konkrēti, mēs formatējam savu XML četru galveno iemeslu dēļ:
- Atkļūdošana: ātri atrodiet neaizvērtu tagu, trūkstošu atribūtu vai nekonsekventu struktūru.
- Manuāla integrācija: tīri kopējiet fragmentu konfigurācijas failā, nepārkāpjot esošo atkāpi.
- Koda pārskatīšana: salīdziniet divas XML dokumenta versijas Git atšķirībā, kas kļūst lasāma, kad katrs tags atrodas savā rindā.
- Dokumentācija un piemēri: formatēts XML ir daudz izglītojošāks tehniskajā dokumentā vai README.
Tipiski lietošanas gadījumi
XML joprojām ir visuresošs programmatūras ekosistēmā. Šeit ir norādīti formāti, kurus izstrādātāji izmanto visbiežāk izmanto XML formatētāju:
- SOAP atbildes:
aploksnes, ko atgriež SOAP tīmekļa pakalpojumi, parasti tiek saņemtas samazinātas. - RSS un Atom plūsmas: lai pārbaudītu vai pārbaudītu sindikācijas plūsmu.
- Spring, Maven (
pom.xml), Ant, Ivy konfigurācijas: Java būvējuma un atkarības faili. AndroidManifest.xmlun citi Android projekta XML resursi.- SVG faili: no projektēšanas programmatūras eksportēta vektorgrafika bieži tiek saspiesta vienā rindā.
- E-komercijas eksportēšana: Google pirkumu produktu plūsmas, Magento, Shopify vai PrestaShop eksportēšana.
- OOXML dokumenti:
.docx,.xlsxun.pptxfaili ir ZIP arhīvi, kuros ir XML faili, kas bieži ir jāpārbauda. - XML vietnes kartes:
sitemap.xml, kas tiek nodrošināta meklētājprogrammām.
Kā darbojas XML formatēšana
XML formatētājs ne tikai pievieno atstarpes nejauši. Tas veic divas darbības:
- Parsēšana: dokuments tiek nolasīts un pēc tam pārveidots par DOM (dokumenta objektu modeļa) koku. Šī darbība arī pārbauda, vai XML ir pareizi veidots (pareizi ligzdoti tagi, atribūti pēdiņās, viens saknes elements).
- Serializācija ar atkāpi: DOM koks tiek atkārtoti izdalīts kā teksts ar rindiņu pārtraukumiem starp elementiem un atkāpi, kas ir proporcionāla koka dziļumam.
Šī koka pieeja nodrošina, ka dokumenta loģiskā struktūra paliek stingri identiska: tiek mainītas tikai nenozīmīgas atstarpes starp tagiem. CDATA sadaļas, komentāri un apstrādes instrukcijas tiek saglabātas. Uzlabotas transformācijas (XSLT) vai vaicājumi (XPath) darbojas tajā pašā DOM kokā.
Kā lietot XML formatētāju
Procedūra ir apzināti vienkārša:
- Ielīmējiet savu XML dokumentu tekstlodziņā vai augšupielādējiet
.xmlfailu. - Pārbaudiet veidlapu: dokuments tiek analizēts un atkāpe tiek veikta automātiski.
- Formatētais rezultāts tiek parādīts izvades apgabalā. Parsēšanas kļūdas gadījumā ziņojums norāda problēmas būtību un aptuveno atrašanās vietu.
- Nokopējiet rezultātu, izmantojot speciālo pogu, vai lejupielādējiet to, lai integrētu to tieši savā projektā.
XML atkāpes paraugprakse
Dažas konvencijas, kas jāievēro, lai izveidotu tīru un izturīgu XML:
- Atkāpe: 2 vai 4 atstarpes atkarībā no jūsu komandas vienošanās. Esiet konsekventi visā projekta laikā.
- Lindu pārtraukumi: viens elements katrā rindiņā, kas padara Git diferenciācijas lietojamas.
- CDATA sadaļas: labs formatētājs saglabā
blokus pilnībā, nepārveidojot to saturu, kas tiek uzskatīts par vienkāršu tekstu. - Kodējums: vienmēr norādiet kodējumu pirmajā rindā ar
. UTF-8 ir de facto standarts. - Atribūti: ja elementam ir daudz atribūtu, dažas komandas tos iesaiņo lasāmības labad; pretējā gadījumā tie paliek tajā pašā rindā ar sākuma tagu.
- Komentāri: trenerim ir jāsaglabā
.
Piemērs pirms/pēc
Šeit ir konkrēts kompakta XML piemērs, ko izrotājis formatētājs.
Pirms (viena rindiņa, nesalasāms):
- val
- val2
Pēc (formatēts ar 2 atstarpēm):
- val
- val2
Loģiskā struktūra ir stingri identiska: mainās tikai vizuālais izkārtojums.
Pilnīgs piemērs
Lielāks XML dokuments pēc formatēšanas izskatās šādi:
Džons Dū
johndoe@example.com
123 Main St
Springfield
VIŅŠ
62704
ASV
555-1234
555-5678
true
tumšs
2024-06-14T09:30:00Z
Bieži uzdotie jautājumi
Kas ir labi veidots XML?
Tiek uzskatīts, ka XML ir labi izveidots, ja tas atbilst sintakses pamatnoteikumiem: viens saknes elements, pareizi ligzdoti un slēgti tagi, atribūti pēdiņās, speciālās rakstzīmes ar atsoļu (&, <, >). Tas ir priekšnoteikums, lai varētu parsēt dokumentu. Nejaukt ar derīgu XML, kurā tiek ievērota arī XSD shēma vai DTD.
Kāda ir atšķirība starp formatēšanu (smuki drukātu) un XML samazināšanu?
Skaista druka pievieno rindiņu pārtraukumus un atkāpes cilvēka lasīšanai. Minifikācija dara pretējo: tā noņem visas nebūtiskās atstarpes, lai samazinātu dokumenta izmēru, kas ir noderīgi tīkla tranzītam (SOAP atbildes, XML API). Abi dokumenti ir semantiski līdzvērtīgi.
Vai formatēšanas laikā tiek saglabāti CDATA komentāri un sadaļas?
Jā. Pareizs formatētājs saglabā komentārus, sadaļas un apstrādes instrukcijas ( ... ?>). CDATA saturs paliek neskarts bez atkārtotas atkāpes, jo tas tiek uzskatīts par vienkāršu tekstu. Pārbaudiet rezultātu, ja jūsu komentāriem ir dokumentāla nozīme.
Vai tiek atbalstītas XML nosaukumvietas (xmlns)?
Jā. Nosaukumvietas deklarācijas (xmlns:soap="...") un saistītie prefiksi () tiek saglabāti tādi, kādi tie ir. Formatētājs nepārdēvē prefiksus un nepārvieto deklarācijas kokā, nodrošinot, ka dokumenta semantika paliek nemainīga. Noklusējuma nosaukumvietas (bez prefiksa) arī tiek uzturētas to deklarācijas līmenī.
Vai mums ir jāatkāpjas ar atstarpēm vai tabulēšanas zīmēm?
Abi darbojas, bet atstarpes ir dominējošā vienošanās, jo tās visur tiek rādītas identiski (termināļos, pārlūkprogrammās, Git diff). 2 vai 4 atstarpes atkarībā no jūsu XML daudzveidības: 2 ļoti ligzdotiem dokumentiem (SVG, pavasara konfigurācijas), 4 plakaniem dokumentiem. Galvenais paliek konsekvence visa projekta garumā.
Vai formatētājs maina dokumenta semantiku?
Nē. Tiek pielāgotas tikai atstarpes starp tagiem. DOM struktūra, atribūtu vērtības un elementu teksta saturs paliek nemainīgi. Viens izņēmums: jēgpilns teksta saturs (ar xml:space="preserve") ir jāsaglabā tāds, kāds tas ir. Pārbaudiet šo aspektu, ja jūsu datos ir jēgpilnas atstarpes.
Vai XML var pārbaudīt vienlaikus ar tā formatēšanu?
Formatētājs jau veic sintaktisko validāciju (labi izveidots XML), jo tam ir jāparsē dokuments. Lai veiktu validāciju saskaņā ar XSD shēmu vai DTD, ir nepieciešams īpašs rīks: strukturālā validācija pārsniedz vienkārša formatētāja darbības jomu. Šai papildu darbībai ir piemērotas xmllint --schema vai xerces.
Pieprasījuma piemērs
curl -X POST https://cdrn.fr/api/v1/tools/xml-formatter/execute \
-H "Content-Type: application/json" \
-d '{"input":"..."}'
Ievades shēma
| Lauks | Tips | Obligāts | Noklusējums |
|---|---|---|---|
input |
text | ✓ | – |
Endpoint
GET https://cdrn.fr/api/v1/tools- uzskaita visus pieejamos rīkusGET https://cdrn.fr/api/v1/tools/xml-formatter- iegūst šī rīka shēmuPOST https://cdrn.fr/api/v1/tools/xml-formatter/execute- izpilda šo rīku ar JSON payload