Toon posts:

[php+mysql+xml+xsl(t)] goede tutorials

Pagina: 1
Acties:

Verwijderd

Topicstarter
hoi allemaal,

de laatste tijd ben ik mijzelf een beetje aan het verdiepen in xml en xsl(t). er is echter 1 punt dat ik nog in geen enkele tutorial heb gevonden.

het gaat dan over de combinatie van php, mysql, xml en xslt. ik heb na een tijdje denken (ik kon het nergens vinden) bedacht dat het bij bijv. een guestbook als volgt moet werken. klopt dit een beetje?

je hebt een php-bestand waar een xml bestand wordt gegenereert met data uit de database. een bestand met xslt (of xsl? ik begrijp het verschil niet)om alles om te zetten naar een layout.

dan zijn er twee dingen waar ik mee zit. ten eerste, hoe werkt dat met formulieren? ten tweede, hebben jullie wat links die deze combinatie van technieken beschrijft?

Verwijderd

Topicstarter
die sites ken ik wel, maar ik bedoelde eigenlijk links naar specifieke artikelen over deze combinatie. want die heb ik tot zover niet kunnen vinden, maar ik zal morgen verder kijken

  • chem
  • Registratie: Oktober 2000
  • Laatst online: 27-08 13:53

chem

Reist de wereld rond

ik ben geen XML goeroe :)

maar je vraag is me niet vreemd. wat je wil weten volgens mij:
XML is een tussenfase. XSLT maakt die tussenfase 'op' naar HTML bv.

Je input naar je PHP script zou het mooist ook dmv. XML moeten; edoch geen enkele browser verstuurt XML data :)

Je zou ervoor kunnen kiezen een HTTP2XML laag ertussen te plaatsen, waardoor alle HTTP input naar nette XML word omgezet. Je 'core' hoeft dus verder alleen maar XML te kennen als input en output...

Klaar voor een nieuwe uitdaging.


Verwijderd

Op zaterdag 06 april 2002 21:00 schreef YaZe het volgende:
die sites ken ik wel, maar ik bedoelde eigenlijk links naar specifieke artikelen over deze combinatie. want die heb ik tot zover niet kunnen vinden, maar ik zal morgen verder kijken
Wat is het probleem dan :?. Als je de afzonderlijke artikelen doorleest kan je toch zelf de combinatie maken. Als je vragen hebt over de combinatie kan je ze hier natuurlijk ook altijd stellen ;).

Verwijderd

Topicstarter
Op zaterdag 06 april 2002 21:08 schreef chem ongeveer wat ik wilde weten
Klopt het als ik zeg dat de hele structuur dan in 3 lagen te verdelen is? Zoals hieronder:
code:
1
2
3
4
5
   XSLT
     |
    XML
     |
   MYSQL

Als dat het geval is weet ik in ieder geval waarnaar ik moet zoeken.

  • CyberSnooP
  • Registratie: Augustus 2000
  • Laatst online: 08-09 20:35

CyberSnooP

^^^^ schrijft --->

Tussen MySQL en XML zit waarschijnlijk je PHP om de juiste XML te vormen.

|_____vakje______|


  • Orphix
  • Registratie: Februari 2000
  • Niet online
Op zondag 07 april 2002 14:54 schreef YaZe het volgende:

[..]

Klopt het als ik zeg dat de hele structuur dan in 3 lagen te verdelen is? Zoals hieronder:
code:
1
2
3
4
5
   XSLT
     |
    XML
     |
   MYSQL

Als dat het geval is weet ik in ieder geval waarnaar ik moet zoeken.
Vaak wordt de scheiding weergegeven in 3 componenten
code:
1
data <-> code (business logic of andere buzz) <-> presentatie

In jouw specifieke geval is het dus
code:
1
MySQL <-> PHP <-> XML/XSLT

XML en XSLT zorgen beiden namelijk voor de presentatie.

  • CyberSnooP
  • Registratie: Augustus 2000
  • Laatst online: 08-09 20:35

CyberSnooP

^^^^ schrijft --->

Let wel dat XML helemaal niet specifiek bedoelt is voor het presentatie deel.

XML is een data-structureringstaal die je zou kunnen gebruiken om uitvoergegevens logisch door te geven aan een systeem (zoals XSLT) wat er een werkelijke presentatie van maakt.

XML zou je net zo goed kunnen gebruiken voor een caching laag van je gastenboek gegevens die tussen de MySQL en de PHP in ligt.

Ik ben (als niet-XML-expert) van mening dat je XML niet snel nodig hebt bij kleinschalige projectjes die gegevens voornamelijk intern beheren / gebruiken. Bij communicatie tussen verschillende projecten of onderdelen van een groter project wordt XML pas 'echt' handig (IMHO).

|_____vakje______|


  • Orphix
  • Registratie: Februari 2000
  • Niet online
Op zondag 07 april 2002 15:06 schreef CyberSnooP het volgende:
Let wel dat XML helemaal niet specifiek bedoelt is voor het presentatie deel.
Dat ben ik met je eens, maar in dit specifieke geval wordt het voornamelijk gebruikt om tot een presentatie te komen (mbv XSLT). Je kan het zien als een veredelde HTML. Daarom vind ik die daar het best passen. Het is namelijk geen onderdeel van de data of logic imho.

Verwijderd

Topicstarter
Thx allemaal. Het is me nu ongeveer duidelijk. Verder moet ik er met tutorials wel uitkomen lijkt me zo :)

Verwijderd

Topicstarter
Een follow-up vraagje.

Ik heb nu een goed artikel gevonden op devshed:

http://www.devshed.com/Server_Side/XML/XSLTrans/print

Als ik echter het volgende probeer:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php

// the files
$xmlfile = "person.xml";
$xslfile = "person.xsl";

// create the XSLT processor
$xslthandler = xslt_create() or die("Houston, we have a problem. No XSLT
handler available. Mission aborted.");

// process the two files to get the desired output
xslt_run($xslthandler, $xslfile, $xmlfile);

// get and print the result
echo xslt_fetch_result($xslthandler);

// free the resources occupied by the handlers
xslt_free($xslthandler);

?>

dan geeft hij als error:

Fatal error: cannot open file 'C:/apache/php/person.xsl' in C:\apache\htdocs\xml\person.php on line 12

line 12 is die van xslt_run

Hoe kan dit? De eerste manier die hij namelijk noemt, werkt wel:
code:
1
2
3
4
5
6
7
8
9
10
11
12
<?php

// store XML and XSL content as variables
$xmlstring = join('', file('person.xml'));
$xslstring = join('', file('person.xsl'));

// call the XSLT processor directly
xslt_process($xslstring, $xmlstring, $result);

// output the result
echo $result;
?>

  • Rense Klinkenberg
  • Registratie: November 2000
  • Laatst online: 09-08 19:19
Ik zie je probleem niet helemaal :? Je hebt 2 manieren, waarvan er een niet helemaal goed werkt, maar de andere werkt wel goed. Dan gebruik je die manier toch?

Je moet er bij php rekening mee houden dat alle xml en xslt support experimental is. Ga er dus ook niet van uit dat een normaal web-hopsting bedrijf die extensie zomaar zal meecompileren.

Een andere manier waarop het exprimental zich manifesteerd is het niet goed werken van alle functies. Vooral functies die files direct in zouden moeten lezen, blijken nooit goed te werken. 't enige wat je dan kan doen, is kijken of het in de cvs versie ook nog zo is en eventueel een bugje melden (als dat nog niet gedaan is).

Conclusie is eigenlijk dat dat xml en xslt gedoe allemaal heel erg mooi is en ook superfijn om mee te werken, maar dat het nog bepaald niet voor 100% geimplementeerd is in php.
Pagina: 1