Avatar billede davidchristensen Praktikant
06. januar 2003 - 01:07 Der er 12 kommentarer og
3 løsninger

XML kontra en database?

Så vidt jeg kan forstå er en xml.fil en slags data-holder, som i princippet snildt kunne fungere som en database. Men hvordan vil det være bedst at lave en integration mellem en database og xml? Kan man undvære en database (Det kan man, men hvornår er det dumt at undgå en database..)? Og, kan man eksekvere et XSL stylessheet serverside, så klienten blot får en xhtml og ikke andet?

Håber der er nogle kloge hoveder der véd noget :)

David
-
Avatar billede razor Nybegynder
06. januar 2003 - 01:29 #1
XML er ikke en database. Det er derimod et meta markup language. Det ville give mening at gemme XML i en database.
Avatar billede pelkjaer Nybegynder
06. januar 2003 - 01:36 #2
Jo, et XML dokument er med lidt god vilje en database, dvs det er en samling af data.

Er det så bedst at bruge XML eller en "alm" database?
Well, XML har sine fordele. Det er fx. selvbeskrivende (dets markup), umiddelbar flytbar (unicode).
Men XML har også bagdele. Fx. er parsing langsommere.
Den største fordel ved XML er egentlig bare at det er flytbart/transportabelt.
Avatar billede pelkjaer Nybegynder
06. januar 2003 - 01:43 #3
Og dit sidste sp,- ja:

<xsl:stylesheet version="1.0"
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:output method="html"/>

<xsl:template match="/">
  <html>
  <xsl:apply-templates/>
  </html>
</xsl:template>

...

</xsl:stylesheet>

Læs iøvrigt:
http://www.w3.org/TR/xslt
http://www.w3.org/XML/
Avatar billede davidchristensen Praktikant
06. januar 2003 - 01:45 #4
Jeg tænker bare på, hvis man har data i en database men trækker ud og omformer til en xml-fil og via xslt omformer det til html - er det så ikke hurtigere bare at nøjes med xml-filen og bruge et xslt til at hente lige præcis de data man skal bruge og omforme det til html? Som jeg forstår det er databasen blot en yderligere container..
Avatar billede davidchristensen Praktikant
06. januar 2003 - 01:47 #5
Pelkjaer, betyder det så at stylesheetet bliver eksekveret på serveren?
Avatar billede pelkjaer Nybegynder
06. januar 2003 - 01:55 #6
Ja hvis det er en konvetering til (x)html du vil sende til browseren, skal det ske serverside.

Er det det bare XML/XSL kan det være klientside.
Avatar billede davidchristensen Praktikant
06. januar 2003 - 02:01 #7
Jeg syns bare ik jeg lige kan finde ud af præcis hvor man deffinere om hvorvidt det skal ske server eller klient side..?
Avatar billede medions Nybegynder
06. januar 2003 - 07:41 #8
david78> Man kan godt sige XML er en tekstbaseret database. Det er dog ik' det hurtigste hvis nu fx. du har 10000 linjer i dit dokument ;o)

Hvis du ønsker at alle brugere skal kunne se det, skal det ske serversided, da XML/XSL er Microsofts.

Her kan du læse meget mere om det:
http://www.w3schools.com/xml/

//>Rune
Avatar billede a1a1 Novice
06. januar 2003 - 22:33 #9
hvis du er tilfreds med at 95-97% kan se det kan du også lave det clientside...:)
Avatar billede davidchristensen Praktikant
07. januar 2003 - 01:50 #10
Nu har jeg ihvertfald fundet ud af hvordan man laver det serversidet - og også fundet ud af at der er et sprog der hedder XML Query på vej, som vil kunne gøre XML næsten lige så hurtigt som en database, men hvor man tilgengæld kan udnytte alle XML faciliteter (f.eks noget med at man vil kunne lave nogle rekursive handlinger som nogen udviklere synes er helt vildt hippe..) Jeg må nok lige vente lidt endnu før det helt vil kunne lade sig gøre åbenbart.. Sjovt at lege med en teknoogi der endnu ikke er helt færdig-opfundet endnu :)
Avatar billede medions Nybegynder
07. januar 2003 - 19:27 #11
Glæder mig oxo til XQLQyery! :)

-Hvis du har fået svar nok, så vær venlig at afslutte spm'et!

//>Rune
Avatar billede christian Nybegynder
08. januar 2003 - 13:00 #12
Du kan godt bruge en stor XML klump som database

Sitecore cms- http://www.sitecore.dk
Siger at man kan vælge mellem XML fil, MS SQL (database) og Tamino (database med xml som speaciale) som data lager.
Så længe xml filen er mindre end 50MB skulle det ikke være noget problem at bruge en xml fil som lager.

Deres system kører med asp.net
Avatar billede davidchristensen Praktikant
10. januar 2003 - 10:10 #13
Christian, hvor er du læser det med de 50 MB henne? Jeg kan ik lige finde det på sitet.. og tak :)
Avatar billede christian Nybegynder
10. januar 2003 - 10:31 #14
Jeg har været til sitecore præsentation hos dem
Avatar billede tuxic Nybegynder
10. januar 2003 - 19:19 #15
Bare en kommentar: XML er da en database! (Bemærk at der er forskel på InfoSet'et og en konkret serialisering af samme). XML er en hierakisk database, dvs. at fiske ét objekt/information ud går hurtigt. Men at sammenligning 'påtværs' er naturligvis ikke så effektivt som en relationel database (SQL). Simpel søgning på google giver flere hits på XML-databaser.
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