webForumDet fria alternativet

Vad kan man använda XML till?

XML

13 svar · 888 visningar · startad av trexter.com

Medlem sedan apr. 20021 203 inlägg
Frågan#1

Jag har läst, lärt mig och ställt frågan tusentals gånger men aldrig fått ett bra svar. Antingen har det varit någonting småflummigt eller någonting helflummigt. :e

Jag undrarm rätt och slätt, vad man kan använda XML till och vad ni h a r användt det till. Och kom nu inte med någonting obegripligt eller så utan ge något exempel. Någon applikation ni använt det i och isf hur?

:)

Medlem sedan juli 20013 378 inlägg
#2

§e Ja - förutom det som du själv skriver om på trexter.com ... ;)
- så kan jag lägga till att XML är utmärkt i applikationer där man vill att en och samma information skall publiceras på t.ex. webben i flera format...
Exempel: en gammal artikel jag skrev hösten '99 för min dåvarande arbetsgivares räkning.
(OBS! det är en gammal text och de sysslar, såvitt jag vet, inte med att sälja publiceringssystem längre, men artikeln finns kvar i alla fall ;) ).

Medlem sedan apr. 20021 203 inlägg
#3

Ja, jag visste att någon skulle kommentera det man kan läsa på Trexter.com men just därför kommer det heller aldrig (?) bli någonting mer än en introduktion. Att skriva en introduktion i ett språk krävs det faktiskt inte mycket erfarenhet för att skriva.

Och, btw, tack för adressen jag fick, ska genast ta en titt på den.
:)

Medlem sedan apr. 20021 203 inlägg
#4

Inlägg två :) :
Först och främst så måste jag ju säga att det verkar ganska svårt att få till någonting "riktigt" med XML, det verkar kräva ganska omfattande kunskaper. Skulle man kunna göra ungefär samma applikation som du gjort och istället använda en Access databas? :q

Och förresten, varför används en SQL Databas över huvudtaget. Då är det väl inte längre plattformsoberoende om någon annan ska fortsätta på applikationen och använder Oracle istället? :q

Och hur kommer det sig att du använt DTD:er. Ä inte Schema en smartare lösning? Vad är det för skillnad på dem och när använder man vad? :q

Kan man transformera XML-kod med hjälp av XSLT till HTML också (istället för XHTML)? Och hur många webläsare kan idag visa XHTML egentligen? :q

Ledsen om det är mycket frågor mern jag tror det kan hjälpa mig en hel del om jag får svar på dem.

:)

Medlem sedan maj 20018 027 inlägg
#5

Först och främst så måste jag ju säga att det verkar ganska svårt att få till någonting "riktigt" med XML, det verkar kräva ganska omfattande kunskaper. Skulle man kunna göra ungefär samma applikation som du gjort och istället använda en Access databas?

XML kan inte ses som en ersättare för databaser. Däremot kan du använda XML för att föra över information mellan databaser. Så om du ska använda XML eller Access, beror på vad du ska göra. Lagring av data i tex Access. Utbyte av data med XML.

Och förresten, varför används en SQL Databas över huvudtaget. Då är det väl inte längre plattformsoberoende om någon annan ska fortsätta på applikationen och använder Oracle istället?

Oracle, liksom de flesta andra databashanterare, använder SQL som frågespråk.

Och hur kommer det sig att du använt DTD:er. Ä inte Schema en smartare lösning? Vad är det för skillnad på dem och när använder man vad?

Schema är bättre av en rad olika skäl. DTD är en gammal standard som har använts länge. Schema är en rätt ny standard. jarvklo skrev sin artikel -99. Då var inte schema-standarden färdig. Det är den idag. Använd schema.

Medlem sedan apr. 20021 203 inlägg
#6

UlfT skrev:

XML kan inte ses som en ersättare för databaser. Däremot kan du använda XML för att föra över information mellan databaser. Så om du ska använda XML eller Access, beror på vad du ska göra. Lagring av data i tex Access. Utbyte av data med XML.

Nej, det var inte så jag menade. I hans beskrivning av applikationen står det att han använder en SQL Server och jag undrar om det hade gått bra med en Access. :)

Oracle, liksom de flesta andra databashanterare, använder SQL som frågespråk.

Jo, men SQL-satserna ser ju annorlunda ut om man vill hämta info från en Access db eller en Oracle db. :)

Schema är bättre av en rad olika skäl. DTD är en gammal standard som har använts länge. Schema är en rätt ny standard. jarvklo skrev sin artikel -99. Då var inte schema-standarden färdig. Det är den idag. Använd schema.

Är det ingen vits att lära sig DTD över huvudtaget då?

:)

Medlem sedan maj 20018 027 inlägg
#7

Är det ingen vits att lära sig DTD över huvudtaget då?

Vitsen är väl i så fall att du lär dig förstå de DTD som redan har skrivits. Det är ju bra att kunna. Men såvitt jag vet, kan du göra allt med schema som du kan göra med DTD, plus att du kan göra ytterliggare en massa med schema (definiera upp datatyper för element, etc). Så lär dig tillräckligt mycket om DTD för att förstå vad som gjorts, men använd schema när du själv skapar dina xml-format.

Medlem sedan apr. 20021 203 inlägg
#8

Ok, tack Ulf, nu börjar saker och ting klarna men jag har inte fått svar på fråga ett och två i mitt senaste inlägg. Kanske jarvklo kan hjälpa mig med dem...

:)

Medlem sedan aug. 2002221 inlägg
#9

Men visst är det så att xml funkar lite som en databas?!?

Då måste det bli så att program som Access kan formatera om sin databas i xml-format? automatiskt? Finns det redan? eller mysql Databas till xml?

Medlem sedan juli 20013 378 inlägg
#10

Först och främst så måste jag ju säga att det verkar ganska svårt att få till någonting "riktigt" med XML, det verkar kräva ganska omfattande kunskaper.

Njae - XML är bara ett relativt enkelt, standardiserat, sätt att formatera text på...
Det som är komplext är att det går att använda till så mycket ;)

Skulle man kunna göra ungefär samma applikation som du gjort och istället använda en Access databas?

Visst. Vi lagrade färdigformaterad XML som text i en databas där varje text fått ett indexnummer. Man kan lika gärna använda filsystemet om man vill det (eller Access)

Och förresten, varför används en SQL Databas över huvudtaget. Då är det väl inte längre plattformsoberoende om någon annan ska fortsätta på applikationen och använder Oracle istället?

Hade vi använt några MSSQL-specifika features hade du haft helt rätt, men enklare SQL-satser som "SELECT * FROM tabellen WHERE textid=17" är ganska portabla mellan olika SQL-motorer ;)

Och hur kommer det sig att du använt DTD:er.

Det var som sagt 1999... Men faktum är att jag hade använt en DTD om jag skulle ta fram samma enkla struktur idag också! (se nedan)

Ä inte Schema en smartare lösning? Vad är det för skillnad på dem och när använder man vad?

Hmm... Det finns ju tre olika sätt att skapa XML-baserade taggspråk på:

  • DTD
    DokumentTypDefinitioner bygger på logik, och har mycket begränsade möjligheter om man vill använda olika datatyper.
    Däremot passar DTD:er utmärkt när man vill skapa enklare, textbaserade, märkspråk typ xhtml1.0 eller WML
  • XML Schema
    Ett taggspråk (baserat på en DTD faktiskt ;) ) som man kan använda att skapa taggspråk som innehåller olika datatyper.
    Scheman ger ungefär samma möjligheter att skapa datastrukturer som finns i ett modernt programmerings- eller scriptspråk till priset av en ökad komplexitet.
  • RelaxNG
    Ny, enklare standard för att skapa taggspråk. Togs fram som en reaktion på att Scheman blivit så komplexa.
    Det finns en bra sammanfattning (med exempel på användning i senaste AListApart )

Välj det som passar bäst för det som du håller på med (eller det som du kan bäst). Hursomhelst är det IMHO en smaksak vilket som är "smartast" (pss som jag anser att det är en smaksak om C++ eller Java är "bäst" :e )

Kan man transformera XML-kod med hjälp av XSLT till HTML också (istället för XHTML)?

Jupp! - det är bara att använda <?xsl:output method="html"?> i sin XSLT-mall

Och hur många webläsare kan idag visa XHTML egentligen?

Hmm... Den frågan är lite mer komplex än man kanske tror... Det finns två svar:

  1. Alla webbläsare efter NN2 (ja faktiskt NN2!) klarar av att visa xhtml som skrivits som "HTML-kompatibel" och som servats med MIME-typen "text/html" (dvs angivet antingen med filändelsen .html eller med <meta>-tagg för content-type eller via programsats i ASP/PHP-sats för "response.contenttype" (typ) ).
    Mer om HTML-kompatibilitet

  2. Om man servar ut sin xhtml med MIME-typen "application/xhtml+xml" (se W3C) så gäller såvitt jag vet MSIE6, Moz1 eller NN6.
    Moz-gänget föreslår dessutom att man bör börja med filändelsen ".xhtml"...

Ledsen om det är mycket frågor mern jag tror det kan hjälpa mig en hel del om jag får svar på dem.

Ärente de som wF e till för rå? "Om man inte frågar ,får man inga svar" som en vis man en gång skrev
:e

Medlem sedan juli 20013 378 inlägg
#11

lucgo446 skrev:

Men visst är det så att xml funkar lite som en databas?!?

Det finns programvaror som kan hantera XML-formaterad text som om den vore en databas! XML är som sagt bara en standard för att formatera text!

lucgo446 skrev:

Då måste det bli så att program som Access kan formatera om sin databas i xml-format? automatiskt? Finns det redan? eller mysql Databas till xml?

Jag har för mig att jag har sett utilities som kan importera och exportera XML-baserade format till- och från diverse olika databashanterare. Oracle har det t.ex. inbyggt i senare verioner, MSSQLServer också. Vet dock inte på rak arm hur det är med just Access och MySQL.

Medlem sedan apr. 20021 203 inlägg
#12

Tack, tack, tack! Jag återkommer om jag stöter på några nya problem.

:)

Medlem sedan apr. 20021 203 inlägg
#13

Bara en sak jag undrar angående den webapplikationen du gjorde....

"Dokumentlager - En databas där dokumenten lagras
När informationen är inskriven och dess struktur kontrollerad, lagras XML-dokumentet i systemets dokumentlager. F.n. är dokumentlagret en databasapplikation i MS SQL 6.5. där varje XML-formaterad text lagras tillsammans med information om t.ex. vilken DTD den hör till.
Tack vare att alla XML-dokument lagras i en databas hanterar systemet också behörighet, dvs informationsproducenterna är indelade i grupper som ges redigeringsrättigheter för olika delar av webbplatsens information. Det finns även en modul som hanterar tidsbunden publicering av vissa dokument, t.ex. uppläggning av krönikor och annan återkommande information i förväg. "

Som jag förstår det så la du in det i en db för att folk skulle kunna modifiera och så där på ett enkelt sätt men låt säga att det bara skulle visas... hade det isf varit någon vits att använda någon databas över huvudtaget? Är det ofta som en XML-fil kan "ersätta" en databas?

:)

Medlem sedan juli 20013 378 inlägg
#14

[ ... ] men låt säga att det bara skulle visas... hade det isf varit någon vits att använda någon databas över huvudtaget?

Vi kan väl säga såhär, att det går utmärkt att lagra XML-dokument direkt i filsystemet och hämta upp dem för t.ex. XSLT-transformation därifrån med lämplig programkod om man av någon anledning inte kan eller vill använda en databashanterare.
Kolla t.ex. in det här exemplet från Microsoft på ett diskussionsforum i ASP där all information lagras som XML-filer i filsystemet i stället för i en databas...

Är det ofta som en XML-fil kan "ersätta" en databas?

Det där är ingen enkel fråga att svara på generellt... Både ja och nej... Det beror helt på applikationen och vilka olika krav man har på datalagringen...

265 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)