ugrás a tartalomhoz

XML attribútumok

H.Z. v2 · 2012. Már. 8. (Cs), 21.07
Valahol olvastam egyszer egy olyat, hogy egy XML megtervezésekor, előállításakor célszerű elfelejteni azt, hogy a tagekhez attribútumok is tartozhatnak, helyette a "gyerek" elemek
(segítsen má' valaki megmagyarni: child elements - ezt hogy lehet magyarul? :) ) használata a javasolt.

Tehát a
<elem1 attr1="1"><x1>nn</x1><elem1>
helyett
<elem1><attr1>1</attr1><x1>nn</x1></elem1>
használandó.
Ebben mi a jó?
Egyáltalán ez az egész így, ebben a formában igaz? Vagy csak jó szokásomhoz híven félreértettem valamit?
 
1

Bővíthetőség

janoszen · 2012. Már. 8. (Cs), 21.31
Ez így nem egészen helytálló. Próbáld meg való életbeli dolgokhoz leképezni az XML szerkezetet. Ha például egy embert ábrázolunk, csak egy magassága lehet. Ezt két féle képpen tudjuk a felhasználástól függően ábrázolni. Ha ez csak egy mellékes adat, akkor attribútumot csinálunk belőle. Ha egy olyan paraméter, amelyhez hasonlóan több másik, esetleg összetett paraméter van, akkor gyerekelemeket csinálsz belőle. Magyarán szólva a célodnak és a későbbi bővíthetőségnek megfelelően válassz szerkezetet, ne tömd tele tagekkel, ha nem muszáj, mert olvashatatlan lesz.
2

Én is így gondoltam, ahogy

H.Z. v2 · 2012. Már. 8. (Cs), 21.41
Én is így gondoltam, ahogy írod (szerintem ez a logikus), ezért is kérdeztem. Sajnos nem találom, hogy hol olvastam ilyet...
Valamelyik hazai, szám.tech. fórumon láttam egy hozzászólásban.
Eszerint megnyugodhatok, hogy ez így hülyeség, nem mentek ki a divatból az attribútumok sem.
3

Mihez kell az XML?

Karvaly84 · 2012. Már. 9. (P), 01.47
Pl. konfigurációs fájlokhoz tökéletes szerintem.
4

Valójában semmihez. Egy oldal

H.Z. v2 · 2012. Már. 9. (P), 10.24
Valójában semmihez. Egy oldal forrását nézegettem, ami XSLT-vel formázott XML-t adott vissza és volt bennük néhány, első látásra feleslegesnek tűnő attribútum, akkor jutott eszembe az a régen olvasott bejegyzés, miszerint az attribútumokat lehetőleg felejtsük el. Gondoltam, rákérdezek előbb itt, mielőtt hülyeséget terjesztek, utána meg az oldal készítőjénél, hogy miért csinálta úgy, ahogy. :)
5

Egyébként ennek a gyermek

Karvaly84 · 2012. Már. 9. (P), 23.41
Egyébként ennek a gyermek vagy attribútumom kérdésnek nincs helyes válasza szerintem. Pl. sok alkalmazás elindít egy folyamatot, amit egy XML fájl vezérel. Sok esetben az XML-be be importálunk más XML dokumentumokat, és az ezekben lévő tartalmat a hívó dokumentum kontextusában értékeljük ki. Itt jön képbe az attribútumom. Amit felül írhatsz az adott kontextuson belül. És ennek függvényében az elem tartalma már másra vonatkozik de a szerkezete ugyan az. Tehát a céltól függ, hogy melyik a jobb.