Avaleht
uus teema   vasta Tarkvara »  Programmeerimine »  Andke nõu: XMLi hierarhia märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale. Teata moderaatorile
otsing:  
Timukas0
HV kasutaja
Timukas0

liitunud: 20.03.2007




sõnum 01.11.2009 15:15:24 Andke nõu: XMLi hierarhia vasta tsitaadiga

Mõtlesin XML-põhise kalender-märkmik rakenduse teha. Pole varem XMLi kasutanud, äkki keegi soovitab, kuidas XMLi fail välja peaks nägema.
Korraga kuvatakse eelmise kuu viimased päevad, käesoleva kuu kõik päevad ja järgmise kuu esimesed päevad. Seega oleks vaja kõigepealt leida, kas selles vahemikus on mõni kalendrikirje. Kui on, siis vastav päev oleks hüperlink ja sellele peale vajutades kuvaks kõik sündmused antud päeval. Mõistlik oleks XML failis sissekanded kategooriatesse paigutada, et neile kiiresti ligi pääseks, aga ei tea, kuidas tavaks on.
Mulle tundus hea idee:

<aasta2009>
   <kuu0>
      <paev1>
         <sissekanne1 />
         <sissekanne2 />
      </paev1>
      <paev10>
         <sissekanne3 />
      </paev10>
   </kuu0>
   <kuu5>
      <paev15>
         <sissekanne4 />
      </paev15>
   </kuu5>
</aasta2009>

Samas guugeldades sellist varianti silma ei hakanud, äkki on tal mingid vead, mida alguses tähele ei pane. Andke nõu icon_smile.gif
Kommentaarid: 3 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 3
tagasi üles
vaata kasutaja infot saada privaatsõnum
Absona
Lõuapoolik
Lõuapoolik

liitunud: 17.09.2008




sõnum 01.11.2009 15:58:28 vasta tsitaadiga

Mina lahendaks asja niimoodi:

<Kalender>
  <Aasta="2009">
    <Kuu="Jaanuar">
      <Kuupäev="02">
        <Sissekanne="1"></Sissekanne>
        <Sissekanne="2"></Sissekanne>
      </Kuupäev>
      <Kuupäev="03">
        <Sissekanne="1"></Sissekanne>
        <Sissekanne="2"></Sissekanne>
        <Sissekanne="3"></Sissekanne>
      </Kuupäev>
      <Kuupäev="23">
        <Sissekanne="1"></Sissekanne>
        <Sissekanne="2"></Sissekanne>
      </Kuupäev>
    </Kuu>
    <Kuu="Detsember">
      <Kuupäev="24">
        <Sissekanne="1"></Sissekanne>
      </Kuupäev>
      <Kuupäev="26">
        <Sissekanne="1"></Sissekanne>
        <Sissekanne="2"></Sissekanne>
        <Sissekanne="3"></Sissekanne>
      </Kuupäev>
      <Kuupäev="31">
        <Sissekanne="1"></Sissekanne>
        <Sissekanne="2"></Sissekanne>
      </Kuupäev>
    </Kuu>
  </Aasta>
  <Aasta="2010">
    <Kuu="Märts">
      <Kuupäev="17">
        <Sissekanne="1"></Sissekanne>
        <Sissekanne="2"></Sissekanne>
      </Kuupäev>
      <Kuupäev="20">
        <Sissekanne="1"></Sissekanne>
      </Kuupäev>
      <Kuupäev="29">
        <Sissekanne="1"></Sissekanne>
        <Sissekanne="2"></Sissekanne>
      </Kuupäev>
    </Kuu>
    <Kuu="Juuni">
      <Kuupäev="24">
        <Sissekanne="1"></Sissekanne>
      </Kuupäev>
      <Kuupäev="26">
        <Sissekanne="1"></Sissekanne>
        <Sissekanne="2"></Sissekanne>
        <Sissekanne="3"></Sissekanne>
      </Kuupäev>
      <Kuupäev="31">
        <Sissekanne="1"></Sissekanne>
        <Sissekanne="2"></Sissekanne>
      </Kuupäev>
    </Kuu>
  </Aasta>
</Kalender>


Kui andmed on õigesti XML salvestatud, siis ülejäänud (kuvamine) on kõik puhas koodi töö.

_________________
Veebilehed, veebiprogrammeerimine, veebilahendused
Erinevad rakendused ja skriptid.
Kommentaarid: 11 loe/lisa Kasutajad arvavad:  :: 2 :: 0 :: 8
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
andre85
HV vaatleja

liitunud: 10.09.2006




sõnum 01.11.2009 16:40:02 Re: Andke nõu: XMLi hierarhia vasta tsitaadiga

Timukas0 kirjutas:
Mõtlesin XML-põhise kalender-märkmik rakenduse teha. Pole varem XMLi kasutanud, äkki keegi soovitab, kuidas XMLi fail välja peaks nägema.
Korraga kuvatakse eelmise kuu viimased päevad, käesoleva kuu kõik päevad ja järgmise kuu esimesed päevad. Seega oleks vaja kõigepealt leida, kas selles vahemikus on mõni kalendrikirje. Kui on, siis vastav päev oleks hüperlink ja sellele peale vajutades kuvaks kõik sündmused antud päeval. Mõistlik oleks XML failis sissekanded kategooriatesse paigutada, et neile kiiresti ligi pääseks, aga ei tea, kuidas tavaks on.
Mulle tundus hea idee:
...
Samas guugeldades sellist varianti silma ei hakanud, äkki on tal mingid vead, mida alguses tähele ei pane. Andke nõu icon_smile.gif


Õige on nii icon_smile.gif

<aasta aasta="2009">
   <kuu kuu="1">
      <paev paev="1">
         <sissekanne kandenr="1" />
         <sissekanne kandenr="2" />
      </paev>
      <paev paev="10">
         <sissekanne kandenr="3" />
      </paev>
   </kuu>
   <kuu kuu="5">
      <paev paev="15">
         <sissekanne kandenr="4" />
         <sissekanne kandenr="5" />
      </paev>
   </kuu>
</aasta>

_________________
andres
Kommentaarid: 8 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum
Timukas0
HV kasutaja
Timukas0

liitunud: 20.03.2007




sõnum 01.11.2009 17:01:59 vasta tsitaadiga

andre85 lahendus läheb käiku.
Kas täpitähtede kasutamine tag-i nimes mingeid probleeme tekitab (päev vs paev). Pusin Sidebar Gadgeti kallal, seega erineva brauseri probleeme ei tohiks tekkida.
Kommentaarid: 3 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 3
tagasi üles
vaata kasutaja infot saada privaatsõnum
kullar
HV kasutaja
kullar

liitunud: 26.11.2006




sõnum 01.11.2009 19:47:02 vasta tsitaadiga

Korrektsem oleks kasutada inglise keelseid nimesid - tulevikus koodi kirjutamisel kindlasti kasuks, just rahvusvahelised projektid.
_________________
Online Perekonna Eelarve, Keerukamad veebipõhised infosüsteemid jms
Kommentaarid: 26 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 24
tagasi üles
vaata kasutaja infot saada privaatsõnum
troglodyte
Kreisi kasutaja
troglodyte

liitunud: 09.08.2002




sõnum 01.11.2009 20:14:53 vasta tsitaadiga

Lisaks mainiksin, et Absona näites ei olnud tegu XML-ga.
_________________
ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn
Kommentaarid: 33 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 33
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Timukas0
HV kasutaja
Timukas0

liitunud: 20.03.2007




sõnum 01.11.2009 21:24:20 vasta tsitaadiga

Ok, tänud :)
Kommentaarid: 3 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 3
tagasi üles
vaata kasutaja infot saada privaatsõnum
kapa24
HV vaatleja

liitunud: 23.01.2003




sõnum 03.11.2009 12:09:53 vasta tsitaadiga

troglodyte kirjutas:
Lisaks mainiksin, et Absona näites ei olnud tegu XML-ga.


Millega siis? Räägid ehk lähemalt?
tagasi üles
vaata kasutaja infot saada privaatsõnum
mikk36
HV Guru
mikk36

liitunud: 21.02.2004




sõnum 03.11.2009 12:20:12 vasta tsitaadiga

Line File name: Nonexistent
2 Column: 10
Error: Element type "Aasta" must be followed by attribute specifications: ">" or "/>".
Error Position:

<Aasta="2009">
Kommentaarid: 85 loe/lisa Kasutajad arvavad:  :: 0 :: 2 :: 78
tagasi üles
vaata kasutaja infot saada privaatsõnum
troglodyte
Kreisi kasutaja
troglodyte

liitunud: 09.08.2002




sõnum 03.11.2009 12:23:03 vasta tsitaadiga

kapa24 kirjutas:
troglodyte kirjutas:
Lisaks mainiksin, et Absona näites ei olnud tegu XML-ga.


Millega siis? Räägid ehk lähemalt?


Ma ei tea mis formaadiga tegu, sarnaneb pealtnäha XML-ga aga ta ei ole seda. Ükski korralik XML parser seda sööma ei hakka.
Näiteks: <Sissekanne="1"></Sissekanne> ei ole XML konstruktsioon.

_________________
ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn
Kommentaarid: 33 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 33
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Absona
Lõuapoolik
Lõuapoolik

liitunud: 17.09.2008




sõnum 03.11.2009 17:36:07 vasta tsitaadiga

No kuulge, see oli lihtsalt abstraktne näide toodud (ei viitsinud hakata topelt ja pikalt üle kirjutama. Näiteks <year aasta="jaanuar">, jne).
_________________
Veebilehed, veebiprogrammeerimine, veebilahendused
Erinevad rakendused ja skriptid.
Kommentaarid: 11 loe/lisa Kasutajad arvavad:  :: 2 :: 0 :: 8
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Fukiku
Kreisi kasutaja
Fukiku

liitunud: 06.11.2003




sõnum 03.11.2009 23:49:56 vasta tsitaadiga

Absona kirjutas:
No kuulge, see oli lihtsalt abstraktne näide toodud (ei viitsinud hakata topelt ja pikalt üle kirjutama. Näiteks <year aasta="jaanuar">, jne).
Mingit täielikku standardile mittevastavat kelbast (ja täielik jura see XMLi seisukohalt ju hetkel oli) pole mõtet ka näiteks tuua minu arvates. Abiks oleks muidugi ka ehk olnud märge, et see ei ole korrektne XML - tuuni endale sobivaks, aga ka see oleks suhteliselt nõrk lahendus olnud. Inimesed ei ole selgeltnägijad, et nad sinu laiskuse taga suurt valgustatust näevad.
_________________
Foxic is just a simple fox
Enne kui sa küsid oma küsimuse - küsi seda vannipardilt! Rangelt soovitatav enne programmeerimise alafoorumisse uue teema tegemist.
Kommentaarid: 2 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 2
tagasi üles
vaata kasutaja infot saada privaatsõnum
nene
Kreisi kasutaja
nene

liitunud: 20.03.2004




sõnum 04.11.2009 01:53:43 Re: Andke nõu: XMLi hierarhia vasta tsitaadiga

Timukas0 kirjutas:
Mõistlik oleks XML failis sissekanded kategooriatesse paigutada, et neile kiiresti ligi pääseks


XML-i kiiruse suhtes optimeerimine on tavaliselt viga. XML peaks võimalikult hästi esitama andmete struktuuri, mitte kajastama seda loogikat kuidas sa neid andmeid esitada kavatsed. Üldiselt, mida lihtsam on faili struktuur seda parem, sest seda lihtsam saab olla su programm, mis seda struktuuri manipuleerima peab. Näiteks:

<?xml version="1.0"?>
<notes>
  <entry date="2009-01-02">Sissekanne Foo</entry>
  <entry date="2009-01-05">Sissekanne Bar</entry>
  <entry date="2009-02-28">Sissekanne Baz</entry>
  <entry date="2009-10-03">Sissekanne Haz</entry>
</notes>


Rääkides veel kiirusest, siis XML loetakse tavaliselt lihtsalt tervenisti mällu ja siis manipuleeritakse seal. Kui sinu kalender-märkmikul on tarvis aga hakkama saada kümnete tuhandete sissekannetega, siis tasuks tõsistelt kaaluda alternatiive XML-le: lihtsad struktureeritud tekstifailid, andmebaas, jne. Aga neid alternatiive tuleks kaaluda ka vastupidisel juhul.

XML pole mingi imerohi. Kui sul pole konkreetset nägemust sellest, millist võitu XML-i kasutamine sulle annab, siis on parem seda mitte kasutada.

_________________
Mõistus otsas? Pane pinusse...
Kommentaarid: 24 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 23
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Ho Ho
HV Guru
Ho Ho

liitunud: 16.02.2002




sõnum 04.11.2009 14:04:35 vasta tsitaadiga

Aga kuidas oleks, kui näeksid progemisega veidi rohkem vaeva ja kasutaksid üliviletsa XML andmebaasi asemel mõnd korralikku päris baasi, a'la sqlite? Tehniliselt peaks see teostatav olema ning sellega muutuks üsna kindlalt kogu funktsionaalsus kõvasti efektiivsemaks. XML'ist mingi konkreetse jupi otsing on vaevarikas tegevus, lisaks veel nene mainitud probleemid mäluga.
_________________
Teach a man to reason and he'll think for a lifetime
Common sense - so rare that it's a damn superpower
Vaadates paljude inimeste sõnavõtte siin ja mujal jääb üle ainult klassikuid tsiteerida - "I weep for humanity"
Kommentaarid: 106 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 86
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Timukas0
HV kasutaja
Timukas0

liitunud: 20.03.2007




sõnum 04.11.2009 17:27:19 vasta tsitaadiga

Jätan eelpool öeldu meelde, aga kasutan siiski andre85 lahendus. Hetkel pole mõtet asja keerulisemaks ajada (asi personaalseks kasutuseks ja sissekandeid ei ole palju).
Kommentaarid: 3 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 3
tagasi üles
vaata kasutaja infot saada privaatsõnum
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  Programmeerimine »  Andke nõu: XMLi hierarhia
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.