[an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive]
 
[an error occurred while processing this directive] [an error occurred while processing this directive]
Skåne Sjælland Linux User Group - http://www.sslug.dk Home   Subscribe   Mail Archive   Forum   Calendar   Search
MhonArc Date: [Date Prev] [Date Index] [Date Next]   Thread: [Date Prev] [Thread Index] [Date Next]   MhonArc
 

Re: [PROGRAMMERING] [HTML/CSS] Hvordangør man det rigtigt første gang?



[Sådan lidt et tilfældigt sted i tråden]

Lad mig lige prøve at samle op på de forskellige metoder og
variationer.


Fattigmands-XML (kun <div class=...> og <span class=...>).

Alt pakkes ind i div- eller span-tags. Alt fremvisning og skelnen
mellem data-typer fremgår af class-attributter. Dokumentet erklæres
til at være en eller anden form for html og der hæftes et css-ark til.

Fordele: 
 - Let at skrive en kravsspec (valid xhtml1.0 og CSS2.1)
 - Let at opfylde kravsspec'ens ord.
 - Virker *næsten* i alt.

Ulemper:
 - Ret kedeligt at maskin-behandle efterfølgende.
 - Ingen semantisk information for tredjepartsprogrammer.
   (man kan ikke automatisk trække overskrifter eller fremhævede ting frem)
 - Det kan let blive obskurt hvorfor man bruger div og span.
 - Visse CSS-stunts giver et ret forfærdeligt resultat i non-CSS
   browsere (lynx og nogle links-versioner)
 - Opfylder sandsynlivis kun kravsspec'ens ord, ikke dens ånd.


HTML uden div og span.

Man skriver sine ting i ren HTML uden noget miskmask. I selve data
skelner man ikke <tt>diff</tt> og <tt>10.0.1.42</tt>.

Fordele:
 - Let at skrive en kravsspec (valid xhtml1.0 og CSS 2.1)
 - Forholdsvis let at opfylde.
 - Virker i alt (ikke så kritisk med CSS-stunts)

Ulemper:
 - Vil man fremvise ting mere præcist kan man skulle gennem nogle hacks
   for at undgå div og span.
 - Forholdsvist svært at senere adskille information fra layout.


HTML med div og span

Fordele (som HTML uden div og span)

Ulemper:
 - Forholdsvist svært at senere adskille information fra layout.
 - Det er let at komme til at lave en <div class="overskrift1"> i
   stedet for en <h1> og ryger dermed i Fattigmands-XML-klassen


Well formed XML + CSS-layout.

Her laver man specielt til projektet en række tags, som man med CSS
definerer hvordan det skal fremvises.

Fordele:
 - Let senere at adskille information fra layout.

Ulemper:
 - Besværligt hvis kravsspec'en omtaler hvordan XML'en skal se ud.
 - tredjepartsprogrammer kender ikke den semantiske betydning af tags
   (dvs. et søgesystem skal specialiseres for at kunne vægte indholdet
   af forskellige tags.)
 - Virker kun i modernede browsere som kan forstå xml+css. (mozilla og
   MSIE er ok)
 - Folk fatter ikke forskellen mellem Valid XML og XML der kun er 'well
   formed' og ser derfor ned på denne løsning.
 - Svært at blåstemple at man overholder kravsspec'en


Valid XML + CSS-layout

Her bliver der defineret enten en DTD eller et XML-Schema som skal
anvendes (i kravsspecen) eller som bliver anvendt (af udvikleren).

Fordele:
 - Let at specificerer i en kravsspec.
 - Let senere at adskille information fra layout.
 - Let hvis flere projekter skal udveksle information.
 - Folk fatter ikke forskellen mellem Valid- og Well Formed-XML

Ulemper:
 - DTD'er er ikke for hvide mennesker og XML-Schemas er også let bare
   unødigt arbejde.
 - tredjepartsprogrammer kender ikke den semantiske betydning af tags
   (dvs. et søgesystem skal specialiseres for at kunne vægte indholdet
   af forskellige tags.)
 - Virker kun i modernede browsere som kan forstå xml+css. (mozilla og
   MSIE er ok)


Bredt anerkendt Valid XML.

Her finder man en eksisterende XML-specifikation der passer til ens
data og anvender den. Der er en række organisationer der laver disse,
blandt andet W3C og OASIS. Eksempler er RDF, Docbook-XML, SVG.

(xhtml er egentligt også et eksempel, men falder ind under en af
ovenstående)

Fordele:
 - Let at specificerer i en kravsspec.
 - Let senere at adskille information fra layout (alt efter XML).
 - Let hvis flere projekter skal udveksle information.
 - Veldokumenteret (forhåbentligt).
 - Der findes muligvis bedre special-browsere.

Ulemper:
 - Ret begrænset udbud.


XSLT til en HTML-variation.

Man gemmer sine data i en XML-struktur og konverterer på et eller
andet tidspunkt til noget HTML. Den store fordel frem for at arbejde i
HTML er at layout og informmation er rigtig adskilt.

Hvis man genererer div- og span-html mener jeg lige så godt at man kan
lave ren xml+css.

XSLT kan ske på tre tidspunkter: Offline, server-side og client-side.

(offline vil sige at man man laver sin transformation én gang og
lægger resultatet ud på en webserver som en statisk html-side)

Generel ulempe:
 - XSLT tager noget tid at sætte sig ordentligt ind i.
   Det minder lidt om programmering, men mere om lisp end imparative
   sprog.

Fordele ved Offline: 
 - Det virker, jeg har i hvert fald god erfaring med det.

Fordele/Ulemper ved server-side:
 - Burde virke, men jeg har ikke prøvet.

Ulemper ved client-side:
 - Glem det. 


XSLT til XSL-FO

XSL-FO er et specielt XML-sprog der beskriver side-layout.

Ulemper:
 - Ikke modent
 - Ser primært ud til at være rettet mod udskrivning
 - De open source-projekter jeg kender til kræver Java.
 - Ser meget komplekst ud. Man styrer *alt* selv.



Hvad man vælger må være lidt afhængig af opgaven. Der kan selvfølgelig
være 'ydre omstændigheder' der tvinger en til at bruge en bestemt
løsning, for eksempel at det *skal* virke i Lynx eller MSIE4.0 eller
at den der har skrevet kravsspec'en har stillet unødvendige krav.

Hvis det man genererer primært er tekst og passer ind i HTML, så kan
det nok være passende bare at bruge HTML med div og span. Hvis man
derimod begynder at bruge meget lidt HTML ud over div og span, så tror
jeg at jeg ville anbefale om man i det mindste ikke prøvede om xml+css
kunne opfylde ens krav.

Nu har Hans ikke skrevet meget om hvad han laver, men mon ikke HTML
med div og span løser opgaven fint. Det der nok primært fik mig ud på
dette lange sidespor var ideen om "noget i retning af":
 
  <span class=stortekst id=overskrift> ... </span>

-- 
 Peter Makholm     |       Why does the entertainment industry wants us to
 sslug@sslug |      believe that a society base on full surveillance
 http://hacking.dk |                                               is bad?
                   |                       Do they have something to hide?


 
Home   Subscribe   Mail Archive   Index   Calendar   Search

 
 
Questions about the web-pages to <www_admin>. Last modified 2005-08-10, 22:44 CEST [an error occurred while processing this directive]
This page is maintained by [an error occurred while processing this directive]MHonArc [an error occurred while processing this directive] # [an error occurred while processing this directive] *