k-märkt

Mer om semantik på dagensskiva.com

Postat: 2005-01-19 kl. 18.32

För två månader sedan skrev jag om semantik i html-koden för nästa version av dagensskiva.com.

Jag var ute efter att skapa en Document Type Declaration för kultursidor på nätet. Typ. Jag fick genast mothugg från Staffan och Claes bland kommentarerna.

Välformulerade kommentarer som jag funderade fram och tillbaka kring och sen aldrig svarade om. (Förlåt.) Staffan skrev:

Jag tror att du borde kolla på XML Namespaces för utökning. RSS och andra mer modulariserade XML-format använder det friskt. Kolla exempelvis på din egen RSS-feed:

/.../

Om du vill göra en dagensskiva.com-semantik (DSCML? CultureML?) kan du göra den som en DTD (eller kanske hellre med XML Schema, Relax NG eller vad de coola kidsen använder för att definera XML-vokabulärer nuförtiden), med definitioner för 'artist', 'song', 'instrument' osv., och sen använda den ungefär såhär:

/.../

En lösning är att du inte presenterar dina DSCML-element ända ut till browsern, utan låter de genomgå en XSL-transformation som gör om '<dsc:artist>Björk</dsc:artist>' till <span class="artist">Björk</span>. Då tappar du visserligen lite av den semantiska informationen, men du kan å andra sidan låta läsare/robotar veta var det ursprungliga dokumentet finns, genom en <link rel="alternate">-tagg i <head>.

Spontant kändes det tråkigt att göra ett xml-schema. (Relax NG har jag aldrig ens hört talas om. Jag är inte en av de coola kidsen, bara en humanist som gillar webben.) Jag kan liksom inte argumentera för för och nackdelar alls. Men jag litar väl på er ändå. Även om det kändes som ett bra exempel på när XHTML DTD:n borde utökas.

Att inte använda elementen ända ut till webbläsaren verkar också tråkigt. Det är en sak att cms:et omvandlar något till något annat, men varför ska man skriva kod som inte betyder något för systemet för att servern sedan ska omvandla det? Jag har sett liknande lösningar förut och aldrig förstått vinsten med det. (Förutom att det är modernt och fränt med XML + XSL.)

I sammanhanget lägger jag dessutom till en e-postkonversation med Roger Johansson:

Även om du skapar egna element som i sig är semantiska kommer dom ju inte att betyda något hos någon annan, och utan CSS finns ingen "default styling" att falla tillbaka på. Nu spelar det förmodligen ingen större roll. Fast egentligen skulle man lika gärna kunna använda ett befintligt XHTML-element (cite borde passa för vissa grejer, och finns inget som passar finns ju alltid span) med ett class-attribut på. Då skulle kopplingen vara mellan databasfält och attribut i stället för element. Samma resultat, men utan att behöva blanda in en egen DTD. Eller missar jag något?

E-post från Roger Johansson Re: Standarder (2004-11-17)

Nu i dagarna refererade Roger Johansson en artikel om span-taggen och semantik.

Basically, span (like div) is a structural element intended for applying author-defined semantics where there is no other suitable semantic element available or as a generic container for semantics expressed through semantic attributes, such as an alternate language; though the element is often used for presentational purposes with little regard for either structure or semantics.

Lachy's Log Semantics of <span> (2005-01-16)

Han menar att så länge man inte använder span som ersättning för element som har semantisk mening så ger det istället mer semantik om man använder span med ett bra class-namn, än om man inte gör det.

Vilket tar oss tillbaka till dit vi började. Vad vore då vettig semantik för det jag vill åstadkomma? Allra helst vill jag dessutom använda samma notation för dagensbok.com som dagensskiva.com. Det här handlar alltså bara om vad som syns i webbläsaren, inte hur man använder det i cms:et.

Jag vill skilja på artister, (grupper?), låtar, skivor, (instrument?), (genrer?). En Simplequiz helt enkelt.

Permalänk

Kategori: Musik, XHTML

Bakåtspårning (Trackback)

Bakåtspårnings-URL för det här inlägget:
http://k.digitalfarmers.com/mt/mt-tb.cgi/534

Kommentarer

Jag besvarade nog din fråga utifrån en tanke om vad som skulle finnas i CMS:et. Som Roger skriver ger det inte så mycket att utöka XHTML med nya taggar, eftersom XHTML-läsare inte kommer att förstå taggarna. De som screenscrapear dsc kommer kanske bli gladare, men de blir ungefär lika glada för konseventa och genomtänkta class-namn på span- eller div-taggarna.

Man måste väl fråga sig vad målet med semantiseringen är. Om man vill göra det enkelt för andra att återvända innehållet blir det en inriktning, om det är att stödja screenreaders och andra verktyg för synskadade blir det en annan, och vill man uppnå nån sorts "semantic web"-ideal kanske det blir en tredje.

I mitt fall gäller det första. På lagen.nu har jag först och främst tänkt igenom semantiken för de olika beståndsdelarna i en lag och försökt uttrycka dessa i XML (utan varesig DTD, XML Schema eller RelaxNG, än så länge), för att sedan transformera detta till XHTML. XHTML-koden är väl hyfsat strukturerad, men om någon annan vill bygga en tillämpning på materialet så är det mycket lättare att använda XML-koden (och just därför har jag en i varje XHTML-dokument). Så för att plocka ned lagboken i handdatorn är det bara att hämta relevanta lagtexter i XML-format och transformera dem till något som passar handdatorn. "Mitt" XML-format är kanske inte det som kommer väljas när sverige börjar kungöra lagar elektroniskt i framtiden, men de som specar det kanske åtminstone lära sig av mina misstag (och eventuella goda idéer).

Jag skulle tycka det var ashäftigt med en dsc i offlineversion för handdatorn, med index över alla recenserade och refererade artister, för när jag går ut och gräver i begagnathyllorna på lördagarna. Eller en blogintegrering, så att när jag bloggar om Entombed's Unreal Estate så hittar och länkar mitt bloggverktyg http://www.dagensskiva.com/index.asp?datum=1972-11-8. En sån framtidsvision tror jag måste byggas på ett specialiserat XML-format (säg CultureML), inte bara XHTML med semantiskt meningsfulla classnamn.

Om CultureML blir en de-facto standard (vilket naturligtvis är en lång och skitsvår process) kommer det dyka upp allehanda verktyg för att söka och browsa i CultureML-material, precis som det idag finns för RSS (RSS Bandit, JPluckX, KTicker, bloglines, feedster, technorati...).

Kommenterat av: Staffan Malmgren den 2005-01-21 kl. 14.16 #

Kommentera


(visas aldrig på sajten men måste anges)


Kom ihåg mig?

(du får använda html-kod)