Sziasztok! Segítség kellene van egy sdb.xml file-om (tv csatorna kiosztás) amit az Excelben megfeleltetek több oszlop lesz egyetlen sorral így az adatokat nem tudom rendezni. ha valaki tudna segíteni előre is köszönöm.
Van egy könyv XML-ben, a benne szereplő táblázatok egy részének van egy class attribútuma, mondjuk table class="osztalynev". Azt szeretném, ha egy XSL végigmenne a fájlon, és az összes olyan cellához, ami ilyen táblázatban van, hozzáadná ugyanazt az osztályt. Ötlet?
viszont vannak olyan <item>-ek, ahol nincsenek a fenti content es thumbnail tagek, csak egy <description> tagben CDATA-n belul van a szamomra hasznalhato <img src="......"> tag. itt van tehat az src attributumban az engem erdeklo sztring, viszont a CDATA-n belul nem tudok pharse-olni. Tehat nem tudom az adott (jelen esetben actionscript 3) nyelv altal tamogatottan kinyerni a kep url-jet. Persze string muveletekkel megoldhato a dolog.
Tudna v.ki ennel szakszerubb megoldast a CDATA-n beluli info kinyeresere?
Ha már így felhoztad... az első reagálnék, a másik kettő meg úgyis inkább ki mit választ jellegű dolog.
Szóval: az attribútum namespace-e ugyanaz, mint az elem namespace-e. Ergó egy elem összes attribútuma ugyanabban a namespace-ben van. Ezzel szemben, ha külön elemekbe teszed őket, akkor mindegyikre külön namespace-t használhatsz.
Példa:
- a TULAJ az Országos Lakcímnyilvántartó által létrehozott namespace-ben van.
- a GARÁZS, valami földrajzi helyeket leíró namespace
- a RENDSZAM felépítését a Belügy Minisztérium határozza meg.
"A elemekkel kapcsolatban megadhatsz namespace-t, míg attribútumokra nem."
Hmmm... viszont az attribútumok eleve önálló namespace-ben vannak, azaz pl AUTÓ-elem "név"-attribútuma független a TULAJ-elem "név"-attribútumától...
"Manapság inkább ezt használják formátum leírásra, nem a beépített DTD-t."
Ez is egy jópofa dolog, amiről vitatkoztunk, én a DTD-t erőltettem volna, partnereink az XSD-t... végül megcsináltuk mind a kettőt; igaz hogy az XSD több tulajdonságot rögzít, viszont egy átláthatatlan szófosás a DTD-hez képest (remélem ezzel nem sértettem meg senkit;) a végső ellenőrzést (ideértve a mezők közötti logikai kapcsolatokat is) úgyis programból csináljuk.
"Példának okáért én már találkoztam olyan "megoldással", hogy valaki egy record összes mezőjét egy XML elembe nyomta bele, vesszővel elválasztva (!)."
Én is gondoltam már ilyesmire;) Ugyanis vannak esetek, amikor nem azért használunk XML-t mert megértjük hogy mi az és mire jó, hanem azért, mert "trendy" dolog XML-t használni...
Még két érv, hogy elemekbe tedd az adatot, ne pedig attribútumba:
1./ Attributumban nem használhatsz Processing Instructions-t (Ez a <?xsl parms ?> jellegű micsoda)
2./ A elemekkel kapcsolatban megadhatsz namespace-t, míg attribútumokra nem. (Ez az XML Schema szabványban van nem a Base XML-ben, de nagyon hasznos. Manapság inkább ezt használják formátum leírásra, nem a beépített DTD-t.)
Az attribútum igazából nem adattárolásra lett kitalálva, hanem móddosító, segédinformációt közöl. (pl. readonly)
Persze az egész XML adatmodellezés elég flexibilis téma. Példának okáért én már találkoztam olyan "megoldással", hogy valaki egy record összes mezőjét egy XML elembe nyomta bele, vesszővel elválasztva (!).
elosztott rendszereknél nem igazán egészséges, hogy a kódok __jelentése__ is változik - de sebaj ;)
az eredeti flamewarra reagálva, szerintem majdnem tökmindegy, ha elemiek az adatmezők. Akkor lehet esetleg kérdés a struktúráltság, ha később felmerül, hogy pl. a dátumot év/hó/nap-ra bontod, vagy pedig a kódhoz alkódokat, állapotkódokat (akkoriban szakács volt) stb. akarsz rendelni. Akkor már nem annyira szép az attributumbővítés, mivel az egyértelműen a kódhoz tartozó adat.
A másik, ami az alábontást támogatja, hogy oda CDATA típust is fel tudsz venni.
Nem erre akartam a fő figyelmet fektetni, de sebaj: Elméletileg az ilyesfajta adatcseréknél előre egyeztetett szótárakkal dolgoznak, és szentül megfogadják, hogy tájékoztatják egymást a változásokról. Gyakorlatilag viszont a szótárak nemcsakhogy bővülnek, de még a kódok jelentése is változik (!!!), amiről persze a fogadó fél késve illetve egyáltalán nem értesül...
Aha, hogy elfelejtettem a kontextust... szóval egy ember különféle adatait küldjük, köztük a munkakört is, mégpedig kódoltan és szövegesen is, biztos ami biztos... vagy bővíthetjük a példát:
Nekem az a gondom a másodikkal meg a harmadikkal, hogy nem konzekvensek, tehát vagy az első vagy az utolsó közül kellene választani. Tudjuk hogy a "munkakörkód" és a "munkakörnév" struktúrálatlan (elemi) adat, kötelező, pontosan egyszer fordul elő.
Érv a negyedik megoldás mellett: a réma/téma arány ennél a legkedvezőbb, azaz a 'felesleges' byte-ok száma a legkevesebb, de azért nem ömlesztett adat, tehát pontosan tudjuk hogy miről van szó, ezért szerintem emberi olvasásra ez a legjobb...
Nekem egyértelműen az első tetszik a legjobban, de én nem vagyok nagy XML spiler.
Egyrészt, ezt tudom rendesen elolvasni, másrészt olyan jó adatbázisos, harmadrészt olyan jó fás. (Ez az egyetlen, amit nyitogatni lehet a browserrel. Nem ez az XML-feeling?)
Tehát szövegesen és kóddal is át akarjuk adni azt a tényt, hogy az illető szakácsi munkakört tölt be, amelynek kódja KH123... [persze mondhatom fordítva is, hogy ne sugalljak egy bizonyos megközelítést: az illető a KH123-as kódú munkakört tölti be, vagyis szakács]
hú! nekem mindnél lefagy! olyan szokott lenni, hogy rábökök, lefagy, majd Mozilla indul, újra ugyanarra és akkor jól lejön. Hócipő tele, pedig direkt Mozilla kompatibilis a program (IE alatt 1xűbben is lehetne stringekkel)
If the argument is an empty string ("), the function parses the stylesheet itself.
és tudom, hogy itt fagy le, mert ha ezeket (document hívások) kiveszem, akkor műxik. A szövegeket még lecserélem xsl:variable-ra, de a lookup table-t mivel helyettesítsem? Lehet, hogy js-sel próbálkozom tovább, de úgy rémlik azzal is voltak problémák.
Az a baj, hogy mindenképpen 1 fájlba akarom gyűrni az egészet, hogy ne legyen túl bonyi a júzernek.
és rögtön saját szánalmas problémáimat vázolnám elétek:
Nos, van egy weboldalalam , ahol elvileg minden megy jól mozillával is (főleg a generatorra gondolok), de ha a stíluslapokkal (XSL) formázott oldalakra kattintok, akkor elszáll a Mozilla (IE alatt rendben).
Nagy kaland - mondhatnók - de ha fájlként nyitom meg ugyanazt az XML-t, akkor teljesen jól megy, csak a http-vel nem műxik jól.