Avatar billede javanewbie Nybegynder
02. juli 2003 - 11:00 Der er 6 kommentarer og
3 løsninger

Forskellige formater.

Jeg sidder lige og kigger et XML-dokument igennem, som jeg ikke selv er ophavsmand til. Er der nogen der kan give mig en god forklaring på hvorfor man skal præsentere data på den ene eller den anden måde i XML:

<data>pullimut</data>
<data vaerdi="pullimut"/>

Jeg kan sagtens se ideen, hvis der er flere attributter på data, men hvis der - som her - kun er vaerdi som den eneste, og heller ikke kan forekomme mere end den ene, er der så nogen grund til at bruge det nederste format? Vil det så ikke være mere logisk med <data>pullimut</data> ?
Avatar billede atoft Nybegynder
02. juli 2003 - 11:14 #1
Personligt synes jeg ikke

<data>pullimut</data>

er særlig "smart". Problemet opstår når du ønsker at udvide din struktur til f.eks

<data>
    pullimut
    <nyverdi>asdf</nyverdi>
</data>

så kan det godt blive lidt rodet når man beder om data.text, da ny værdi vil komme med.

Derimod kan

<data vaerdi="pullimut"/>

nem udvides til

<data vaerdi="pullimut">
    <nyverdi>asdf</nyverdi>
</data>

Uden det vil give dig problemer.
Avatar billede janegil Nybegynder
02. juli 2003 - 11:18 #2
Tommelfingerregelen er vel at det du forventer at skal bli direkte synlig for den menneskelige brukeren, skal være tekstnoder, mens det som er ment for maskinen, settes i attributter.

Så fx META-elementet er tomt i HTML, informasjonen er ment for maskinen, og er skjult for brukeren.

Og href er et attributt, fordi selve URL'en er skjult i ei lenke, det er bare den beskrivende teksten som vises for brukeren.

Og dog: selve URL'en blir synlig hvis du holder musa over lenka. Så det er ingen krystallklare regler her, en viss tradisjon, kombinert med smak og behag.

Hvis du forventer at "pullimut" skal være synlig i en skjermrepresentasjon av dokumentet, så velger du nok <data>pullimut</data>, ellers velger du attributt.
Avatar billede javanewbie Nybegynder
02. juli 2003 - 11:23 #3
janegil >> Både og... Nu er XML jo data-orienteret, og ikke præsentations-orienteret, så derfor tror jeg ikke jeg vil tage den del med i mine betragtninger. Et XML-dokument kan jo også være en udveksling af data mellem to systemer, hvor der i princippet ikke er noget som helst der skal præsenteres for en bruger.
Avatar billede Slettet bruger
02. juli 2003 - 11:26 #4
Min filosofi er også den, at "maskindata" (såsom "ID", "type" etc.) lægger jeg i attributter, hvorimod selve dataene lægges i elementer.

Dog vil der altid være dokumenttyper, hvor man kan gøre begge dele ud fra samme betragtning.

Der er også lige et par grundregler:
- Attributter kan ikke indeholde en CDATASection
- Attributter kan ikke indeholde elementer

/CS
Avatar billede javanewbie Nybegynder
02. juli 2003 - 11:29 #5
Jeg forhøjer lige point lidt... Greystate, smid lige et svar.
Avatar billede Slettet bruger
02. juli 2003 - 11:33 #6
<?xml version="1.0" encoding="iso-8859-1"?>
<entry>
  <answer type="point-sucker">
      <msg>Nå ja- hvis du synes :)</msg>
  </answer>
  <signature id="greystate" xml:space="preserve">
/CS
</signature>
</entry>
Avatar billede janegil Nybegynder
02. juli 2003 - 11:40 #7
Hensikten med XML er nok at det skal være et format som både mennesker og maskiner kan forstå.
1) Rå XML er ment å være mye lettere å lese enn rå 'binære' filer.
2) Det er gode verktøy for å konvertere XML til 'synlige' formater som XHTML.

men jo, det er lett nok å hente attributt-data ut til tekstnoder med XSLT. Dog, hvis man bruker CSS-styling for å få lesbar XML, så bør alt det som skal bli synlig komme fra tekstnoder. Se fx http://heima.olivant.fo/~styrheim/xml/sql/pecking-order.xml
Avatar billede janegil Nybegynder
02. juli 2003 - 11:58 #8
atoft >>

<data>
    pullimut
    <nyverdi>asdf</nyverdi>
</data>

har tekst- og elementnoder ved siden av hverandre. Det gjør dokumentet vanskeligere å bearbeide programmeringsmessig, om om jeg minnes rett, blir praksisen svartelistet i retningslinjer for offentlig dansk XML: http://www.oio.dk/XML/CookBooks

Dog kan denslags være OK i den mere ustrukturerte enden av XML-spekteret, som XHTML. Selv om XHTML har arvet noen dårlige designvalg fra HTML.
Avatar billede atoft Nybegynder
02. juli 2003 - 12:22 #9
janegil >> ??

Det er jo netop det jeg mener og skriver :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester