Helpmij.nl
Helpmij.nl
Helpmij.nl

Quote

Weergeven resultaten 1 tot 16 van 16

Onderwerp: xml tonen op site

  1. #1
    Vraag is niet opgelost

    xml tonen op site

    Beste allemaal,

    Ik help een beetje mee aan het onderhouden (vrijwillig) van de site van de plaatselijke volleybalclub, nu biedt de limburgse volleybalbond op hun site de uitslagen van de wedstrijden aan in XML (wekelijks geupdate). Hoe kunnen wij deze xml "leesbaar" maken voor onze site-bezoekers ? Dat zou ons een pak werk uitsparen, want nu verwerken wij de uitslagen en rangschikkingen voor alle ploegen (9) na elk weekend nog manueel !

    Hier is een voorbeeld van de xml file aangeboden door de limburgse volleybalbond :
    http://www.volleylimburg.be/Competit...l.php?reeks=1H

    Hopelijk kunnen jullie ons helpen.

    Groeten

  2. #2
    We hebben het inmiddels klaargekregen om de data te tonen in een webpagina dmv volgende code :

    <html>

    <body>
    <xml
    src="http://www.volleylimburg.be/Competitie/XML/wedstrijden_xml.php?reeks=1D"
    id="xmldso"
    async="false">
    </xml>

    <table datasrc="#xmldso" width="100%" border="1">

    <thead>
    <th>Datum</th>
    <th>aanvangsuur</th>
    <th>thuisploeg</th>
    <th>bezoekersploeg</th>
    </thead>

    <tr align="left">
    <td><span datafld="datum"></span></td>
    <td><span datafld="aanvangsuur"></span></td>
    <td><span datafld="thuisploeg"></span></td>
    <td><span datafld="bezoekersploeg"></span></td>
    </tr>
    </table>

    </body>
    </html>

    Weet er misschien iemand hoe we enkel de rijen kunnen laten zien die "uvoc uikhoven" bevatten ?

  3. #3
    Mega Senior Johantrax's avatar
    Geregistreerd
    18 oktober 2006
    Locatie
    Gent
    Die linked datasource (je huidige manier van weergeven) werkt blijkbaar enkel in Internet Explorer.
    Hebben jullie op je eigen site beschikking over PHP? Dan kan ik wel zeker iets in elkaar steken. Ik zal ook even opzoeken of er een zuiver XML/XSLT-manier is.

    Om te testen of je PHP hebt, maak je een volgend bestand aan, dat je opslaat als info.php
    PHP Code:
    1
    2
    3
    
    <?php
    phpinfo();
    ?>
    Zet dat bestand op je server en als het goed is krijg je een hele lijst met instellingen en variabelen te zien. Als je server geen PHP ondersteund krijg je of een vraag om het bestand op te slaan, of de 3 regels code als gewone tekst te zien.

    --Johan
    2 + 2 = 5 within a large range of 2

  4. #4
    oei, dat is ook niet de bedoeling, dat het enkel in IE te zien is.
    helaas geen php ter beschikking.

  5. #5
    Mega Senior Johantrax's avatar
    Geregistreerd
    18 oktober 2006
    Locatie
    Gent
    Wat jij wil kan met XIncludes en schema's opgelost worden, helaas is hier nog geen ondersteuning voor in de huidige browsers...

    2 andere mogelijkheden waar ik momenteel aan denk:
    * Javascript: ik weet dat je met javascript zeker HTMLdocumenten kan parsen en wijzigen, hoe zal me echter wat puzzelwerk kosten. Ik ben niet zeker dat je een pagina van een andere server op die manier kan parsen... Misschien weten de mensen op het JavaScriptforum hier meer over ?
    * Flash: ik kan xml met flash parsen, en als ik me niet vergis kan flash html schrijven. Enkel weet ik ook hier niet of het mogelijk is om een file van een andere server zomaar in te lezen...

    --Johan
    2 + 2 = 5 within a large range of 2

  6. #6
    Ik heb iets met een javascript gevonden denk ik.
    Je moet een xml-file hebben (in ons geval van de volleybalbond) en een xsl-file voor de opmaak :

    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:template match="/">
    <html>
    <body>
    <h2>Kalender</h2>
    <table border="1">
    <tr bgcolor="#9acd32">
    <th align="left">Datum</th>
    <th align="left">Uur</th>
    <th align="left">Thuisploeg</th>
    <th align="left">Bezoekers</th>
    </tr>
    <xsl:for-each select="kalender/wedstrijd[thuisploeg='Uvoc Uikhoven' or bezoekersploeg='Uvoc Uikhoven']">

    <tr>
    <td><xsl:value-of select="datum" /></td>
    <td><xsl:value-of select="aanvangsuur" /></td>
    <td><xsl:value-of select="thuisploeg" /></td>
    <td><xsl:value-of select="bezoekersploeg" /></td>
    </tr>
    </xsl:for-each>
    </table>
    </body>
    </html>
    </xsl:template></xsl:stylesheet>

    Deze 2 worden dan in het javascript gelinkt (test.html) :

    <html>
    <body>
    <script language="JavaScript" type="text/javascript">

    // Load XML
    var xml = new ActiveXObject("Microsoft.XMLDOM")
    xml.async = false
    xml.load("http://www.volleylimburg.be/Competitie/XML/wedstrijden_xml.php?reeks=1H")

    // Load XSL
    var xsl = new ActiveXObject("Microsoft.XMLDOM")
    xsl.async = false
    xsl.load("http://users.telenet.be/rdms/uvoc/paginas/ploegen/Heren/kalender.xsl")

    // Transform
    document.write(xml.transformNode(xsl))

    </script>
    </body>

    </html>



    We hebben alle files eens op de webspace gezet :
    http://users.telenet.be/rdms/uvoc/pa...eren/test.html
    en nu krijgen we een foutmelding in regel 8 (laden van de xml), terwijl het in preview mode in Dreamweaver wel werkt.

    Heb je enig idee hoe dit komt ?

  7. #7
    Mega Senior Johantrax's avatar
    Geregistreerd
    18 oktober 2006
    Locatie
    Gent
    Die foutmelding slaat op het loadCommando dat je geeft.
    Zoals ik vreesde kan javascript geen file inlezen die op een andere server staat...
    Trouwens... ActiveX is ook IE-only

    Mijn ideeen beginnen zowat uitgeput te raken, maar mocht ik nog op een oplossing stoten, komt ze hier zeker terecht

    --Johan
    2 + 2 = 5 within a large range of 2

  8. #8
    Dus als we xml-file(s) van de volleybalbond na ieder weekend naar onze server uploaden, dan zou het wel kunnen werken ?

  9. #9
    Mega Senior Johantrax's avatar
    Geregistreerd
    18 oktober 2006
    Locatie
    Gent
    Ik vermoed van wel ja, maar dan heb ik denk ik een betere oplossing voor je.

    Als je die xml dan toch naar je eigen server upload kan je gewoon het stylesheet (de .xsd) rechtstreeks daaraan linken. Dan krijg je de juiste weergave in elke browser.

    Het linken doe je door deze regels vaan de xml toe te voegen
    Code:
    <?xml-stylesheet type="application/xml" href="kalender.xsl" ?>
    <!-- voor IE //-->
    <?xml-stylesheet type="text/xsl" href="kalender.xsl" ?>
    Kalender.xsl is hier het bestand met de code zoals jij ze hier gepost had. Voor bvb reeks1H gaat het begin van de xml er dan zo uitzien:
    PHP Code:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    
    <?xml version="1.0" encoding="ISO-8859-1"?>
     
    <?xml-stylesheet type="application/xml" href="kalender.xsl" ?>
    <!-- voor IE //-->
    <?xml-stylesheet type="text/xsl" href="kalender.xsl" ?>
     
    <kalender>
        <wedstrijd>
            <nr>3070</nr>
            <datum>2007-09-08</datum>
            <aanvangsuur>20:00</aanvangsuur>
            <reeks>1H</reeks>
            <thuisploeg>Scana Noliko Maaseik</thuisploeg>
            <bezoekersploeg>KVC Racing Genk B</bezoekersploeg>
            <sporthal>Sporthal KA, Maaseik</sporthal>
        </wedstrijd>
    ...

    Voor je bezoekers maak je dan een links die rechtstreeks naar je eigen xml-bestand verwijst.

    --Johan
    2 + 2 = 5 within a large range of 2

  10. #10
    Dit werkt inderdaad !
    Bedankt voor alle hulp !

  11. #11
    Het werkt momenteel, maar is toch nog een beetje omslachting (xml van alle ploegen downloaden en daarna allemaal aanpassen -de eerste regels toch-)

    Als ik nu ergens een webspace zou vinden die PHP ondersteunt, en enkel de nodige php-pagina's op die webruimte zet om die xml toestanden te laten werken ?
    Is dat een oplossing en hoe moet ik dat aanpakken dan ?
    Laatst aangepast door zero55 : 8 oktober 2007 om 10:11

  12. #12
    Member JJK's avatar
    Geregistreerd
    6 november 2003
    Locatie
    Papendrecht
    Als je PHP tot je beschikking hebt, kan je ook het volgende gebruiken:

    PHP Code:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    
    // Laad je XML in
    $xml = new DOMDocument();
    $xml->load('/path/to/xmlfile.xml');
     
    // Laad je XSLT in
    $xsl = new DOMDocument();
    $xsl->load('/path/to/xslfile.xsl');
     
    // Maak een XSLTProcessor aan en importeer je XSLT
    $proc = new XSLTProcessor();
    $proc->importStyleSheet($xsl);
     
    // Gebruik je XSLT om je XML te parsen, en print de output
    echo $proc->transformToXML($xml);

    Bijbehorende PHP documentatie:
    http://www.php.net/manual/nl/ref.xsl.php
    http://www.php.net/manual/nl/ref.dom.php

    Ik weet niet meer of je hier nog aparte modules voor nodig hebt.

    Edit:
    Dit zorgt ervoor dat je gewoon HTML naar de browser stuurt ipv XML+XSLT, dus als je XSL-file goed is, werkt dit met iedere browser.

    Edit 2: Oeps, je vorige post niet gezien. Je hebt hier inderdaad wel PHP voor nodig, en ondersteuning van PHP voor DOMDocument en XSLTProcessor
    Laatst aangepast door JJK : 9 oktober 2007 om 11:00
    Met vriendelijke groet,

    JJK

  13. #13
    ik stamp dit onderwerp even terug naar boven want er zijn vorderingen :

    we hebben nu zelf een osx webserver draaien waar MAMP en Joomla opstaat, kunnen we er nu voor zorgen dat de rangschikkingen automatisch geupdate worden op onze site ?

  14. #14
    We zijn hier nog steeds geen stap verder in...en het constant moeten updaten begint serieus vervelend te worden. Er moet toch rechtstreeks iets met die XML of RSS te doen zijn wat de volleybalbond aanbied ?!? Waarom zouden ze hem anders aanbieden ??
    Echt niemand een ideetje ?

  15. #15
    Junior Member
    Geregistreerd
    29 december 2009

    Saxon

    Als je elke browser op elk platform (Unix, Windows, etc) wil ondersteunen en geen PHP of ASP op de server hebt, zou je op de eigen pc de html pagina moeten genereren.
    Je hebt nodig:
    1 - je xml data
    2 - een stylesheet voor de vormgeving van de table
    3 - saxon gebruiken in een .bat bestand
    4 - de html output op je website publiceren.

    http://saxon.sourceforge.net

  16. #16
    Senior Member JP Romijn's avatar
    Geregistreerd
    11 december 2007
    Locatie
    Zeeland
    Quote Origineel gepost door zero55 Bekijk Bericht
    We zijn hier nog steeds geen stap verder in...en het constant moeten updaten begint serieus vervelend te worden. Er moet toch rechtstreeks iets met die XML of RSS te doen zijn wat de volleybalbond aanbied ?!? Waarom zouden ze hem anders aanbieden ??
    Echt niemand een ideetje ?
    Er is inderdaad rechtstreeks te doen met de XML en RSS die de website aanbiedt, er zijn verschilllende programma's en plugins die deze feed kunnen gebruiken.
    Maar het rechtstreeks verwerken in een webpagina gaat simpelweg niet zonder een of andere vorm van server side scripting. Met 2 regeltjes PHP op de eigen server zou je het al mogelijk maken om dit bestand te verwerken met javascript.
    Javascript zelf kan de data niet binnenhalen van een andere server (vanwege veiligheidsredenen) en daarom zou je een soort doorgeefluikje in de vorm van PHP moeten maken.
    Theoretisch kan het ook andersom wanneer de volleybalbond een javascriptje op de server had staan waarmee je de data kon binnenhalen en jij dat javascriptje in je site zou importeren.
    Wanneer je zoveel tijd steekt in het aanpassen begrijp ik eerlijk gezegd niet waarom je niet overstapt naar een provider waar je wel server side scripts uit kan voeren. Met PHP kan je heel eenvoudig de XML binnenhalen en omzetten naar HTML.
    Ik vind het überhaupt apart dat je in deze tijd nog een provider hebt waar geen PHP mogelijk is.

    Je zal in dit geval dus altijd gebruik moeten maken van een server die de informatie voor je verwerkt.
    Laatst aangepast door JP Romijn : 31 januari 2010 om 13:43

  17. Dit topic is automatisch gesloten omdat er sinds vier maanden niet meer op gereageerd is.

    Indien gewenst kan de topicstarter een verzoek tot heropening indienen.

Berichtenregels

  • U mag geen nieuwe vragen starten.
  • U mag niet reageren op berichten.
  • U mag geen bijlagen versturen.
  • U mag uw berichten niet bewerken.
  •  
Helpmij.nl
Helpmij.nl

Helpmij.nl en business

Partners
Sponsoren