XML ei ole luettavaa

Yleisesti uskotaan että HTML/XML:llää voi lukea ja muokata tekstinä. Tämä väite perustu kerettiläisten pikku vompattien mielenvikaisuuteen:

1. Etsi viisi virhettä XML:stä
2. Kumpaa on helpompi lukea?
3. Kumpi koodaus tapa helpompi muistaa

SANKARIT.XML


Jorma/etunimi>
Pulkkinen


Markku
Uusipaavalniemi



SANKARIT.TXT
Pulkkinen, Jorma
Uusipaavalniemi, Markku

Tekstitiedoston lukemiseen tarvittaisiin malli, vaikka seuraavanlainen:
sukunimi$, etunimi$
8875
Äänestä

Muut lukivat myös

Vastaukset 8

Vanhimmat

Vastaukset:

1. Etsi viisi virhettä XML:stä

- Iso alkukirjain: ""
- Harakannokka puuttuu: "/etunimi>"
- Väärä sulkutagi: ""
- Väärin suljettu: ""
- Väärä sulkutagi: ""

2. Kumpaa on helpompi lukea?

SANKARIT.TXT

3. Kumpi koodaus tapa helpompi muistaa

SANKARIT.TXT


Mutta, käytännössähän:

- TXT tiedostossa ei selviä sitä, että kysymys on julkkiksista
- TXT tiedostossa ei selviä käytettyä koodausta (utf-8, iso-8859-1, jne)
- TXT tiedostoon ei lisätä helposti uusia elementtejä ilman ohjelman muutosta
- TXT tiedostoa ei muuteta helposti HTML muotoon (vrt. XSLT)

Henkilökohtaisesti olen sitä mieltä, että useimmissa ohjelmissa pitäisi olla ominaisuus tiedon viemiseen ja tuomiseen käyttäen XML:ää. Esim. Excel 2003:n XML formaatti oli terve tullut lisä.

Äänestä

Eihän tuossa ole nopeasti katsottuna kuin yksi rivi oikein:

Pulkkinen

Ja doctype puuttuu.


XML:n ei kuulu olla luettavaa. Sitä ei ole tarkoitettu (ihmisen) luettavaksi. XML on kehitetty kuvailemaan sisältöä applikaatio(i)lle, mikä luo sisällöstä halutunlaisen tietokokonaisuuden (dokumentin esim.). HTML-sivun, tai vaikka RTF-dokumentin. Tai taitto-ohjelmaan valmiin sisällön (ilman manuaalista käsinladontaa). Applikaatio voi lukea XML-dokumentin ja siirtää strukturoidun tiedon vaikka tietokantaan. XML-merkkauksella voidaan ohjelmallisesti hakea vaikka dokumentin kaikki sukunimet, riippumatta siitä missä kohtaa se tiedostossa esiintyy. XML-tiedostossa myös määritellään tekstin merkistökoodaus, mikä yleensä puuttuu tavallisesta flat-filestä. Niin ei tietysti tarvitse olla, mutta usein on.

Äänestä

On xml paremmin luettavaa kuin normaalit tietokannat, joista ei ilman lukuohjelmaa saa mitään tolkkua.

Tuossa ylempänä jo joitakin xml:n etuja tuli. Loistavaa siinä on mielestäni juuri se, että kentän nimet seuraavat mukana. Näin on mahdollista xml-tiedostoon lisätä omia kenttiä ilman että ne häiritsevät muita xml-tiedostoa käyttäviä ohjelmia. Muut vain jättävät ne kentät huomiotta.

Xml:ssä myös sisäkkäisiä kenttiä voi olla ainakin käytännössä rajattomasti. Esim. jos tuohon esimerkkiisi haluaa lisätä lasten nimet, niin xml:ssä se onnistuu helposti ja selkeästi, mutta tekstitiedostossa tulee heti ongelmia. Ja kun ne kentät on xml:ään lisätty, niin aikaisemmat tiedoston käsittelyohjelmat jotka eivät niitä kenttiä tunnista, vain jättävät ne käsittelemättä. Eli yhteensopivuus toimii jollain tasolla myös taaksepäin.

Kun tein finvoice-verkkolaskutoiminnon laskutusohjelmaan (finvoice on xml:ää), niin siinä oli kyllä räpeltämistä ja kenttien nimissä tuli kirjoitusvirheitä, mutta xml on kyllä mielestäni ehdottomasti paras muoto välittää tietoa eri sovellusten välillä. Sen (finvoicen) ohjelmointi oli kyllä varsin tarkkaa hommaa ja siihen menikin pari viikkoa melkein yötäpäivää.

Äänestä
  • "Xml:ssä myös sisäkkäisiä kenttiä voi olla ainakin käytännössä rajattomasti. Esim. jos tuohon esimerkkiisi haluaa lisätä lasten nimet, niin xml:ssä se onnistuu helposti ja selkeästi, mutta tekstitiedostossa tulee heti ongelmia."

    Onko muka selkeää "rakentaa" lasten nimet henkilön sisälle? Lapsi ei ole henkilön sisällä (paitsi ennen syntymää tietenkin). Monta kertaa lapsikin on julkkis. Relaatiohan on tähän oikea tapa.

    Miksi yleensä tiedostomuodon pitää olla rakenteellinen. Voihan relaatioilla muodostaa rakenteita, jos haluaa. (esim. OWL:ssä on kasataan ontologiaa, mutta ei siihen käytetä sisäkkäisiä kenttiä.)

    Äänestä

  • Kalevi kirjoitti:

    "Xml:ssä myös sisäkkäisiä kenttiä voi olla ainakin käytännössä rajattomasti. Esim. jos tuohon esimerkkiisi haluaa lisätä lasten nimet, niin xml:ssä se onnistuu helposti ja selkeästi, mutta tekstitiedostossa tulee heti ongelmia."

    Onko muka selkeää "rakentaa" lasten nimet henkilön sisälle? Lapsi ei ole henkilön sisällä (paitsi ennen syntymää tietenkin). Monta kertaa lapsikin on julkkis. Relaatiohan on tähän oikea tapa.

    Miksi yleensä tiedostomuodon pitää olla rakenteellinen. Voihan relaatioilla muodostaa rakenteita, jos haluaa. (esim. OWL:ssä on kasataan ontologiaa, mutta ei siihen käytetä sisäkkäisiä kenttiä.)

    Miksi sisäkkäiset kentät?

    (tarkoitin rakenteella puurakennetta)

    Äänestä

  • Kalevi kirjoitti:

    Miksi sisäkkäiset kentät?

    (tarkoitin rakenteella puurakennetta)

    XML ei ole tietokanta vaan tiedon tallennusmuoto, jossa yhdessä tiedostossa esitetään kaikki tiedot. Ohjelmat lukevat siitä tiedot ja käsittelevät haluamallaan tavalla.

    XML:ssähän sisäkkäiset kentät ovat tavallaan relaatioita.

    Tietokannassa pitää myös ensin miettiä mitä kannattaa käsitellä relaatioina. Onko järkevää esimerkiksi laittaa lapset relaatioihin. Jos on molemmat vanhemmat erikseen, niin silloin se voisi olla tarkoituksenmukaista, riippuen toki siitä missä yhteydessä lapsia käsitellään. Mutta jos kyse on vain lisätiedoista, esimerkiksi yrityksen työntekijärekisteristä, jolloin lapset ovat vähän käytettäviä lisätietoja, niin ei niitä kannata laittaa (relaatiolla) omaan tauluun. Samoin kuin henkilön kielitaito. Joissain tilanteissa sitä varten kannattaa tehdä oma taulu (relaatiotietokantaan).

    Finvoice-verkkolaskussa on laskun tiedot ja kaikki rivitiedot sisäkkäin. XML on paras tapa välittää tiedot, sillä tietojen luku voi olla mikä tahansa (esim. relaatiotietokanta). Jos tiedot välitettäisiin jossain tietokantamuodossa, niin se rajoittaisi tietojen luvun vain ko. tietokantamuotoa osaaviin ohjelmiin.

    Äänestä

  • xxxxx kirjoitti:

    XML ei ole tietokanta vaan tiedon tallennusmuoto, jossa yhdessä tiedostossa esitetään kaikki tiedot. Ohjelmat lukevat siitä tiedot ja käsittelevät haluamallaan tavalla.

    XML:ssähän sisäkkäiset kentät ovat tavallaan relaatioita.

    Tietokannassa pitää myös ensin miettiä mitä kannattaa käsitellä relaatioina. Onko järkevää esimerkiksi laittaa lapset relaatioihin. Jos on molemmat vanhemmat erikseen, niin silloin se voisi olla tarkoituksenmukaista, riippuen toki siitä missä yhteydessä lapsia käsitellään. Mutta jos kyse on vain lisätiedoista, esimerkiksi yrityksen työntekijärekisteristä, jolloin lapset ovat vähän käytettäviä lisätietoja, niin ei niitä kannata laittaa (relaatiolla) omaan tauluun. Samoin kuin henkilön kielitaito. Joissain tilanteissa sitä varten kannattaa tehdä oma taulu (relaatiotietokantaan).

    Finvoice-verkkolaskussa on laskun tiedot ja kaikki rivitiedot sisäkkäin. XML on paras tapa välittää tiedot, sillä tietojen luku voi olla mikä tahansa (esim. relaatiotietokanta). Jos tiedot välitettäisiin jossain tietokantamuodossa, niin se rajoittaisi tietojen luvun vain ko. tietokantamuotoa osaaviin ohjelmiin.

    "XML ei ole tietokanta vaan tiedon tallennusmuoto, jossa yhdessä tiedostossa esitetään kaikki tiedot. Ohjelmat lukevat siitä tiedot ja käsittelevät haluamallaan tavalla."

    Joo. Mielestäni XML:ssä on samoja ominaisuuksia kuin luonnollisessa kielessä (ihmisten puhumassa). Tietokanta taas yrittää mallintaa todellisuutta sanoisinko kaavamaisemmin. Näin XML sopii kielenä (XM-Language) hyvin viestintään, kuten RSS. En tiedä tarvitaanko esimerkiksi sinun Finvoice-verkkolaskussa XML:n "kielellisiä" ominaisuuksia, mutta XML on luultavasti aika ihmisläheinen tallennusmuoto.

    Ideani olikin se, että eikö kielen ulkoasu voisi olla paremmin hahmoteltavaa. Esimerkiksi ohjelmointikielen syntaksi on yksinkertaisempaa.

    Äänestä

  • Kalevi kirjoitti:

    "XML ei ole tietokanta vaan tiedon tallennusmuoto, jossa yhdessä tiedostossa esitetään kaikki tiedot. Ohjelmat lukevat siitä tiedot ja käsittelevät haluamallaan tavalla."

    Joo. Mielestäni XML:ssä on samoja ominaisuuksia kuin luonnollisessa kielessä (ihmisten puhumassa). Tietokanta taas yrittää mallintaa todellisuutta sanoisinko kaavamaisemmin. Näin XML sopii kielenä (XM-Language) hyvin viestintään, kuten RSS. En tiedä tarvitaanko esimerkiksi sinun Finvoice-verkkolaskussa XML:n "kielellisiä" ominaisuuksia, mutta XML on luultavasti aika ihmisläheinen tallennusmuoto.

    Ideani olikin se, että eikö kielen ulkoasu voisi olla paremmin hahmoteltavaa. Esimerkiksi ohjelmointikielen syntaksi on yksinkertaisempaa.

    "Ideani olikin se, että eikö kielen ulkoasu voisi olla paremmin hahmoteltavaa. Esimerkiksi ohjelmointikielen syntaksi on yksinkertaisempaa."

    Ilmeisesti ei voi olla. Tosin alkuunpääsy oli xml:ssä on hankalaa ja vaatii syvällistä paneutumista (kun siinä on vielä SOAP-osoitemääritys ja ties mitä vaihtoehtoja).

    Todennäköisesti xml on mietitty tarkasti niin, että sitä voi käyttää minkä tahansa tiedon tallentamiseen. Kun ohjelmat (esim. Word, Excel) tallentavat tiedot xml-muodossa niin niihin ei voi piilottaa ylimääräistä, joten ainakin teorissa tiedostoa lukeva ohjelmoija ymmärtää mitä mikäkin tieto tarkoittaa ja voi tehdä siihen lisäksi oman käsittelyn. Tiedoston luku sellaisenaan ei sen määrityksen laajuudesta johtuen ilmeisesti voi tehdä yksinkertaisemmin. Todella hienoa siitä tulee vasta sitten kun kaikkiin uusiin ohjelmiin tulee mahdollisuus lukea ja kirjoittaa xml-muotoista tietoa. Ja että kenttien nimiksi määriteltäisiin standardinimet. Esim. jos yritys käyttää laskutusohjelmaa ja kaikki asiakas, lasku ym. tiedot tallentuvat xml-tiedostoon ja mikä tahansa muu laskutusohjelma lukisi automaattisesti kentät oikein, niin se lisää avoimuutta ja ohjelmien yhdistelyä. Esim. jos jossain asiakasrekisteriohjelmassa ei ole tarrojen tulostusta, niin kun asiakastiedot saadaan tallennettua xml:ssä, niin joku toinen ohjelma sitten lukee ja tulostaa asiakastarrat. Nythän monet ohjelmat lukevat yleisiä tietokantamuotoja, mutta xml:n jälkeen idea on että kenttien nimet ovat kaikilla samat, jolloin yksi porras ohjelmien yhteensopivuudessa on saavutettu.

    Eli xml on laaja siksi, että kaikki (ohjelmoijat ja ohjelmat) ottaisivat sen käyttöön. Loppukäyttäjän ei tarvitse katsoa tiedoston sisältöä vaan lukea se haluamallaan ohjelmalla haluamaansa muotoon.

    Äänestä

Kommentoi aloitusta


Kalevi kirjoitti:

Yleisesti uskotaan että HTML/XML:llää voi lukea ja muokata tekstinä. Tämä väite perustu kerettiläisten pikku vompattien mielenvikaisuuteen:

1. Etsi viisi virhettä XML:stä
2. Kumpaa on helpompi lukea?
3. Kumpi koodaus tapa helpompi muistaa

SANKARIT.XML


Jorma/etunimi>
Pulkkinen


Markku
Uusipaavalniemi



SANKARIT.TXT
Pulkkinen, Jorma
Uusipaavalniemi, Markku

Tekstitiedoston lukemiseen tarvittaisiin malli, vaikka seuraavanlainen:
sukunimi$, etunimi$

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu