[xml/xslt] wanneer/waarom?

Pagina: 1
Acties:
  • 104 views sinds 30-01-2008
  • Reageer

  • RuudBurger
  • Registratie: Oktober 2003
  • Laatst online: 07-03 21:18
Ik ben vandaag een beetje bezig geweest xml en xslt. Nu snap ik wel hoe dit allemaal werkt enzo maar de vraag is. Waar/waarom zou ik het eigelijk

gebruiken?

Mijn huidige site (blog/portfolio) heb ik nu doormiddel van PHP/mysql gemaakt. Ik gebruik hiervoor de Smarty Template engine..


Stel ik ga mijn site updaten om gebruik te maken van xml/xslt.
Dan zou ik het als volgt aanpakken:

1. Gegevens uit het database halen met PHP.
2. De gegevens naar een xml bestand wegschrijven.
3. Met PHP dit bestand parsen en de xslt erop toepassen. Zodat de xslt serverside wordt toegepast en niet door de browser geparsed hoeft te worden. (ivm compatibility)
4. De output daarvan doormiddel van css stylen.

Dan gebruik ik de xslt dus als een template. Is dit nou de bedoeling van een xslt op deze manier? of zit ik zo helemaal verkeerd?
Als ik het zo zou doen, heeft het dan eigelijk wel voordeel tegenover de template engine wat ik nu gebruik?

Een voordeel ervan lijkt me dat ik alleen database query hoef te doen als ik mijn blog of portfolio update. Of wordt het xml bestand dan te groot?


Heeft iemand misschien antwoord op al mijn vragen. Of misschien een goede tutorial om het nut van xml/xslt aan te tonen op een blog/portfolio site..

Alvast bedankt.

  • Copyman
  • Registratie: Januari 2001
  • Laatst online: 31-03 14:04

Copyman

Dode muis

http://www.naarvoren.nl/artikel/xslt.html

Dit vond ik zelf wel een goed artikel over XSLT, deze had ik nog in mijn favorieten staan. Misschien dat jij er ook wat aan hebt. :)

Zeer belangrijke informatie: Inventaris


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Sillymidget schreef op vrijdag 24 februari 2006 @ 19:19:
1. Gegevens uit het database halen met PHP.
2. De gegevens naar een xml bestand wegschrijven.
3. Met PHP dit bestand parsen en de xslt erop toepassen. Zodat de xslt serverside wordt toegepast en niet door de browser geparsed hoeft te worden. (ivm compatibility)
4. De output daarvan doormiddel van css stylen.
De XML-tussenstap lijkt me in dit geval nogal zinloos, ik zou gewoon direct HTML genereren...
XSLT is leuk als je al een XML document hebt die je wilt omzetten (bijvoorbeeld uit een feed ofzo).

[ Voor 13% gewijzigd door crisp op 24-02-2006 23:10 ]

Intentionally left blank


Verwijderd

als je je eigen xml verzint heb je vervolgens ook je eigen xslt nodig om er 'iets' van te maken, da's behoorlijk zinloos dus, want dat 'iets' kan je net zo goed meteen maken

Het wordt pas leuk als je gedefinieerde xml om gaat zetten in iets anders. Bijvoorbeeld xhtml tables naar svg grafieken, rdf naar html, rdf naar xul, cml naar svg, wsdl naar html, soap naar html fragments, etc etc

  • Echnon
  • Registratie: Mei 2000
  • Laatst online: 04-04 20:19
Als je xslt gebruikt is css daarna een vrij overbodige stap, zoals je in de reacties hierboven tussen de regels door kunt lezen.

xslt kan heel complex worden... veel krachtiger als css. Zelf vind ik de Zvon tutorials over XSL en XSLT wel goed.

http://www.zvon.org/o_html/group_xsl.html

[ Voor 6% gewijzigd door Echnon op 25-02-2006 02:02 . Reden: specifiekere link naar XSL gedeelte van zvon ]


  • RuudBurger
  • Registratie: Oktober 2003
  • Laatst online: 07-03 21:18
Ok wat ik er dus uit begrijp is dat het in mijn geval vrij zinloos is. En eigelijk in elke geval als je de kennis hebt om XML met PHP te parsen.

Bedankt en in ieder geval.. dan weet ik dat ik in mijn geval mijn site rustig kan updaten met php/smarty combo..

Verwijderd

Sillymidget schreef op zaterdag 25 februari 2006 @ 11:05:
Ok wat ik er dus uit begrijp is dat het in mijn geval vrij zinloos is. En eigelijk in elke geval als je de kennis hebt om XML met PHP te parsen.

Bedankt en in ieder geval.. dan weet ik dat ik in mijn geval mijn site rustig kan updaten met php/smarty combo..
Je parsed nu toch geen XML met PHP? Je doet database queries en de recordsets die je daaraan overhoudt gebruik je om hier en daar wat gegevens op je pagina te injecteren. Zodra je XML moet gaan parsen gebruik je daar het liefst natuurlijk het hele XSL gebeuren voor.

Verwijderd

Echnon schreef op zaterdag 25 februari 2006 @ 01:59:
Als je xslt gebruikt is css daarna een vrij overbodige stap, zoals je in de reacties hierboven tussen de regels door kunt lezen.

xslt kan heel complex worden... veel krachtiger als css. Zelf vind ik de Zvon tutorials over XSL en XSLT wel goed.

http://www.zvon.org/o_html/group_xsl.html
dat mag je me toch eens uitleggen, CSS is sowieso eigenlijk alleen een issue als je gaat converteren naar xhtml of een ander XML based taal die met CSS overweg kan (svg bijvoorbeeld; niet in opera 8.5 overigens), maar dan nog zou ik niet afraden om CSS er bij te gebruiken. Het is echt wel compleet iets anders als xslt

Denk ook niet dat iemand dat tussen de regels door bedoelt, ik iig niet

  • RuudBurger
  • Registratie: Oktober 2003
  • Laatst online: 07-03 21:18
Verwijderd schreef op zaterdag 25 februari 2006 @ 11:11:
[...]


Je parsed nu toch geen XML met PHP? Je doet database queries en de recordsets die je daaraan overhoudt gebruik je om hier en daar wat gegevens op je pagina te injecteren. Zodra je XML moet gaan parsen gebruik je daar het liefst natuurlijk het hele XSL gebeuren voor.
nee, ik haal nu mijn gegeven uit database.. Maar ik bedoel als ik het met zou php parsen. dan kan ik het in 4 regels code in een nested array gooien. En kan ik er mee doen wat ik wil.

  • Clay
  • Registratie: Oktober 1999
  • Laatst online: 25-02 11:17

Clay

cookie erbij?

De grap van xml en xsl is dat verschillende onafhankelijke diensten of applicaties een uniforme manier hebben om met elkaar te praten, en met xsd, rdf en/of owl erbij krijgt het allemaal nog veel meer betekenis. Natuurlijk kan je ook alles meteen in een fikse nested array gooien, maar juist die abstractie naar een stapje daarboven geeft je net wat meer mogelijkheden.

Stel bv je biedt een flash site z'n content aan in xml, dan kan je met een andere applicatie en wat xsd en xsl bv een beheer interface'je fixen voor die xml, en als je dan toch bezig bent kan je er ook meteen een html versie van uitpoepen. \o/

De vraag "hebben we niet genoeg aan CSS" in het genoemde artikel op Naar Voren vind ik een beetje een ongelukkige keuze eigenlijk. Xsl transformeert input naar compleet andere output. Css geeft het alleen maar een grafisch jasje, maar laat je bron intact en is zelfs helemaal niet in staat om die te veranderen.

Instagram | Flickr | "Let my music become battle cries" - Frédéric Chopin


  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 05-04 00:29

alienfruit

the alien you never expected

Ik gebruik het voor een simpele CMS waarbij alles pagina's als een XML files worden aangeleverd met XSLT als sjabloon. Zo kan ik gemakkelijk een rss feed maken of de content gebruiken in een Flash app :) Werkt wel grappig.

[ Voor 12% gewijzigd door alienfruit op 25-02-2006 16:14 ]


Verwijderd

waarom maak je die rss dan niet uit je xhtml, wat natuurlijk ook gewoon xml is (of andersom)? waarom een "eigenbedachte" xml tussenstap (neem ik aan), waar verder niemand de semantiek van kent?

(de semantiek van de elementen dus: wat betekend welk element, met xhtml, rdf, rss, etc, vastgelegde xml talen dus, is dat in principe overal bekend. Bij je eigen xml taal niet)

[ Voor 42% gewijzigd door Verwijderd op 25-02-2006 18:44 ]


  • chris
  • Registratie: September 2001
  • Laatst online: 11-03-2022
Ik gebruik sinds kort wel 's xml in plaats van een database, en dat werkt aardig fijn. Voor kleine dingen is het erg makkelijk. In .NET wordt het ook asociaal snel omgezet naar html met xslt. Het werkt gewoon anders. Ik zou in veel gevallen wel een database gebruiken, maar een xml-file kan ook erg handig zijn. Je kan bijvoorbeeld XPath-query's gebruiken ipv SQL, en je kan natuurlijk heel mooi je xml-file in je Application State geladen houden in plaats van iedere keer opnieuw uit te vragen.

Ook kan het handig zijn als je xml-bestanden van andere mensen aangeleverd krijgt. En mophor: als je over iets anders dan documenten praat kent ook niemand de semantiek van je data in xhtml. Je kan bijvoorbeeld niet zomaar zeggen dat iets een datum is, om maar een vorbeeld te noemen. Maar laten we alsjeblieft niet de zoveelste discussie over semantiek gaan houden :).

  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 05-04 00:29

alienfruit

the alien you never expected

Omdat het XML formaat binnenhuis al een tijdje wordt gebruikt, en het prima werkt :) Mijn boekhoudprogramma snapt het, InDesign snapt het. Wat wil ik nog meer ;)

  • Echnon
  • Registratie: Mei 2000
  • Laatst online: 04-04 20:19
Verwijderd schreef op zaterdag 25 februari 2006 @ 11:11:
[...]

dat mag je me toch eens uitleggen, CSS is sowieso eigenlijk alleen een issue als je gaat converteren naar xhtml of een ander XML based taal die met CSS overweg kan (svg bijvoorbeeld; niet in opera 8.5 overigens), maar dan nog zou ik niet afraden om CSS er bij te gebruiken. Het is echt wel compleet iets anders als xslt

Denk ook niet dat iemand dat tussen de regels door bedoelt, ik iig niet
CSS kan niet wat XSL kan, XSL kan (in principe) wel wat CSS kan. CSS icm met XSL(T) heeft alleen nut als je je gebruikers multiple themes oid wilt aanbieden.

  • Clay
  • Registratie: Oktober 1999
  • Laatst online: 25-02 11:17

Clay

cookie erbij?

De enige overeenkomst tussen xsl en css is dat ze beide een constructie aanbieden om elementen te selecteren; xpath in xsl, en selectors in css. Verder kan xsl helemaal niets wat css kan, of vice versa. Of wil je hier impliceren dat xsl dat wel kan omdat het in staat is tables en font tags te genereren waarvan het resultaat nagenoeg hetzelfde is als de correcte variant in css? In dat geval is c# ook css en is javascript een prima taal om de volgende mmorpg te ontwikkelen. :+

xml+xsl+css is in de juiste omgeving gewoon een prima combinatie, maar zoals met wel meer dingen moet je je ff afvragen of je het in de gegeven situatie wel nodig hebt.

Instagram | Flickr | "Let my music become battle cries" - Frédéric Chopin


  • :murb:
  • Registratie: Oktober 2001
  • Laatst online: 08-04 09:32

:murb:

@murb.nl


Verwijderd

De enige reden waarom ik (client-sided) xml zou transformeren is om de lay-out van feeds te verzorgen.
Server-sided slechts als het xml-document wijd inzetbaar moet zijn (zoals Clay al aanhaalde).
Pagina: 1