Gegevens parsen uit XML en op website aanbieden

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • MintyDoerak
  • Registratie: September 2001
  • Laatst online: 10-09 23:54
Ik zou graag een selectie wetten willen aanbieden op een Wordpress website. Het gaat om openbare informatie die door de overheid wordt aangeboden. Het betreft een groot aantal XML-bestanden die regelmatig worden geüpdate. Het is dus de bedoeling om de dynamische content om te zetten naar html (serverside en vooraf) of php (client side?). Ik heb al het een en ander gelezen maar ik ben een leek op dit gebied en zie even door de bomen het bos niet meer. Mogelijk biedt XSLT een oplossing maar veel van wat ik daarover heb gelezen betrof oude informatie, dus wellicht is dat achterhaald. Graag een duw in de juiste richting, dan kan ik hopelijk weer even verder.

Hieronder een voorbeeld XML-file.


code: filename
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
<?xml version="1.0" encoding="UTF-8"?><toestand xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" bwb-ng-vast-deel="http://wetten.overheid.nl/id/BWBR0011486/2000-07-16/0" xsi:noNamespaceSchemaLocation="https://repository.officiele-overheidspublicaties.nl/Schema/BWB-toestand/2015-2/xsd/toestand_2015-2.xsd" bwb-id="BWBR0011486" inwerkingtreding="2000-07-16"><bwb-inputbestand/><bwb-wijzigingen/><redactionele-correcties/><wetgeving dtdversie="2.0" soort="beleidsregel" xml:lang="nl" stam-id="3556273" versie-id="5339362" id="C5532451" label-id="3536244" inwerkingtredingsdatum="2000-07-16">
  <intitule bwb-ng-variabel-deel="/Intitule" stam-id="3556293" versie-id="5339282" id="C5532371" label-id="3536164" inwerking="2000-07-16" status="goed">Beleidsregels vaststellen voorwaarden bedoeld in artikel 31 Elektriciteitswet 1998 </intitule>
  <citeertitel bwb-ng-variabel-deel="/Citeertitel" status="officieel" stam-id="3556303" versie-id="5339292" id="C5532381" label-id="3536174" inwerking="2000-07-16">Beleidsregels vaststellen voorwaarden bedoeld in artikel 31 Elektriciteitswet 1998</citeertitel>
  <regeling>
    <aanhef bwb-ng-variabel-deel="/Aanhef" stam-id="3556313" versie-id="5339302" id="C6748501" label-id="3536184" inwerking="2000-07-16" status="goed">
  <wie>De Minister van Economische Zaken;</wie>
  <considerans>
    <considerans.al bevat="grondslag">Gelet op de <extref verwijzing-id="1711712" doc="jci1.3:c:BWBR0009755&amp;artikel=6" bwb-id="BWBR0009755" label-id="2758104">artikelen 6</extref> en <extref verwijzing-id="1711713" doc="jci1.3:c:BWBR0009755&amp;artikel=36" bwb-id="BWBR0009755" label-id="2758634">36 van de Elektriciteitswet 1998</extref> en 4:81 van de <extref verwijzing-id="1711714" doc="jci1.3:c:BWBR0005537" bwb-id="BWBR0005537" label-id="2816734">Algemene wet bestuursrecht</extref>;</considerans.al>
    <considerans.al bevat="gehoord">Gehoord de directeur-generaal van de Nederlandse Mededingingsautoriteit,</considerans.al>
  </considerans>
  <afkondiging>
    <al>Besluit: </al>
  </afkondiging>
</aanhef>
    <regeling-tekst>
      <artikel bwb-ng-variabel-deel="/Artikel1" stam-id="3556323" versie-id="5339312" id="C6748471" label-id="3536194" inwerking="2000-07-16" label="Artikel 1" bron="Stcrt.2000-134" effect="nieuwe-regeling" ondertekening_bron="2000-07-11" publicatie_bron="2000-07-14" publicatie_iwt="2000-07-14" status="goed">
  <kop>
    <label>Artikel</label>
    <nr>1</nr>
  </kop>
  <lid bwb-ng-variabel-deel="/Artikel1/Lid1" label-id="3536194L1">
    <lidnr>1</lidnr>
    <al>De directeur van de dienst stelt de netbeheerder van het landelijk hoogspanningsnet in staat zijn verbintenissen uit overeenkomsten, gesloten met de aangewezen vennootschap als bedoeld in <extref verwijzing-id="1711701" doc="jci1.3:c:BWBR0009755&amp;artikel=96" bwb-id="BWBR0009755" label-id="2763664">artikel 96 van de Elektriciteitswet 1998</extref>, na te komen, met dien verstande dat hij toelaat dat de netbeheerder van het landelijk hoogspanningsnet tot de hierna te noemen tijdstippen op aanvraag ten hoogste de hierna te noemen hoeveelheid capaciteit voor het transport van elektriciteit kan toewijzen aan de aanvrager, indien deze aanvrager verbintenissen tot invoer van elektriciteit nakomt die voortvloeien uit een of meer van de hierna te noemen overeenkomsten, zoals deze luidden op 1 augustus 1998:</al>
    <lijst nr-sluiting="">
      <li bwb-ng-variabel-deel="/Artikel1/Lid1/Onderdeela">
        <li.nr>a.</li.nr>
        <al> voor zover het de in 1989 tussen de aangewezen vennootschap enerzijds en Electricité de France anderzijds gesloten overeenkomst betreft: 600 MW voor de periode tot en met 31 maart 2002 en 750 MW voor de periode van 1 april 2002 tot en met 31 maart 2009;</al>
      <meta-data><jcis><jci versie="1.3" verwijzing="jci1.3:c:BWBR0011486&amp;artikel=1&amp;lid=1&amp;o=a&amp;z=2000-07-16&amp;g=2000-07-16" onderdeel="o=a"/></jcis></meta-data></li>
      <li bwb-ng-variabel-deel="/Artikel1/Lid1/Onderdeelb">
        <li.nr>b.</li.nr>
        <al> voor zover het de in 1989 tussen de aangewezen vennootschap enerzijds en Preussen Elektra A.G. anderzijds gesloten overeenkomst betreft: 300 MW voor de periode tot en met 31 december 2005;</al>
      <meta-data><jcis><jci versie="1.3" verwijzing="jci1.3:c:BWBR0011486&amp;artikel=1&amp;lid=1&amp;o=b&amp;z=2000-07-16&amp;g=2000-07-16" onderdeel="o=b"/></jcis></meta-data></li>
      <li bwb-ng-variabel-deel="/Artikel1/Lid1/Onderdeelc">
        <li.nr>c.</li.nr>
        <al> voor zover het de in 1990 tussen de aangewezen vennootschap enerzijds en Vereinigte Elektrizitätswerke Westfalen A.G. anderzijds gesloten overeenkomst betreft: 600 MW voor de periode tot en met 31 maart 2003.</al>
      <meta-data><jcis><jci versie="1.3" verwijzing="jci1.3:c:BWBR0011486&amp;artikel=1&amp;lid=1&amp;o=c&amp;z=2000-07-16&amp;g=2000-07-16" onderdeel="o=c"/></jcis></meta-data></li>
    </lijst>
  <meta-data><jcis><jci versie="1.3" verwijzing="jci1.3:c:BWBR0011486&amp;artikel=1&amp;lid=1&amp;z=2000-07-16&amp;g=2000-07-16" onderdeel="lid=1"/></jcis></meta-data></lid>
  <lid bwb-ng-variabel-deel="/Artikel1/Lid2" label-id="3536194L2">
    <lidnr>2</lidnr>
    <al>Een aanvraag om transportcapaciteit op grond van het eerste lid heeft betrekking op de toewijzing van capaciteit:</al>
    <lijst nr-sluiting="">
      <li bwb-ng-variabel-deel="/Artikel1/Lid2/Onderdeela">
        <li.nr>a.</li.nr>
        <al> voor een periode van ten hoogste drie maanden en</al>
      <meta-data><jcis><jci versie="1.3" verwijzing="jci1.3:c:BWBR0011486&amp;artikel=1&amp;lid=2&amp;o=a&amp;z=2000-07-16&amp;g=2000-07-16" onderdeel="o=a"/></jcis></meta-data></li>
      <li bwb-ng-variabel-deel="/Artikel1/Lid2/Onderdeelb">
        <li.nr>b.</li.nr>
        <al> voor ten hoogste de hoeveelheid uren die in de periode van 1 augustus 1999 tot en met 1 augustus 2000 in de overeenkomende periode van drie maanden door de netbeheerder van het landelijk hoogspanningsnet werden toegewezen voor de nakoming van de desbetreffende overeenkomst.</al>
      <meta-data><jcis><jci versie="1.3" verwijzing="jci1.3:c:BWBR0011486&amp;artikel=1&amp;lid=2&amp;o=b&amp;z=2000-07-16&amp;g=2000-07-16" onderdeel="o=b"/></jcis></meta-data></li>
    </lijst>
  <meta-data><jcis><jci versie="1.3" verwijzing="jci1.3:c:BWBR0011486&amp;artikel=1&amp;lid=2&amp;z=2000-07-16&amp;g=2000-07-16" onderdeel="lid=2"/></jcis></meta-data></lid>
  <lid bwb-ng-variabel-deel="/Artikel1/Lid3" label-id="3536194L3">
    <lidnr>3</lidnr>
    <al>Indien degene aan wie de capaciteit op grond van het eerste lid toegewezen is, weet dat hij de hem toegewezen capaciteit gedurende een bepaalde periode niet zal gebruiken, meldt hij dat aan de netbeheerder van het landelijk hoogspanningsnet overeenkomstig de procedure die deze hanteert inzake capaciteit die is toegewezen maar die niet wordt gebruikt. Na deze melding vervalt de toewijzing van de desbetreffende capaciteit voor de aangegeven periode.</al>
  <meta-data><jcis><jci versie="1.3" verwijzing="jci1.3:c:BWBR0011486&amp;artikel=1&amp;lid=3&amp;z=2000-07-16&amp;g=2000-07-16" onderdeel="lid=3"/></jcis></meta-data></lid>
  <lid bwb-ng-variabel-deel="/Artikel1/Lid4" label-id="3536194L4">
    <lidnr>4</lidnr>
    <al>Indien de aangewezen vennootschap de overeenkomsten, bedoeld in het eerste lid, overdraagt aan een andere natuurlijke persoon of rechtspersoon die een aanvraag doet om toewijzing van transportcapaciteit, kan de netbeheerder van het landelijk hoogspanningsnet de in het eerste lid bedoelde hoeveelheid capaciteit toewijzen aan die andere natuurlijke persoon of rechtspersoon. Het tweede en derde lid zijn van overeenkomstige toepassing.</al>
  <meta-data><jcis><jci versie="1.3" verwijzing="jci1.3:c:BWBR0011486&amp;artikel=1&amp;lid=4&amp;z=2000-07-16&amp;g=2000-07-16" onderdeel="lid=4"/></jcis></meta-data></lid>
  <lid bwb-ng-variabel-deel="/Artikel1/Lid5" label-id="3536194L5">
    <lidnr>5</lidnr>
    <al>De directeur van de dienst besluit in beslissingen op bezwaar of in andere besluiten overeenkomstig dit artikel. </al>
  <meta-data><jcis><jci versie="1.3" verwijzing="jci1.3:c:BWBR0011486&amp;artikel=1&amp;lid=5&amp;z=2000-07-16&amp;g=2000-07-16" onderdeel="lid=5"/></jcis></meta-data></lid>
<meta-data><brondata><oorspronkelijk><publicatie effect="nieuwe-regeling" soort="Stcrt" urlidentifier=""><publicatiejaar>2000</publicatiejaar><publicatienr>134</publicatienr><uitgiftedatum isodatum="2000-07-14">14-07-2000</uitgiftedatum><ondertekeningsdatum isodatum="2000-07-11">11-07-2000</ondertekeningsdatum><kenmerk>E/EM 00044462</kenmerk></publicatie></oorspronkelijk><inwerkingtreding><publicatie effect="nieuwe-regeling" soort="Stcrt" urlidentifier=""><publicatiejaar>2000</publicatiejaar><publicatienr>134</publicatienr><uitgiftedatum isodatum="2000-07-14">14-07-2000</uitgiftedatum><ondertekeningsdatum isodatum="2000-07-11">11-07-2000</ondertekeningsdatum><kenmerk>E/EM 00044462</kenmerk></publicatie><inwerkingtreding.datum isodatum="2000-07-16">16-07-2000</inwerkingtreding.datum></inwerkingtreding></brondata><jcis><jci versie="1.0" verwijzing="1.0:c:BWBR0011486&amp;artikel=1&amp;g=2000-07-16" onderdeel="artikel=1" korte-verwijzing="1.0:c:BWBR0011486&amp;artikel=1"/><jci versie="1.3" verwijzing="jci1.3:c:BWBR0011486&amp;artikel=1&amp;z=2000-07-16&amp;g=2000-07-16" onderdeel="artikel=1" korte-verwijzing="jci1.3:c:BWBR0011486&amp;artikel=1"/></jcis></meta-data></artikel>
</regeling-tekst>
    <regeling-sluiting bwb-ng-variabel-deel="/SlotformulierEnOndertekening" stam-id="3556363" versie-id="5339352" id="C5532441" label-id="3536234" inwerking="2000-07-16" bron="Stcrt.2000-134" effect="nieuwe-regeling" ondertekening_bron="2000-07-11" publicatie_bron="2000-07-14" publicatie_iwt="2000-07-14" status="goed">
  <slotformulering>
    <al>Deze beleidsregels zullen met de toelichting in de Staatscourant worden geplaatst. Een afschrift daarvan zal worden gezonden aan de directeur van de Dienst uitvoering en toezicht Elektriciteitswet en de directeur-generaal van de Nederlandse Mededingingsautoriteit.</al>
  </slotformulering>
  <ondertekenaar>
    <ondertekening> De <functie>Minister</functie> van <organisatie>Economische Zaken</organisatie>, <naam><voornaam>A.</voornaam><achternaam>Jorritsma-Lebbink</achternaam></naam></ondertekening>
  </ondertekenaar>
<meta-data><brondata><oorspronkelijk><publicatie effect="nieuwe-regeling" soort="Stcrt" urlidentifier=""><publicatiejaar>2000</publicatiejaar><publicatienr>134</publicatienr><uitgiftedatum isodatum="2000-07-14">14-07-2000</uitgiftedatum><ondertekeningsdatum isodatum="2000-07-11">11-07-2000</ondertekeningsdatum><kenmerk>E/EM 00044462</kenmerk></publicatie></oorspronkelijk><inwerkingtreding><publicatie effect="nieuwe-regeling" soort="Stcrt" urlidentifier=""><publicatiejaar>2000</publicatiejaar><publicatienr>134</publicatienr><uitgiftedatum isodatum="2000-07-14">14-07-2000</uitgiftedatum><ondertekeningsdatum isodatum="2000-07-11">11-07-2000</ondertekeningsdatum><kenmerk>E/EM 00044462</kenmerk></publicatie><inwerkingtreding.datum isodatum="2000-07-16">16-07-2000</inwerkingtreding.datum></inwerkingtreding></brondata></meta-data></regeling-sluiting>
  </regeling>
<meta-data><brondata><oorspronkelijk><publicatie effect="nieuwe-regeling" soort="Stcrt" urlidentifier=""><publicatiejaar>2000</publicatiejaar><publicatienr>134</publicatienr><uitgiftedatum isodatum="2000-07-14">14-07-2000</uitgiftedatum><ondertekeningsdatum isodatum="2000-07-11">11-07-2000</ondertekeningsdatum><kenmerk>E/EM 00044462</kenmerk></publicatie></oorspronkelijk><inwerkingtreding><publicatie effect="nieuwe-regeling" soort="Stcrt" urlidentifier=""><publicatiejaar>2000</publicatiejaar><publicatienr>134</publicatienr><uitgiftedatum isodatum="2000-07-14">14-07-2000</uitgiftedatum><ondertekeningsdatum isodatum="2000-07-11">11-07-2000</ondertekeningsdatum><kenmerk>E/EM 00044462</kenmerk></publicatie><inwerkingtreding.datum isodatum="2000-07-16">16-07-2000</inwerkingtreding.datum></inwerkingtreding></brondata><jcis><jci versie="1.0" verwijzing="1.0:c:BWBR0011486&amp;g=2000-07-16" onderdeel="wetgeving" korte-verwijzing="1.0:c:BWBR0011486"/><jci versie="1.3" verwijzing="jci1.3:c:BWBR0011486&amp;z=2000-07-16&amp;g=2000-07-16" onderdeel="wetgeving" korte-verwijzing="jci1.3:c:BWBR0011486"/></jcis></meta-data></wetgeving></toestand>

Acties:
  • 0 Henk 'm!

  • DJMaze
  • Registratie: Juni 2002
  • Niet online
Serverside php:
  1. Haal de content op met file_get_contents, curl of fsockopen
  2. Laad de data in simplexml_load_string
  3. Haal er uit wat je nodig hebt
  4. Cache het resultaat voor N uur

Maak je niet druk, dat doet de compressor maar


Acties:
  • +1 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
(@je TopicReport; je topic staat prima hier in PRG)

Je hebt wel eea gevonden zeg je maar laat niet zien wat dan. Ook mis ik alle eigen inzet. Je topic komt nu neer op: ik wil X, weet daar eigenlijk niks van af, wie wil het me uitleggen/voordoen? En dat is niet helemaal de bedoeling hier ;) Graag zou ik je topicstart dan ook aangevuld zien met de eerder genoemde zaken ;)

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • +1 Henk 'm!

  • Vaan Banaan
  • Registratie: Februari 2001
  • Niet online

Vaan Banaan

Heeft ook Apache ontdekt

Ja XSLT lijkt mij de juiste manier.
Je haalt informatie uit de XML en transformeert het naar iets anders

Wel wat leesvoer, maar goed te volgen: http://www.w3schools.com/xml/xsl_intro.asp

w3schools heeft ook een online probeerselding, waarmee je zelf wat kunt knutselen:
http://www.w3schools.com/...atalog&xsltfile=cdcatalog

Een voorbeeld met meer templates: MSDN: Example of Transforming Irregular Data Hierarchies
Hier kun je dan zelf ook mee experimenteren door de XML en XSL te kopieren in de editor

Nu moet je dus zelf uitvingen hoe je met XPath de XML items om kan zetten naar iets wat op http://wetten.overheid.nl/BWBR0011486/2000-07-16 lijkt

500 "The server made a boo boo"


Acties:
  • 0 Henk 'm!

  • Piemol
  • Registratie: Januari 2006
  • Laatst online: 10:42
Ligt er aan hoe complex je de html wilt maken maar grote kans dat het met XSLT het makkelijkste is.

Het ligt er aan wat het doel is van je html pagina's en wat voor soort wijzigingen er zijn bij nieuwe versies van de xml bestanden, maar ik zou het dan ook telkens als nieuwe revisie van een Wordpress pagina, of als nieuwe post opslaan via de Wordpress API.

Acties:
  • 0 Henk 'm!

  • emnich
  • Registratie: November 2012
  • Niet online

emnich

kom je hier vaker?

XSLT is niet zo enorm in ontwikkeling dat de informatie snel verouderd. Als je met PHP werkt heb je geen (makkelijke) toegang tot XSLT 2. Dus de oude voorbeelden die je hebt gelezen die werken nu nog steeds prima.

Begin er eens mee en laat ons dan hier weten als je ergens mee vast loopt.

Acties:
  • 0 Henk 'm!

  • Ventieldopje
  • Registratie: December 2005
  • Laatst online: 23:48

Ventieldopje

I'm not your pal, mate!

Als je de data direct als losse pagina weer wil geven heb je aan XSLT voldoende en dit kun je zelfs client-side afhandelen.

Wil je de data weergeven op een bestaande pagina zou ik aanraden de XML te parsen met bijv. PHP en daarna te verwerken in je pagina.

www.maartendeboer.net
1D X | 5Ds | Zeiss Milvus 25, 50, 85 f/1.4 | Zeiss Otus 55 f/1.4 | Canon 200 f/1.8 | Canon 200 f/2 | Canon 300 f/2.8


Acties:
  • 0 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 06-10 13:59
Als alternatief voor serverside afhandelen kun je natuurlijk ook in je proces dat het verwerken van nieuwe files op zich neemt de omzetting van XML (dmv XSLT of een eigen transformatieproces) naar HTML doen. Dan heb je statische HTML pagina's en die kun je dan gewoon met een willekeurige HTTP server serveren.

https://niels.nu


Acties:
  • 0 Henk 'm!

  • MintyDoerak
  • Registratie: September 2001
  • Laatst online: 10-09 23:54
Heb helaas niet de tijd en kennis om dit zelf af te maken, heb daarom een advertentie in V&A, wellicht dat 1 van jullie mij kan helpen. https://tweakers.net/aanb...en-op-wordpress-site.html
Pagina: 1