Toon posts:

[XML/XSLT] Gebruik Logica

Pagina: 1
Acties:

Verwijderd

Topicstarter
Stel ik heb een nieuws systeem gemaakt in PHP met een MySQL database en in dit script heb ik de mogelijkheid gemaakt om van de laatste 5 nieuwsposts een XML file te genereren (elke keer als er een nieuwe post wordt gemaakt wordt deze opnieuw gemaakt).

Is het nu logischer om voor de site zelf (dus de site waar het script op draait en de database) ook een XSLT bestand te gebruiken voor de weergave ipv gewoon de gegevens uit de database te halen en met XHTML/CSS weer te geven?

Samengevat: XSLT alleen gebruiken wanneer er XML documenten van buitenaf worden gebruikt, of ook wanneer de database zelf te benaderen is?

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 14:58
Zie dit bijvoorbeeld: [rml][ DISC] XML/XSLT vs. PHP[/rml]

Verwijderd

Het kan wel, heel veel verschil is er ook niet meer. Als je je eerst richt op het genereren van die XML voor de nieuwsposts, is het een fluitje van een cent om dat document ook te gebruiken om te transformeren naar (X)HTML. Qua tijd zal het toch niet veel uitmaken.

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 14:58
Qua serverside code wordt het natuurlijk wel een stuk eenvoudiger als je alleen maar XML maakt wat zeker een voordeel is. Nadeel is dat het meer van de server vraagt aan capaciteit. Verder zal misschien niet elke server van de juiste parsers e.d. voorzien zijn wat bij sommige projecten een nadeel kan zijn. Als je een gecontroleerde omgeving hebt is dit uiteraard niet van toepassing.

  • flowerp
  • Registratie: September 2003
  • Laatst online: 04-02 02:01
En wat denken jullie dan van server side XML genereren en dan CLIENT-SIDE via XLST dit te transformeren in de browser van de user? Scheelt je weer lekker aan server-side CPU power...

It's shocking to find how many people do not believe they can learn, and how many more believe learning to be difficult.


  • chris
  • Registratie: September 2001
  • Laatst online: 11-03-2022
Ik zou gewoon xml genereren en css gebruiken om die te stylen. Zie ook Improving an XML Feed.

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 14:58
Het is misschien wel van belang dat de user-agents het ondersteunen?

  • flowerp
  • Registratie: September 2003
  • Laatst online: 04-02 02:01
Ik moet er nog wat dieper induiken maar ik dacht dat er gewoon allemaal client side libs zijn om XSLT door de client te laten parsen. Dat gaat dus wel lukkken. Moet alleen nog even kijken of de verschillen tussen ie en firefox niet al te groot zijn.

It's shocking to find how many people do not believe they can learn, and how many more believe learning to be difficult.


Verwijderd

Topicstarter
Voor zover ik weet zijn is de client side ondersteuning voor XSLT niet erg goed...

  • djc
  • Registratie: December 2001
  • Laatst online: 08-09-2025

djc

Verwijderd schreef op zondag 17 juli 2005 @ 23:14:
Voor zover ik weet zijn is de client side ondersteuning voor XSLT niet erg goed...
Ik stond gister op het punt om iets dergelijks te posten, maar als je erover nadenkt valt dat volgens mij best mee tegenwoordig. Firefox en Mozilla kunnen het prima aan, IE 6 ook, IE 5(.5) heeft z'n gebreken op dit gebied (maar ik weet niet hoe ver die gaan). Blijven over Opera en Safari, waar ik totaal geen ervaring mee heb.

Rustacean


  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Manuzhai schreef op maandag 18 juli 2005 @ 09:13:
Ik stond gister op het punt om iets dergelijks te posten, maar als je erover nadenkt valt dat volgens mij best mee tegenwoordig. Firefox en Mozilla kunnen het prima aan, IE 6 ook, IE 5(.5) heeft z'n gebreken op dit gebied (maar ik weet niet hoe ver die gaan). Blijven over Opera en Safari, waar ik totaal geen ervaring mee heb.
Safari heeft geen XSLT ondersteuning ingebakken.

Verwijderd

Wat je zou kunnen doen is met php detecteren welke useragent er gebruikt wordt en of de useragent xslt ondersteunt. Als dat niet het geval is dan zou je de xml en xslt op de server kunnen tranfrormeren met behulp van bijvoorbeeld: Apache Xalan.

  • djc
  • Registratie: December 2001
  • Laatst online: 08-09-2025

djc

Verwijderd schreef op maandag 18 juli 2005 @ 10:13:
Wat je zou kunnen doen is met php detecteren welke useragent er gebruikt wordt en of de useragent xslt ondersteunt. Als dat niet het geval is dan zou je de xml en xslt op de server kunnen tranfrormeren met behulp van bijvoorbeeld: Apache Xalan.
Nie echt heel logisch om Xalan te gebruiken als je het ook gewoon binnen je PHP-scriptje kan afhandelen, of wel?

Rustacean


  • CubicQ
  • Registratie: September 1999
  • Laatst online: 21:24
Opera ondersteunt ook geen client-side transformatie. Maar goed, dat is natuurlijk geen reden om het niet te gebruiken; je zult toch een server-side fall-back moeten maken.

Dat IE 5.5 gebreken heeft heb ik ook gelezen, maar in de praktijk ben ik die eigenlijk niet tegengekomen.

  • flowerp
  • Registratie: September 2003
  • Laatst online: 04-02 02:01
Verwijderd schreef op maandag 18 juli 2005 @ 10:13:
Wat je zou kunnen doen is met php detecteren welke useragent er gebruikt wordt
Wat nou als je je server side applicatie met J2EE of .NET hebt gebouwd?

It's shocking to find how many people do not believe they can learn, and how many more believe learning to be difficult.


Verwijderd

Het grote voordeel van XSLT is vooral dat je bij het genereren van je data geen rekening hoeft te houden met presentatie. Je kunt met XSLT transformeren naar elk willekeurig bestandsformaat waarbij het een wat makkelijker te bereiken is dan het andere formaat maar het is wel mogelijk.

XSLT is echter niet de heilige graal, de sterkte is tevens ook haar zwakte, en dat is dat je maar heel erg beperkt met gegevens iets kunt doen.

Daarbij is het een voordeel dat je, vooral met systemen waar andere mensen met jouw informatie moeten werken je de partner alleen toegang hoeft te geven tot die data. En hoe die informatie dan wordt gepresenteerd is aan de persoon die de XSLT in elkaar zet.

Verwijderd

flowerp schreef op vrijdag 22 juli 2005 @ 20:27:
[...]


Wat nou als je je server side applicatie met J2EE of .NET hebt gebouwd?
Meeste (alle?) server side apps/talen kunnen wel aan informatie komen over de request, daarin staat meestal ook welke useragent er gebruikt wordt.

  • chris
  • Registratie: September 2001
  • Laatst online: 11-03-2022
Verwijderd schreef op vrijdag 22 juli 2005 @ 21:34:
Het grote voordeel van XSLT is vooral dat je bij het genereren van je data geen rekening hoeft te houden met presentatie. Je kunt met XSLT transformeren naar elk willekeurig bestandsformaat waarbij het een wat makkelijker te bereiken is dan het andere formaat maar het is wel mogelijk.

XSLT is echter niet de heilige graal, de sterkte is tevens ook haar zwakte, en dat is dat je maar heel erg beperkt met gegevens iets kunt doen.
XSLT is helemaal niet beperkt, het is zelfs Turing-compleet. Het enige wat niet zo simpel is is extra data opvragen. Gelukkig zijn daar speciale systemen voor, databases ;)

Verwijderd

chris schreef op zaterdag 23 juli 2005 @ 12:50:
[...]

XSLT is helemaal niet beperkt, het is zelfs Turing-compleet. Het enige wat niet zo simpel is is extra data opvragen. Gelukkig zijn daar speciale systemen voor, databases ;)
Je kunt met XSLT niet alle transformaties doen mbt datum / tijd in localized formaat, als simpel voorbeeld. Dat bedoelde ik met haar zwakte is tevens haar sterkte. :) In specifieke gevallen wil je nog nabewerkingen uitvoeren op de data, en dan ben je met XSLT gewoon beperkt. Je kunt natuurlijk wel op het eindresultataat nogmaals een transformatie uitvoeren. Verder loop je het risico dat bepaalde gevallen uitmonden in te complexe XSLT.

XSLT is vooral ideaal als meerdere partijen met de data moeten kunnen werken, of als er meerdere vormen van presentatie kunnen voorkomen op diezelfde data.

[ Voor 24% gewijzigd door Verwijderd op 23-07-2005 17:47 ]


  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 23:40
Zelf heb ik ook wel eens een grote applicatie geschreven (nooit afgekomen) die in xml uitpoept en wat clientside naar xhtml werd geconverteerd. Het moeilijkste vond ik altijd het juiste datatype gebruiken, en dan bedoel ik wat Gordijnstok zegt. Vaak wil je gegevens uniform houden omdat anders je geen nette scheiding aanbrengt (dan kan je ook net zo goed geen xml gebruiken). Ik werkte dan vaak met javascript wat je nog een hoop vrijheid geeft, maar anders is het toch lastig om bepaalde dingen gedaan te krijgen.

Verwijderd

Op het moment ben ik toevallig bezig met een applicatie die een combinatie van XSLT/XML en PHP gebruikt.

Ik denk dat het voornamelijk van je doel afhangt. Is je doel domweg het anders orderen van informatie danwel de weergave ervan, dan lijkt XML/XSLT mij redelijk afdoende. Zeker als er bijvoorbeeld een eis is dat klanten invloed hebben op de layout (dmv. templates).

In het systeem waar ik momenteel mee bezig ben, wordt PHP gebruikt om de zwaktes van XML op te vangen, zoals bijvoorbeeld het snel kunnen zoeken of orderen van gegevens. Voor de weergave wordt louter XML/XSLT gebruikt (alhoewel de transformaties zelf wel in PHP uitgevoerd worden, en niet clientside).

Dat lijkt mij ook de juiste wijze om het te gebruiken. XML/XSLT is imo echt bedoelt voor presentatie (scheiden data/layout) en niet voor logica.
Pagina: 1