Tietoa tästä työkalusta
XML-muotoilu sisentää sisäkkäisiä elementtejä, jotta asiakirjahierarkia tulee näkyviin. Kompakti XML – kaikki yhdellä rivillä – on teknisesti kelvollinen ja hyödyllinen lähetykseen, mutta ihmisille lukukelvoton. Muotoiltu XML lisää rivinvaihtoja elementtien väliin ja sisentää lapsia vanhempiensa sisällä, mikä tekee siitä skannatun, erotettavan ja käsin muokattavan.
Tämä muotoilija jäsentää syötteen DOMParserilla varmistaakseen hyvän muodostuksen ja ohjaa sitten tuloksena olevan DOM:n lähettämään sisennetyn tulosteen. Kommentit, käsittelyohjeet ja CDATA-osat säilyvät. Itsesulkeutuvat tunnisteet (ne, joilla ei ole lapsia) pidetään tiiviinä yhdellä rivillä; lapsia sisältävät tunnisteet on jaettu useille riveille, joissa lapset on sisennetty.
Kahden välilyönnin sisennys on oletusarvo, joka vastaa yleisintä XML-käytäntöä. Muotoilija suhtautuu uudelleen muotoiluun konservatiivisesti: olemassa oleva rakenne säilyy, vain elementtien välissä oleva välilyönti muuttuu. Tiedot kiertävät minkä tahansa XML-jäsentimen läpi samalla tavalla ennen muotoilua ja sen jälkeen.
Miksi muotoilla XML
Kompakti XML on lukukelvoton. SOAP-vastaukset, RSS-syötteet ja monet asetustiedostot saapuvat yksirivisenä XML-muodossa, joka on teknisesti kelvollinen, mutta käytännössä läpinäkymätön. Muotoilu paljastaa asiakirjan rakenteen, antaa sinun paikantaa tiettyjä elementtejä ja tekee versionhallinnan eroista merkityksellisiä.
Muotoilu toimii myös kelpoisuustarkastuksena. Jos XML:n jäsentäminen ei onnistu muotoilun aikana, virhesanoma tunnistaa ongelman – yleensä sulkemattomat tunnisteet, yhteensopimattomat elementin nimet tai virheelliset merkit. XML-virheiden havaitseminen ennen lähettämistä tiukkalle kuluttajalle säästää virheenkorjausaikaa.
Tekniset tiedot
DOMParser tuottaa XML DOM:n. Muotoilija kävelee puun syvyydessä ensin lähettäen avaustunnisteita, sisennettyjä lapsia ja sulkevia tunnisteita. Elementin attribuutit säilyvät avaustunnisteessa; määritteiden järjestys vastaa lähdettä.
Merkittävä välilyönti tekstin solmujen sisällä säilyy — muotoilija ei voi turvallisesti muuttaa sisällön välilyöntiä, koska se voi olla mielekästä (XML-tilan säilytyssäännöt vaihtelevat malleittain). Vain välilyönnit elementtien välillä muuttuvat.
Itsesulkeutuvat elementit (ei lapsia) säteilevät muodossa <tag attr="val"/>. Elementit, joissa on vain tekstisisältöä, lähetetään <tag>tekstina</tag>. Elementit, joissa on lapsia, lähettävät useilla riveillä sisennettyjä lapsia. CDATA-osat, kommentit ja käsittelyohjeet lähettävät alkuperäisten erottimiensa ja sisällön kanssa.
Usein kysytyt kysymykset
- Mitä XML-virheitä tämä havaitsee?
- Työkalu havaitsee sulkemattomat tunnisteet, yhteensopimattomat avaus- ja sulkemistunnisteet, virheelliset merkkiviittaukset, puuttuvat juurielementit, virheelliset attribuutit ja koodausongelmat. Virheilmoitukset sisältävät rivinumeroita, jotka auttavat sinua löytämään ongelmat.
- Muuttaako muotoilu XML-sisältöä?
- Muotoilu säätää vain välilyöntejä ja sisennystä elementtien välillä. Elementin sisältö, attribuutit, CDATA-osat ja käsittelyohjeet säilyvät täsmälleen syötetyllä tavalla.
- Pystyykö se käsittelemään suuria XML-tiedostoja?
- Työkalu käsittelee jopa usean megatavun tiedostoja selaimessa. Jos kyseessä on erittäin suuri XML-dokumentti (50 Mt+), käytä komentorivityökaluja, kuten xmllint, parantaaksesi suorituskykyä.
- Tukeeko se XML-nimiavaruuksia?
- Kyllä. Muotoilija käsittelee oikein nimiavaruusmääritykset (xmlns), etuliiteelementit ja oletusnimitilat. Nimiavaruudet säilyvät muotoillussa tulosteessa.
- Ovatko nimitilat säilyneet?
- Kyllä. xmlns- ja xmlns:prefix-attribuutit säilyvät elementeissä, joissa ne esiintyvät lähteessä.
- Voinko pienentää XML:n yhdelle riville?
- Jotkut XML-muotoilijat tarjoavat pienennyksen. Tämä työkalu keskittyy muotoiluun; minimoitu XML voidaan tuottaa poistamalla välilyönnit elementtien välillä säännöllisellä lausekkeella tai erillisellä työkalulla.
- Onko XML-tiedostoni ladattu palvelimelle?
- Ei. DOMParser toimii selaimessasi; muotoiluohjelma toimii selaimessasi.
- Muuttuuko tekstisolmujen sisällä oleva välilyönti?
- Ei. Tekstisolmun välilyönnit säilyvät, koska XML-tilan säilytyssäännöt vaihtelevat skeeman mukaan. Muotoilija muuttaa vain elementtien välisiä välilyöntejä.