XmlFormatter on avoimen lähdekoodin Python luokan, joka tarjoaa muotoilu XML dokumentteja. & Nbsp; Tämä formatter eroaa muista käsittelemällä tyhjämerkit mukaan distnict joukko muotoilusääntöjä (katso jäljempänä) - ajattelu alkuaineen objekteina ja sekoittaa sisältö kirjoitettua tekstiä. Mutta muotoilu keskeytetään elementtejä merkitty säilyttämiseksi. Saatat löytää se kaikkein hyödyllisiä tehtäviä, joihin korjauksia tai esityksiä. Tyypillinen käyttö usein näyttää tältä ::
alkaen xmlformatter tuonti alustusohjelma
formatter = Formatter (luetelmakohta = "4")
tulostaa formatter.format_file ("/ home / pa / doc.xml")
Object Style heijastaa varastoinnin kohteen ominaisuuksia. Siksi kaikkiin ympäröiviin tyhjämerkit poistetaan, sekvenssit tyhjämerkkejä romahti ::
& Nbsp;
& Nbsp;
& Nbsp;
Seuraavassa on esitetty XML alustettu Object Style ::
& Nbsp;
& Nbsp;
Tekstin tyyli heijastaa varastoinnin kirjoitetun tekstin. Teksti odotetaan sisällä sekasisällöstä. Therfore alku- ja tyhjämerkit laitetaan tekstistä solmujen sisäkkäisiä elementtejä ympäröivän tekstin solmuja. Huomautus: Jos tekstiä ei solmu löytyy, xmlformatter lisää tekstiä solmu sisältää yhden välilyönnit pois elementtitasoa. Sekvenssit tyhjämerkit ovat romahtaneet yhteen ::
& Nbsp;
Sisäkkäisiä elementtejä käsitellään kuten kohteen ominaisuuksia, mutta tyhjämerkit yhdistetään tekstiä solmujen sijaan poistetaan :::
& Nbsp;
Molemmat tyylit käytetään yhdessä XML dokumentteja. Muotoilun säännöt ovat:
: Ympäröivä tyhjämerkit poistetaan alkuaineen
B: johtava tyhjämerkit poistetaan alkuaineen
C: perään välilyönnit poistetaan alkuaineen
D: johtava tyhjämerkit sisäkkäin elementit laitetaan edellisen tekstin solmuun (tai asetettu) sisällä sekasisällöstä
E: perään tyhjämerkit sisäkkäin elementit laitetaan seuraavasti solmuja (tai asetettu) sisällä sekasisällöstä
F: sekvenssit tyhjämerkit (n> 0) on korvattu yhdellä tyhjä "" sisällä elementti ja sekasisällöstä
G: rivinvaihto ja välilyönnillä luetelmakohta elementtien osia sisältöä
Seuraava esimerkki merkitsee kuvattu tyhjämerkit niiden etiketit sisällä XML ::
AAAA
AAAABBBB4.4E + 12CCC AAAA
AAAA
FFFFein riesengro & szlig; er DDDDTeddyb & auml; r , F
der & szlig; FFFFdie MilchEEEE und Trank das BrotFFFF
und als er starb da sota erEEEE tot .CCCC
Seuraavassa on esitetty alustettu XML: Kaikki välilyönnit korvataan yhdellä tyhjä .:
& Nbsp;
& Nbsp;
Asetukset
Muotoilu voidaan vaikuttaa paljon muuttujia, kun taas rakentamisen XmlFormatter esine. Elementtejä, jotka luoda tiedostojärjestelmää annetaan luettelo elementin nimiä, nimeltään säilyttää.
& Nbsp; Kaikki jälkeläiset säilynyt elementtejä luoda tiedostojärjestelmää myös .:
& Nbsp; xmlformatter tuonti alustusohjelma
& Nbsp; formatter = xmlformatter.Formatter (säilyttäen = ["säilyttää"])
& Nbsp; tulostaa format.format_file ("/ home / pa / doc.xml")
Sisennys voidaan nostaa luetelmakohta (oletus 2). Sisennys luonne voidaan asettaa indentChar.
alkaen xmlformatter tuonti alustusohjelma
formatter = Formatter (luetelmakohta = "1", indentChar = " t")
tulostaa formatter.format_file ("/ home / pa / doc.xml")
Sisennys voidaan vaimentaa asettamalla puristetaan totta tai valitsemalla luetelmakohdan = 0 .:
alkaen xmlformatter tuonti alustusohjelma
formatter = Formatter (pakkaa = True)
tulostaa formatter.format_file ("/ home / pa / doc.xml")
Koodaus muotoiltu asiakirja voidaan asettaa encoding_input. Oletuksena koodaus on UTF-8 tai lukea xml-ilmoituksen. Koodaus lähtö voidaan asettaa encoding_output. ovat:
alkaen xmlformatter tuonti alustusohjelma
formatter = Formatter (encoding_input = "ISO-8859-1", encoding_output = "ISO-8859-1")
tulostaa formatter.format_file ("/ home / pa / doc.xml")
Menetelmät
Xmlformatter voi jäsentää XML asiakirjojen antama polku tai merkkijono .:
alkaen xmlformatter tuonti alustusohjelma
formatter = Formatter ()
# Tiedosto
tulostaa formatter.format_file ("/ home / pa / doc.xml")
# String
alustettu = formatter.format_string ("
xmlformat.py
XmlFormatter sisältää komentorivin työkalun xmlformat.py käärimiseen XmlFormatter luokassa. Parametrit ovat nimeltään kuin vaihtoehdot ::
xmlformat [--preserve "pre, kirjaimellinen"] [--compress] [--indent num] [--outfile file] [--encoding ENC] [--outencoding ENC] [help] <--infile tiedosto | tiedosto>
xmlformat.py voi lukea STDIN, kuten ::
& Nbsp; cat /home/pa/doc.xml | python xmlformat.py
Huomaa
XmlFormatter on rakentaa päälle expat parseri, ja siksi rajoittaa expat. XmlFormatter on julkaistu MIT lisenssin.
Vaatimukset :
- Python
Kommentteja ei löytynyt