Heeft iemand hier ervaring met het samenvoegen van 2 xml files waarvan er 1 extern is met behulp van de sablotron xslt-parser?
Wat ik heb is een XML/RDF-meta bestand (A) welke gaat over een XML bestand met content (B ), welke mogelijk extern kan zijn (niet op de zelfde server). Meta informatie uit het XML/RDF bestand (A) dient samengevoegd te worden met het XML bestand (B ) met als resultaat een presenteerbare webpagina (waar bijvoorbeeld meta info als auteur zichtbaar wordt gemaakt).
Op de php.net site is een voorbeeld (zie reactie van 'ohlesbeauxjours at yahoo dot fr') te vinden, welke ik iets heb aan gepast (de url in het xml bestand bevat een complete uri, inclusief http://) wat in principe de oplossing is voor mijn probleem. In de variabele $c krijg ik wel de betreffende pagina binnen, de titel echter wordt niet weergegeven, hetgeen wel het resultaat zou zijn van deze code.
de gebruikte php versie op de server is: 4.3.6
Weet iemand wat ik verkeerd doe? Bij voorbaat dank.
Wat ik heb is een XML/RDF-meta bestand (A) welke gaat over een XML bestand met content (B ), welke mogelijk extern kan zijn (niet op de zelfde server). Meta informatie uit het XML/RDF bestand (A) dient samengevoegd te worden met het XML bestand (B ) met als resultaat een presenteerbare webpagina (waar bijvoorbeeld meta info als auteur zichtbaar wordt gemaakt).
Op de php.net site is een voorbeeld (zie reactie van 'ohlesbeauxjours at yahoo dot fr') te vinden, welke ik iets heb aan gepast (de url in het xml bestand bevat een complete uri, inclusief http://) wat in principe de oplossing is voor mijn probleem. In de variabele $c krijg ik wel de betreffende pagina binnen, de titel echter wordt niet weergegeven, hetgeen wel het resultaat zou zijn van deze code.
de gebruikte php versie op de server is: 4.3.6
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
| <?php // XML content : $xml='<?xml version="1.0"?> <page url="http://www.w3.org/TR/REC-xml/">W3C Recommendation page</page>'; // XSL content : $xsl='<?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html" encoding="ISO-8859-1" indent="no" omit-xml-declaration="yes" standalone="yes" media-type="text/html"/> <xsl:template match="/"> The title is : <xsl:value-of select="document(page/@url)/html/head/title"/> </xsl:template> </xsl:stylesheet>'; // TRANSFORMATION : function handGetAll($processor,$scheme,$rest) { $rest=substr($rest,2); switch($scheme) { case 'http': $file = fopen("http://".$rest,"r"); while(!feof($file)) $c .= fgets($file, 1024); fclose($file); return $c; break; } } $xh = xslt_create(); xslt_set_scheme_handlers($xh,array("get_all" => "handGetAll")); echo xslt_process($xh,'arg:/_xml', 'arg:/_xsl',NULL,array("/_xml"=>$xml,"/_xsl"=>$xsl)); xslt_free($xh); ?> |
Weet iemand wat ik verkeerd doe? Bij voorbaat dank.
[ Voor 39% gewijzigd door :murb: op 21-11-2004 14:59 ]