De situatie:
Op een machine wordt telkens informatie weggeschreven naar een XML bestand (log.xml) Ik heb een stylesheet gemaakt zodat ik die informatie netjes op een webpagina kan weergeven.
Het log bestand bevat onder meer de tag <info> Hier wordt enkel een cijfer bewaard. Voor de gebruiker is het nogal omslachtig om uit te zoeken wat dit cijfer betekend.
In een ander bestand wil ik dus de betekenis van dit cijfer uitleggen. (extendedinfo.xml). Zodat op de webpagina de uitleg verschijnt ipv het cijfer.
Probleem:
Hoe moet ik nu de stylesheet aanpassen zodat de webpagina de informatie van het cijfer ophaalt uit het 2e xml bestand?
De opbouw van beide XML bestanden kan aangepast worden.
Inhoud van het bestand log.xml :
inhoud van het bestand extrainfo.xml
Gewenste resultaat
result.xml:
de info tag uit log.xml wordt ingevuld met extra informatie uit extrainfo.xml
Deze informatie moet weergegeven worden op een pagina. Het bestand result.xml moet in feite niet aangemaakt worden? Als op de webpagina de extra info weergegeven wordt, is dit voldoende.
Mijn eigen probeersel:
Maar of dit de exacte manier is, weet ik niet. In 1 v/d geraadpleegde bronnen wordt er gesproken om gebruik te maken van Xinclude. Maar volgens Google heb je daarvoor een parser nodig. Dit kan ik niet gebruiken.
Moet ik wel deze manier gebruiken?
Iemand een idee hoe ik het zou moeten oplossen?
1 GOT-topic (3e link onderaan) maakt een nieuw XML bestand aan. Maar de structuur verschilt compleet.
http://www.stylusstudio.com/xmldev/200409/post20170.html
http://www.w3.org/TR/xinclude/
[rml][ XSL / XML] Gegevens uit verschillende XML documenten halen[/rml]
[rml][ XML] Includes en inhoudsopgave[/rml]
Op een machine wordt telkens informatie weggeschreven naar een XML bestand (log.xml) Ik heb een stylesheet gemaakt zodat ik die informatie netjes op een webpagina kan weergeven.
Het log bestand bevat onder meer de tag <info> Hier wordt enkel een cijfer bewaard. Voor de gebruiker is het nogal omslachtig om uit te zoeken wat dit cijfer betekend.
In een ander bestand wil ik dus de betekenis van dit cijfer uitleggen. (extendedinfo.xml). Zodat op de webpagina de uitleg verschijnt ipv het cijfer.
Probleem:
Hoe moet ik nu de stylesheet aanpassen zodat de webpagina de informatie van het cijfer ophaalt uit het 2e xml bestand?
De opbouw van beide XML bestanden kan aangepast worden.
Inhoud van het bestand log.xml :
code:
1
2
3
4
5
| <?xml version="1.0" ?> <messages> <message><id>0</id><info>2</info><duration>107</duration></message> <message><id>0</id><info>1</info><duration>1</duration></message> </messages> |
inhoud van het bestand extrainfo.xml
code:
1
2
3
4
5
6
| <?xml version="1.0" encoding="UTF-8"?> <extended> <info="1">Eerste startup</id> <info="2">Reboot machine</id> <info="3">Connection lost</id> </extended> |
Gewenste resultaat
result.xml:
code:
1
2
3
4
| <messages> <message><id>0</id><info>Reboot Machine</info><duration>107</duration></message> <message><id>0</id><info>Eerste startup</info><duration>1</duration></message> </messages> |
de info tag uit log.xml wordt ingevuld met extra informatie uit extrainfo.xml
Deze informatie moet weergegeven worden op een pagina. Het bestand result.xml moet in feite niet aangemaakt worden? Als op de webpagina de extra info weergegeven wordt, is dit voldoende.
Mijn eigen probeersel:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| <?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:variable name="codes" select="document('extendedinfo.xml')" />
<xsl:template match="/messages">
<xsl:element name="messages">
<xsl:apply-templates/>
</xsl:element>
</xsl:template>
<xsl:template match="message">
<xsl:element name="message">
<!-- xsl:element name="info"><xsl:value-of select="."/>
</xsl:attribute>
<xsl:attribute name="info"><xsl:value-of select="$codes/extended/[@id=current()]"/>
</xsl:attribute>
<!-- create attribute with the value from the codes-file -->
</xsl:element>
</xsl:template>
</xsl:stylesheet> |
Maar of dit de exacte manier is, weet ik niet. In 1 v/d geraadpleegde bronnen wordt er gesproken om gebruik te maken van Xinclude. Maar volgens Google heb je daarvoor een parser nodig. Dit kan ik niet gebruiken.
Moet ik wel deze manier gebruiken?
Iemand een idee hoe ik het zou moeten oplossen?
1 GOT-topic (3e link onderaan) maakt een nieuw XML bestand aan. Maar de structuur verschilt compleet.
http://www.stylusstudio.com/xmldev/200409/post20170.html
http://www.w3.org/TR/xinclude/
[rml][ XSL / XML] Gegevens uit verschillende XML documenten halen[/rml]
[rml][ XML] Includes en inhoudsopgave[/rml]
[ Voor 14% gewijzigd door Verwijderd op 13-03-2006 10:24 ]