XML är väl till för att lagra data? Vill du formatera ska du nog använda dig av XLST eller något liknande... XML är gjort för att lagra och strukturera data, inte visa (till skillnad från HTML/XHTML).
ja, vilka?
10 svar · 448 visningar · startad av doggelito
ja, vilka?
XML är väl till för att lagra data? Vill du formatera ska du nog använda dig av XLST eller något liknande... XML är gjort för att lagra och strukturera data, inte visa (till skillnad från HTML/XHTML).
mm, men om man länkar in en css-fil i ett xmldokument så formateras taggarna, det jag undrar är om det stödet skiljer sig från om man använder css på en htmlsida.
men med lite eftertanke så hänger det nog inte på css:en utan på xml:en!
för om en webbläsare kan läsa xml så kan den väl också läsa css i xml.
jag formulerar om frågan:
vilka webbläsare har stöd för xml?
Vad jag vet så klarar Mozilla/Firefox'en det.
I princip alla borde klara det eftersom en html sida är ett XML dokument, enda skillnaden är att webläsarna har i princip "default" css filer för alla html taggar medans med XML så får man göra CSS'en själv.
Alla moderna webbläsare har stöd för XML, dock visar t.ex. Opera7 inte XML-filen som IE visar den. Som skrivet och sagt - XML är enbart till för att lagra data, inte formatera data.
m_soderlund skrev:
XML är enbart till för att lagra data, inte formatera data.
Precis, och det är formateringen frågeställaren undrar över. Formateringen kan du göra med css. Exempel:
xmltest.css:
test1 {display:block;background-color:black;color:white}
test2 {display:block;color:green;background-color:red;font-style:italic;}
xmltest.xml:
<?xml version="1.0" standalone="yes"?>
<?xml-stylesheet type="text/css" href="xmltest.css" ?>
<stuff>
<test1>
Foobar
</test1>
<test2>
Barfoo
</test2>
</stuff>
Så visst kan man använda css för att formatera data, men det är säkert krångligare än att göra det med xsl. Speciellt om man, som jag, inte kan css. ;-)
Exemplet ovan fungerar fint i IE6, Firefox 0.93 och Opera 7.54, som är de webbläsare jag har installerade.
Edit: Jag har laddat upp mina testfiler så ni kan se om ni vill, och slipper skapa egna filer:
xml
css
Mvh
Då jag anser mig själv väldigt bra på css så skulle jag även vilja använda det i samband med xml, därav min fråga! :)
Hur ser det för dem som inte kan läsa xml/css?
(Tips till @nders: Lär dig css! ;) )
doggelito skrev:
Hur ser det för dem som inte kan läsa xml/css?
Min gissning är att det tolkas som ett html-dokument med en massa okända taggar. Dvs, den text som står i elementen (<test>här</test>) visas bara som ren text. Prova att byta namn på css-filen, det borde bli ungefär så i läsare som inte vill.
doggelito skrev:
(Tips till @nders: Lär dig css! ;) )
Jodå, jag är på väg. :)
@nders skrev:
Så visst kan man använda css för att formatera data, men det är säkert krångligare än att göra det med xsl. Speciellt om man, som jag, inte kan css. ;-)
Hmm...
Vilket som är "lättare" är väl en ganska personlig uppfattning som väl i mångt och mycket beror på om man tycker det är naturligare att omforma taggar till andra taggar (xsl) eller beskriva hur originaltaggarna skall visas grafiskt (css)...
Bägge har ju dessutom för- och nackdelar...
Med CSS kan du inte "rumstera om" i innehållet (t.ex. sortera information i bokstavsordning eller utesluta viss information från dokumentet) - Du kan bara " formatera", "positionera grafiskt" eller "dölja" taggar. Du är dessutom tvungen att använda originaldokumentets taggar i det du visar upp...
Med XSL(T) kan du både selektera/filtrera och "rumstera om"/sortera informationen efter tycke och smak och är alltså inte alls tvingad att använda XML-dokumentets originalstruktur i det som presenteras om du inte vill...
CSS är en ren klient-teknik
XSL kan du (om t.ex. stödet för en viss "finess" du behöver använda i någon webbläsare därute suger) applicera redan på serversidan eftersom XSL funkar både i "modernare" webbläsare och serverside-miljöer.
jarvklo skrev:
Vilket som är "lättare" är väl en ganska personlig uppfattning som väl i mångt och mycket beror på om man tycker det är naturligare att omforma taggar till andra taggar (xsl) eller beskriva hur originaltaggarna skall visas grafiskt (css)...
Självklart är det så. :)
Det är ju också så att xsl är ett ganska kraftfullt sätt att formatera xml-data. En av fördelarna är att man kan välja om man vill göra transformeringen (omformningen) på servern eller klienten. Att göra det hos klienten har jag ingen direkt erfarenhet av mer än att jag testat det med IE6. Servertransformeringar har jag hållt på med i cirkus fyra år, och det är klart att jag tycker det är enklare att göra så än att presentera datat med css. :-)
Faktum dock, oberoende av om man gör transformeringar med xsl eller formateringar med css; det är roligt med xml! :)
Mvh
@nders skrev:
Faktum dock, oberoende av om man gör transformeringar med xsl eller formateringar med css; det är roligt med xml! :)
Yep tveklöst :birp