Portál AbcLinuxu, 12. května 2025 07:35
<micuda> <barva>bila</barva> <prumer>40</prumer> </micuda>vs.
<micuda barva="bila" prumer="40" />Nebo je nejake pravidlo/doporuceni, kdy je vhodnejsi pouzit atribut="neco" a kdy je vhodnejsi to rozepsat jako v prvni variante. Dekuji! Tomas
<report destination="jdbc/blabla"> <description>dljdlksjfl dlksjf ldsjflsjkflsj</description> <sql><![CDATA[ SELECT * FROM blabla; ]]</sql> </report>Kdybych chtel popisek prepsat jako atribut, tak by to jiste slo, ale dane xml by bylo dost neprehledne. Pokud bych chtel sql prepsat jako atribut, tak bych se mohl dostat do problemu, protoze v danem sql by se mohla objevit specialni znamenka, ktera by mi v atributu "neprosla". Kdybych chtel destination prepsat do elementu, tak by to jiste slo, ale bylo by to zbytecne ukecane, protoze to vzdy bude kratky a jasny text bez dalsiho rozsirovani. Druhy pohled na vec muze byt fakt, ze dane xml se bude rozsirovat:
<osoba jmeno="Ales" typ="programator" />Tento zapis by byl jiste validni, problem ale muze nastat ve chvili, kdy bych chtel dany typ dale rozsirit. Napriklad rict, ze se jedna o programatora pro javu, C# ci C++. Pote by tento navrh byl spatny, protoze typ by mel byt elementem, ktery bude obsahovat dalsi vlastnosti.
Jenom poznámka - pokud to bude rovnou atribut, tak pak nemůžeme přidávat jeho další vlastnosti (rozuměj - ne tak elegantně, IMHO):
<micuda> <barva>bila</barva> <prumer jednotky="mm">40</prumer> </micuda>vs.
<micuda barva="bila" prumer="40" prumer-jednotky="mm"/>
A ještě něco: pokud očekáváme, že bude hodnota z nějaké nevelké množiny (třeba máme jenom bílé, modré a žluté míče), tak bude asi lepší atribut, protože ten můžeme otestovat vůči schematu (myslím, že data vně nelze).
Otazkou je, jestli ma schema smysl. Co jsem zatim videl, tak schema objemem prevysovalo samotna data v XML.A ještě něco: pokud očekáváme, že bude hodnota z nějaké nevelké množiny (třeba máme jenom bílé, modré a žluté míče), tak bude asi lepší atribut, protože ten můžeme otestovat vůči schematu (myslím, že data vně nelze).
Jak kdy, ale dá se vůči němu krásně validovat.Ja to nepopiram. Pouze jsem konstatoval skutecnost, ze schema muze byt prehnane velke. Muj dojem je takovy, ze schema se zrovna moc nepovedlo. A i kdyz mam XML moc rad resp. nepouzivam nic jineho, tak validaci asi budu (pozn. jiz resim) (vzdy) resit primo v aplikaci.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.