Gå til innhold

Arkeologisk XSLT : Frem fra glemselen (del 1)


Anbefalte innlegg

Videoannonse
Annonse

Forklar meg hvorfor ikke navnet og kan være en attributt?

Det kan være flere navn, ja, men bare ett pr topic.. eller vent litt

<topic id="0001">
  <name>whatevah</name>
  <name>huh?twonames</name>
  <content>blablablah.....</content>
</topic>

Går jo det.. men man skulle jo tro de fleste kun ville ha et navn pr topic eller..?

Hvis ikke bør jo name-tagene ha egne id-attributter (<name id="0001">) ..ellers kan de ikke skilles med annet enn plasseringen i lista ..no good (..som Depeche Mode sa :w00t: )

 

Samme med <content> forresten.. flere content-tager blir litt dumt. Det blir og litt dumt å legge content som attributt eller?

Til syvende og sist blir det vel ofte den løsninga som gir enklest programmering for han som lager programmet som skal lese fila...

 

Mange ganger kan det være greit å drite i attributter og få ei cleanere fil.. alle tag'er brukes jo som oftest bare en gang pr topic uansett.

<topic>
  <id>0001</id>
  <name>whatevah</name>
  <content>blablablah.....</content>
</topic>

Funker den.. men er det mye innhold og ellers kort beskrivelse, navn etc. kan dette gå

<topic id="0001" name="whatevah">
  blablablah.....
</topic>

Oversiktlig og man slipper masse uoversiktlige tags.. må dog innrømme at det fort kan ende slik:

<topic id="0001" name="whatevah">
  blablablah.....
  <uventet>tag med masse dritt man ikke forventet</uventet>
</topic>

Nå er content plutselig plassert litt kinkig.. trenger plutselig annen programmering for å hentes frem..

Ergo.. kanskje ikke så dumt med content i en tag om man ikke er sikker på strukturen på forhånd. Da kan man og like greit ha navn i tag.. og id.. eller begge som attributter?

 

Huff jeg er litt trett.. rota meg inn i noe her :!:

 

øh.. vel?

Lenke til kommentar
immo: Forklar meg hvorfor ikke navnet og kan være en attributt?

 

Nja, det er ikke snakk om at det ikke kan være attributt, men at det ikke bør være det. Grunnen er enkel (og du børstet over svaret selv) ;

 

Navn er ikke unikt. Jeg heter Alexander men kalles ofte for Alex :

 

<topic id="0001">
 <name>Alexander</name>
 <name>Alex</name>
</topic>

 

For å gi dette en bedre identifikasjon bruker vi ofte indikatorer for dette. I emnekartverdenen kalles disse for 'scope' :

 

<topic id="0001">
 <name>Alexander</name>
 <name scope="kallenavn">Alex</name>
</topic>

 

Her bygger vi ut skjemaet med ett enkelt attributt for indikator uten å måtte skrive om flyttelass med eksisterende XML kode.

 

Visse ting er unike, slikt som identifikatorer, og bør holdes på attributtnivå, mens det meste annet bør holdes på elementnivå. Dette for å unngå omskriving av kode og for å bedre gjenbruk. Gjenbruk er gull. :)

 

 

Alex

Lenke til kommentar
Codename_Paragon : Det kunne derfor være interessant med litt belysning av fordelene av å velge et såpass tungt verktøysett som XML og XSLT.

 

Har du XML bør du se på XSLT. Har du ASCII / tekst bør du kanskje se på andre ting. Men hvis du virkelig vil jobbe med dataene dine bør du kanskje vurdere å konvertere de til XML, og dernest se på XSLT (eller andre XML baserte teknologier), spesielt med tanke på gjenbruk og kryss-plattform utvikling.

 

 

Alex

Lenke til kommentar
Visse ting er unike, slikt som identifikatorer, og bør holdes på attributtnivå, mens det meste annet bør holdes på elementnivå. Dette for å unngå omskriving av kode og for å bedre gjenbruk. Gjenbruk er gull. smile2.gif

 

 

Alex

OK.. get it.. sånn passe :)

Men man KUNNE jo også hatt name som attributt.. dukker det opp et nickname er det jo bare å klaske inn som attrib det og.. nick="Alex". Nix omkoding :)

Ikke at jeg tror jeg hadde gjort det.. men det er en annen sak ;)

..ser du da kanskje også noen ulemper med å legge ID som element - <ID>0001</ID>?

 

Vet ikke hvcrfor jeg funderer på det engang.. ikke mye bruk av xml her i gården, men liker å vite alt og hvorfor hvorfor hvorfor. Liker enkel kode og gode effektive linjer med et snev av struktur :)

 

Brukt xml litegrann i et par prosjekt..

Endret av immo
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...